- PEP 8, when sensible.
- Test ruthlessly. Write docs for new features.
- Even more important than Test-Driven Development–Human-Driven Development.
Questions, Feature Requests, Bug Reports, and Feedback. . .¶
. . .should all be reported on the Github Issue Tracker .
Setting Up for Local Development¶
Fork marshmallow-jsonapi on Github.
$ git clone https://github.com/marshmallow-code/marshmallow-jsonapi.git $ cd marshmallow-jsonapi
Install development requirements. It is highly recommended that you use a virtualenv.
# After activating your virtualenv $ pip install -r dev-requirements.txt
Install marshmallow-jsonapi in develop mode.
$ pip install -e .
Git Branch Structure¶
Marshmallow abides by the following branching model:
- Current development branch. New features should branch off here.
- Current production release on PyPI.
Always make a new branch for your work, no matter how small. Also, do not put unrelated changes in the same branch or pull request. This makes it more difficult to merge your changes.
1. Create a new local branch.
$ git checkout -b name-of-feature dev
2. Commit your changes. Write good commit messages.
$ git commit -m "Detailed commit message" $ git push origin name-of-feature
- Before submitting a pull request, check the following:
- If the pull request adds functionality, it is tested and the docs are updated.
- You’ve added yourself to
- Submit a pull request to
marshmallow-code:devor the appropriate maintenance branch. The Travis CI build must be passing before your pull request is merged.
To run all tests:
$ invoke test
To run tests on Python 2.7, 3.4, and 3.5 virtual environments (must have each interpreter installed):
To install the packages for building the docs:
$ pip install -r docs/requirements.txt
To build the docs:
$ invoke docs -b
-b (for “browse”) automatically opens up the docs in your browser after building.