Oliver Beckstein edited this page Sep 13, 2018 · 10 revisions


The main development branch (i.e. the tar balls one can download and the corresponding git "master" branch) is supposed to be stable and usable. However, in order to test and introduce new features and improves old ones (while possibly breaking immediate backwards compatibility) before a new release we are doing ongoing development on the development branch (as described under DevelopmentWorkflow).

Everyone is more than welcome to use the development version but you should be aware that you are then first and foremost a alpha-tester: Things may break in horrible ways (but your feedback through the mailing list and the Issue Tracker is much appreciated). (That said, many of the core developers are using the development code for their daily work.)

If you find yourself using the development branch a lot then consider signing up for the developer mailing list where new features and testing of the development code are primarily discussed.

A quick overview over the latest additions to the development branch is provided by the list of commits to the develop branch.

Getting the development branch

The following instructions are for a read-only version of the source code (see git for further details on the git clone command and and DistributedDevelopment for more help):

git clone
cd mdanalysis
git fetch --all
git checkout -b develop origin/develop              # this should switch you to the development branch

You only have to carry out the above commands once.

Let's check that you actually have switched to the development branch: The command

git branch

should show something similar to

* develop

The asterisk in front of develop indicates that you have checked out the development version of MDAnalysis.

You can update it to the very latest version with a simple

git pull

If you want to use the latest officially released version of the source code then switch to the master branch:

git checkout master

You can go back to the development version with

git checkout develop


The MDAnalysis source code repository contains the actual MDAnalysis library and test code. When using the development branch it is a good idea to install both so that you can always run the tests and verify that the current version of the code you're using has not been broken inadvertently.

The following uses python install to mean "install the package in whichever way you normally do". (In particular, as a developer python develop is often a very handy way to work on the code as it it takes changes to the code immediately into account.)

Pre-requisites for development

In order to build from develop you need

  • working C/C++ compiler
  • Python 2.7.x or Python ≥ 3.4
  • Python packages already installed
    • cython
    • numpy

Install the MDAnalysis library

Use pip to build and install; see the docs for pip on how to customize installation.

The library lives in the mdanalysis/package directory.

pip install package/

(Note: the slash / after package is important!)

(Ideally, this should also install additional dependencies but you might want to install numpy, scipy, biopython, netcdf4/hdf5 libraries through your operating systems package management system or use the anaconda distribution.)

Install the test cases

The UnitTests are stored together with test data in mdanalysis/testsuite.

pip install testsuite/

Running tests

More details can be found under UnitTests.

You want to see all tests pass and no ERROR or FAIL (unless the test is marked with "knownfailure").

You can report any problems encountered through the mailing list (preferrably the ones for development) or the Issue Tracker.

Project Information

GNU GPL v2 code license
Labels: python, molecular dynamics, analysis, DCD, CHARMM, LAMMPS, NAMD, Gromacs, computer simulation, atoms, coordinates, trajectory, XTC, Library, object-oriented
Core Developers


Release Notes
Guide for Developers
Google Summer of Code

Code of Conduct


@mdanalysis on Twitter
Downloads (PyPi)
Mailing Lists:
User discussion group
Developer mailing list

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.