Blog

MDAnalysis is a NumFOCUS Sponsored Project!

NumFOCUS Sponsored

MDAnalysis is now a NumFOCUS Sponsored Project! Let us explain who MDAnalysis and NumFOCUS are and what being a sponsored project means:

MDAnalysis is an open source software project that produces the MDAnalysis Python library for the analysis of computer simulations of many-body systems at the molecular scale, spanning use cases from interactions of drugs with proteins to novel materials. It is widely used in the scientific community and is written by scientists for scientists. The MDAnalysis Project is represented by the MDAnalysis Core Developers.

NumFOCUS is an organization that promotes open practices in research, data, and scientific computing by serving as a fiscal sponsor for open source projects and organizing community-driven educational programs. In brief, they provide financial and logistic infrastructure to many open source projects that fulfill important roles in their communities. NumFOCUS is a 501(c)(3) public charity in the United States and it is able to accept donations for and on-behalf of projects and to act as a grantee.

NumFOCUS will accept funds on behalf of the MDAnalysis Project and then make them available to us. By becoming a fiscally sponsored project, we agreed that all software produced under the MDAnalysis umbrella is and will be free Open Source software and that any funds will be spent compliant with NumFOCUS’ tax-exempt status: what this means in practice is that all funds will go to further the growth and well-being of the project.

So if you want to donate to MDAnalysis: you can now do this easily by clicking this button:

Donate Now

More importantly, with NumFOCUS as a partner, MDAnalysis gains a long-term perspective for stable development that becomes less dependent on individuals and academic institutions. It allows the project to obtain its own funding and move in directions that best benefit its community. For example, it will become easier to organize workshops, arrange for developers to travel, and to hire developers.

For users and developers, the way the MDAnalysis Project operates will not change: it remains a friendly and respectful community that welcomes everyone’s contributions and that is committed to producing good software that helps us all do interesting science. But together with NumFOCUS, we will be able to do more than before… stay tuned!

@MDAnalysis/coredevs

Roadmap

Python 2 reaches end of life on 1 January, 2020, according to PEP 373 and python/devguide#344. Many of our dependencies (notably numpy, see their Plan for dropping Python 2.7 support) have ceased Python 2.7 support in new releases or will also drop Python 2.7 in 2020.

We know that science is rolling slowly and surely some scientific projects will continue with Python 2.7 beyond 2020. MDAnalysis has been supporting Python 2 and Python 3 now for a while. However, given how precious developer time is, we also decided to drop support soon after the official Python 2.7 drop date.

Our plan is to give researchers a stable legacy platform and release MDAnalysis 1.0.0 with full Python 2.7 support and tests. However, no major development will continue in 1.0. Issues will only be fixed and backported on a best-effort basis, simply because there are not enough developers to do this work.

We will then work towards MDAnalysis 2.0.0, which will only support Python 3.

Tentative Roadmap

2020 (1st quarter)

  • release 1.0.0 in early 2020 (maybe end of 2019…)
    • 1.x will be the last version of MDAnalysis that fully supports Python 2.7
    • 1.0 will be similar to upcoming 0.21 (i.e., no major annoying API breaks but clean-up and deprecations)
    • development on 1.x will cease with the release of 2.0; we will consider PRs that backport fixes but we will not officially support it after the release of 2.0
  • finalize API decisions for 2.0.0

2020 (2nd quarter)

  • release 2.0.0
    • officially drop Python 2.7 support
    • support all current Python 3.x releases
    • include larger changes/deprecations (API breaks compared to 1.0.0 if necessary, removal of legacy code, etc)
  • code modernization (making use of specific Python 3 constructs) will be ongoing

Comments?

If you have comments or you see problems with this roadmap then please get in touch

@MDAnalysis/coredevs

Google Season of Docs 2019 Technical Writer

Google Season of Docs 2019

This year MDAnalysis is hosting Lily Wang (@lilyminium on GitHub) for the first iteration of Google Season of Docs. She will work with us over the coming months on a user guide for MDAnalysis, structured by topic.

Lily Wang: A User Guide for MDAnalysis

MDAnalysis is a library for the analysis of computational (primarily molecular dynamics, i.e. MD) simulations. Frequently these analyses are rare, novel, or individual enough that they are not immediately available as a predefined function within MDAnalysis. MDAnalysis provides a toolkit for interacting with simulations and constructing new analyses. Lily will create a high-level user guide structured by topic. This user guide will describe the building blocks of the data structures, analysis, topologies, and more. It will be targeted at a general audience; molecular dynamics users will be able to see the machine abstraction and technical considerations (e.g. MemoryReader) under the hood, while developers will be able to gain an understanding of the scientific background.

@lilyminium

Lily Wang is a Ph.D. student at the Australian National University, Canberra. She aims to improve various aspects of molecular dynamics simulation over the course of her degree. During GSoD, she hopes to refine her technical writing skills while contributing to a package that she very much appreciates. In the tattered remnants of her free time, she enjoys reading and wandering around mountains. You can follow her progress on GSoD (and reading) on her blog.

@richardjgowers @orbeckst (mentors)