Please be sure to read this carefully to make the code review process go as smoothly as possible and maximize the likelihood of your contribution being merged.**
The preferred way to contribute to rosetta is to fork the project repository on GitHub:
-
Fork the project repository: click on the 'Fork' button near the top of the page. This creates a copy of the code under your account on the GitHub server.
-
Clone this copy to your local disk:
$ git clone [email protected]:YourLogin/rosetta.git
-
Create a branch to hold your changes:
$ git checkout -b my-feature
and start making changes. Never work in the
master
branch! -
Work on this copy on your computer using Git to do the version control. When you're done editing, do:
$ git add modified_files $ git commit
to record your changes in Git, then push them to GitHub with:
$ git push -u origin my-feature
Finally, go to the web page of the your fork of the rosetta repo, and click 'Pull request' to send your changes to the maintainers for review. request. This will send an email to the committers.
(If any of the above seems like magic to you, then look up the Git documentation on the web.)
It is recommended to check that your contribution complies with the following rules before submitting a pull request:
-
All public methods should have informative docstrings complying with the numpy standard.
-
When adding additional functionality, provide at least one example script in the
examples/
folder. Have a look at other examples for reference. Examples should demonstrate why the new functionality is useful in practice and, if possible, compare it to other methods available in rosetta. -
At least one paragraph of narrative documentation with links to references in the literature (with PDF links when possible) and the example.
You can also check for common programming errors with
make code-analysis
Documentation is hosted at here. This does NOT auto-update. To make new docs:
cd docs/
make html
Note: you need to upload this documentation manually on pypi. You can create the proper zipfile with make zip-docs
.
- Github: Rosetta releases are hosted here and you can create new releases via "draft new release."
- PiPy: Rosetta releases are hosted here. As a registered owner you can create a release by:
- Run all tests with
make test
- Make new documentation (see the Documenation section).
- Update the release version in setup.py. We will use semantic versioning.
- Do
make release
to upload the installers to PyPi. - Manually upload the new doc zip-file to PyPi.