- PEP 8, when sensible.
- Test ruthlessly. Write docs for new features.
- Even more important than Test-Driven Development--Human-Driven Development.
. . .should all be reported on the Github Issue Tracker .
Fork marshmallow on Github.
$ git clone https://github.com/sloria/marshmallow.git $ cd marshmallow
Install development requirements. It is highly recommended that you use a virtualenv.
# After activating your virtualenv $ pip install -r dev-requirements.txt
Install marshmallow in develop mode.
$ python setup.py develop
Marshmallow loosely follows Vincent Driessen's Successful Git Branching Model . In practice, the following branch conventions are used:
dev
- The next release branch.
master
- Current production release on PyPI.
1. Create a new local branch.
$ git checkout -b name-of-feature
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
AUTHORS.rst
.
- Submit a pull request to the
sloria:dev
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.6, 2.7, 3.3, 3.4, and PyPy virtual environments (must have each interpreter installed):
$ tox
Contributions to the documentation are welcome. Documentation is written in reStructured Text (rST). A quick rST reference can be found here. Builds are powered by Sphinx.
To build the docs:
$ invoke docs -b
The -b
(for "browse") automatically opens up the docs in your browser after building.