Contributing Guidelines¶
Questions, Feature Requests, Bug Reports, and Feedback…¶
…should all be reported on the Github Issue Tracker .
Setting Up for Local Development¶
Fork marshmallow-sqlalchemy on Github.
$ git clone https://github.com/marshmallow-code/marshmallow-sqlalchemy.git
$ cd marshmallow-sqlalchemy
Install development requirements. It is highly recommended that you use a virtualenv. Use the following command to install an editable version of marshmallow-sqlalchemy along with its development requirements.
# After activating your virtualenv
$ pip install -e '.[dev]'
Install the pre-commit hooks, which will format and lint your git staged files.
# The pre-commit CLI was installed above
$ pre-commit install --allow-missing-config
Pull Requests¶
1. Create a new local branch.
# For a new feature
$ git checkout -b name-of-feature dev
# For a bugfix
$ git checkout -b fix-something 1.2-line
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
marshmallow-code:dev
or the appropriate maintenance branch. The CI build must be passing before your pull request is merged.
Running Tests¶
To run all To run all tests:
$ pytest
To run formatting and syntax checks:
$ tox -e lint
(Optional) To run tests in all supported Python versions in their own virtual environments (must have each interpreter installed):
$ tox
Documentation¶
Contributions to the documentation are welcome. Documentation is written in reStructuredText (rST). A quick rST reference can be found here. Builds are powered by Sphinx.
To build the docs in “watch” mode:
$ tox -e watch-docs
Changes in the docs/
directory will automatically trigger a rebuild.