Please open issues to discuss enhancements and bugs that you may encounter with pyNeuroML. Pull requests with enhancements and bug fixes are welcome.
It is best to use virtual environments when developing Python packages. This ensures that one uses a clean environment that includes the necessary dependencies and does not affect the overall system installation.
For quick development, consider using editable installs.
-
We use flake8 to ensure that the code follows a consistent style as part of continuous integration on Travis. Currently, the information from flake8 is informative only.
-
The source code uses spaces, and each tab is equivalent to 4 spaces.
-
We use the reStructuredText (reST) format for Python docstrings. Please document your code when opening pull requests.
Bug fixes and new features should include unit tests to test for correctness.
One can base new tests off the current ones included in the tests/
directory.
To see how tests are run, please see the GitHub Actions configuration file.
- Please contribute pull requests against the
development
branch. - Please ensure that the automated build for your pull request passes.
- Please pay attention to the results from flake8 and make any modifications to ensure a consistent code style.
A number of pre-commit hooks are used to improve code-quality. Please run the following code to set up the pre-commit hooks:
$ pre-commit install
Writing good commit messages makes things easy to follow. Please see these posts:
- How to write a Git commit message
- While not compulsory, we prefer conventional commits