Development

You can contribute to imprint by providing but reports (or just usage experience), or writing code. Issues can be submitted on GitHub at https://github.com/madphysicist/imprint/issues. To contribute code, fork and clone the repository from https://github.com/madphysicist/imprint. You can modify the code as you wish, and submit a pull request through GitHub.

Branch Structure

Feature branches should be branched from dev. Accepted features should be squashed into a small number of commits. When a sufficient number of commits are made, they will be added to master, the minor version will increment, and a release candidate branch will start.

Installation

Installing the project is not strictly necessary for development. That being said, some features may be better tested when the project is installed. Developers can install their local copy for testing by running the following in the project root:

python setup.py develop

This will symlink the development project to the site packages of the current python environment. It is recommended that this command be run in a dedicated virtual environment.

Coding

Feel free to suggest and/or implement any feature that you feel is useful. The general phiposophy is to keep things modular. General purpose functions should be added to the haggis library rather than to Imprint itself.

The documentation should explain how the project works. Introduction to Imprint provides a high-level explanation of the overall structure. The Reference secion contains all the references to the individual components.

Testing

At the moment, there is no test package for Imprint. Instead, the Demos in the documentation provide good coverage of almost all available features. If you add a feature that is not already covered, please add a section to the appropriate Tutorials page, and modify the corresponding demo (or add a new one) as necessary.

If you would like to contribute a test package to Imprint, that would be wonderful.