Community

Chat Support

To best way to get support for signac is to join the signac-gitter channel. The developers and other users are usually able to help within a few minutes. Alternatively, you can send an email to signac-support@umich.edu.

Please use the issue tracker of the individual packages to file bug reports or request new features!

Contributions

Contributions to signac are very welcome! We highly appreciate contributions in the form of user feedback and bug reports on the gitter channel, the issue trackers of individual packages, or via email. Developers are invited to contribute to the framework by pull request to the appropriate package repository. The source code for all packages is hosted on bitbucket. We recommend discussing new features in form of a proposal on the issue tracker for the appropriate project prior to development.

All code contributed via pull request needs to adhere to the following guidelines:

  1. Most signac packages follow the git-flow branching model. Bug fixes should be implemented in a branch based on master, while new features should be developed within a branch based on develop.
  2. All code needs to adhere to the PEP8 style guide, with the exception that a line may have up to 100 characters.
  3. New features must be properly documented and tested with automated unit tests.
  4. Non-obvious code passages should be extensively documented.
  5. Changes must generally be backwards-compatible.
  6. All packages targeted to be used within high-performance computing environments should support Python versions 2.7+ and 3.4+ and keep the number of hard dependencies to a miminum.

Tip

During continuous integration, the code is checked automatically with Flake8. Run the following commands to set up a pre-commit hook that will ensure your code is compliant before committing:

flake8 --install-hook git
git config --bool flake8.strict true

Note

Please see the individual package documentation for detailed guidelines on how to contribute to a specific package.