22. Contributing¶
Up to date information about the development of ESPResSo can be found in the ESPResSo wiki:
proceedings of the ESPResSo meetings
list of planned releases
developer’s guide
The official website at https://espressomd.org provides additional information:
Latest stable release of ESPResSo and older releases
Obtaining development version of ESPResSo
Archives of both developers’ and users’ mailing lists
Registering to mailing lists
22.1. Contributing your own code¶
If you are planning to make an extension to or already have a piece of your own code which could be useful to others, you are very welcome to contribute it to the community. Before you start making any changes to the code, you should fork the espressomd/espresso repository and work in a new branch.
It is also generally a good idea to contact the developers on the mailing lists before you start major coding projects. It might be that someone else is already working on the problem or has a solution at hand.
You will find more detailed information on our development processes in Contributing to ESPResSo. Please also refer to our developer’s guide in the ESPResSo wiki.
22.1.1. Required Development Tools¶
First of all, please install the dependencies for compiling ESPResSo. See the section Installation.
To be able to access the development version of ESPResSo, you will need the distributed versioning control system git and a GitHub account to fork the espressomd/espresso repository
To build the user documentation, you will need Sphinx.
To build the tutorials, you will need Jupyter.
To build the core documentation, you will need Doxygen.
All of these tools should be easy to install on most Unix operating systems.
You can find all Python dependencies of ESPResSo in requirements.txt
in the
top-level source directory. Several optional packages for graphics, external
devices and continuous integration (CI) are not strictly essential and can be
safely removed if you’re planning on installing dependencies via pip
:
pip3 install --upgrade --user -r requirements.txt
Note that some distributions now use pip3
for Python3 and pip2
for
Python2.
22.2. Building the User’s guide¶
If, while reading this documentation, you notice any mistakes or undocumented features, you are very welcome to contribute to the guide and have others benefit from your knowledge.
For this, you should clone the development version at espressomd/espresso. Next build the software as shown
in Installation and then the documentation with make sphinx
.