Issue reports and feature proposals are very welcome. Please use the GitHub issue page for this.
Code contributions to the signac-flow open-source project are welcomed via pull requests on GitHub. Prior any work you should contact the signac developers to ensure that the planned development meshes well with the directions and standards of the project. All contributors must agree to the Contributor Agreement (ContributorAgreement.md) before their pull request can be merged.
- Use the OneFlow model of development:
- Both new features and bug fixes should be developed in branches based on
master
. - Hotfixes (critical bugs that need to be released fast) should be developed in a branch based on the latest tagged release.
- Both new features and bug fixes should be developed in branches based on
- Write code that is compatible with all supported versions of Python (listed in setup.py).
- Avoid introducing dependencies -- especially those that might be harder to install in high-performance computing environments.
- Create unit tests and integration tests that cover the common cases and the corner cases of the code.
- Preserve backwards-compatibility whenever possible, and make clear if something must change.
- Document any portions of the code that might be less clear to others, especially to new developers.
- Write API documentation in this package, and put usage information, guides, and concept overviews in the framework documentation (source).
Please see the Support section as part of the documentation for detailed development guidelines.
Code submitted to the signac-flow project must adhere to the PEP8 style guide with the exception that lines may have up to 100 characters.
We recommend to use flake8 and autopep8 to find and fix any code style issues prior to committing and pushing.