Contributing

Pull requests are welcome, forking from the master branch. If you are new to GitHub, be sure and check out GitHub’s Hello World tutorial.

Make sure that your contribution meets the following requirements: * Be thoroughly tested * Works on all supported versions of Python * Be in the same code style of the existing source code (mostly PEP8)

Testing

The PynamoDB source code is thoroughly tested, which helps ensure that with each change made to it, we aren’t breaking someone’s code that relies on PynamoDB. It’s not easy, and it’s not optional. Changes without proper testing won’t be accepted.

Please write tests to accompany your changes, and verify that the tests pass using all supported version of Python by using tox:

$ tox

Once you’ve opened a pull request on GitHub, Travis-ci will run the test suite as well.

By default, certain tests that require a running instance of DynamoDB Local will not be executed by tox. They will always be executed in Travis-ci. If you wish to run them locally, edit tox.ini to not pass '-m ddblocal' to py.test.

Don’t forget to add yourself to AUTHORS.rst.