Contributing
Project layout
The latest stable release of ATOM is on the master
branch, whereas the
latest version of ATOM in development is on the development
branch. Make
sure you are looking at and working on the correct branch if you're looking
to contribute code.
In terms of directory structure:
- All of ATOM's code sources are in the
atom
directory. - The documentation sources are in the
docs_sources
directory. - Images in the documentation are in the
docs_sources/img
directory. - Tutorial notebooks are in the
examples
directory. If you want to include the example to the documentation as well, add the.ipynb
file todocs_sources/examples
and update themkdocs.yml
file accordingly. - Unit tests are in the
tests
directory. Make sure to add the tests to the file corresponding to the module in theatom
directory with the code that is being tested.
Make sure to familiarize yourself with the project layout before making any
major contributions, and especially make sure to send all code changes to the
development
branch.
Submitting a pull request
Before you submit a pull request, please work through this checklist to make sure that you have done everything necessary so we can efficiently review and accept your changes.
If your contribution changes ATOM in any way:
- Update the documentation so all of your changes are reflected there.
- Update the README if anything there has changed.
If your contribution involves any code changes:
- Adhere to PEP 8 standards.
- Use a maximum of 88 characters per line. Try to keep comments and docstrings below 72 characters.
- Update the project unit tests to test your code changes as thoroughly as possible.
- Make sure that your code is properly commented with docstrings and comments explaining your rationale behind non-obvious coding practices.
If your contribution requires a new library dependency:
- Double-check that the new dependency is easy to install via pip and Anaconda.
- The library should support Python 3.6 and higher.
- Make sure the code works with the latest version of the library.
- Update the dependencies in the documentation.
- Add the library with the minimum required version to
requirements.txt
andsetup.py
.
After submitting your pull request, GitHub will automatically run the tests on your changes and make sure that the updated code builds successfully. The checks are run on Python 3.6, 3.7, 3.8 and 3.9, on Ubuntu and Windows. We also use services that automatically check test coverage.