Contributing¶
We encourage the community to contribute! Please first review the Allen Institute Contributing Agreement then follow the how to.
Allen Institute Contributing Agreement¶
Allen Institute Contribution Agreement
This document describes the terms under which you may make “Contributions” — which may include without limitation, software additions, revisions, bug fixes, configuration changes, documentation, or any other materials — to any of the projects owned or managed by the Allen Institute. If you have questions about these terms, please contact us at terms@alleninstitute.org.
You certify that:
Your Contributions are either:
- Created in whole or in part by you and you have the right to submit them under the designated license (described below); or
- Based upon previous work that, to the best of your knowledge, is covered under an appropriate open source license and you have the right under that license to submit that work with modifications, whether created in whole or in part by you, under the designated license; or
- Provided directly to you by some other person who certified (1) or (2) and you have not modified them.
You are granting your Contributions to the Allen Institute under the terms of the 2-Clause BSD license (the “designated license”).
You understand and agree that the Allen Institute projects and your Contributions are public and that a record of the Contributions (including all metadata and personal information you submit with them) is maintained indefinitely and may be redistributed consistent with the Allen Institute’s mission and the 2-Clause BSD license.
How to contribute¶
Fork the main repository on Github by following this guide
Clone your fork to your local machine
$ git clone git@github.com:<github_username>/mouse_connectivity_models.git $ cd mouse_connectivity_models
Create a feature branch to hold your development changes
$ git checkout -b new-feature
Use pipenv to install the
dev
dependencies. If you do not havepipenv
currently installed$ pip install pipenv
Then install
dev
dependencies$ pipenv install --dev
This will create a virtual environment on your machine for this project. To activate the virtual environment (to develop)
$ pipenv shell
All contributions must pass tests to be merged with the main repository. Any new features must have test scripts written. We use pytest for all testing. From outside the source directory (
mcmodels
)$ pytest mcmodels
After your new feature passes all tests, add and commit your changes
$ git add modified_files $ git commit
Please leave an informative, specific commit message. Push your changes to your remote branch
$ git push -u origin my-feature
Create a pull request from your fork following these instructions