Skip to content

Latest commit

 

History

History
97 lines (59 loc) · 2.73 KB

CONTRIBUTING.rst

File metadata and controls

97 lines (59 loc) · 2.73 KB

Contributing Guidelines

In General

  • PEP 8, when sensible.
  • Test ruthlessly. Write docs for new features.
  • Even more important than Test-Driven Development--Human-Driven Development.

In Particular

Questions, Feature Requests, Bug Reports, and Feedback. . .

. . .should all be reported on the Github Issue Tracker .

Setting Up for Local Development

  1. Fork marshmallow on Github.

    $ git clone https://github.com/sloria/marshmallow.git
    $ cd marshmallow
    
  2. Install development requirements. It is highly recommended that you use a virtualenv.

    # After activating your virtualenv
    $ pip install -r dev-requirements.txt
    
  3. Install marshmallow in develop mode.

    $ python setup.py develop
    

Git Branch Structure

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.

Pull Requests

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
  1. 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.
  1. Submit a pull request to the sloria:dev branch. The Travis CI build must be passing before your pull request is merged.

Running tests

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

Documentation

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.