Before starting to tackle a bugfix or add a new feature, look for existing issues or create one a specific issue or feature request. This way you can avoid working on something that has already been addressed or is being worked on.
Pyserializer aims to follow PEP8 including 4 space indents. When possible we try to stick to 79 character line limits.
All tests run on Travis and pull requests are automatically tested by Travis. Pull requests are encourages to have tests. You may also submit a simple failing test as a pull request, if you don't know how to fix it, it will be easier for other people to work on it and it may get fixed faster.
- If possible avoid breaking backward changes.
- Write inline documentation for new classes and methods.
- Write tests and make sure they pass.
- Add improvements and bug fixes to docs/changelog.rst
To contribute to the API documentation just make your changes to the inline documentation of the appropriate source code or rst file in a branch and submit a pull request.
Fork pyserializer on Github
$ git clone https://github.com/localmed/pyserializer.git
$ cd pyserializer
Install development requirements. It is highly recommended that you use a virtualenv, and activate the virtualenv before installing the requirements.
$ pip install -r requirements.txt
Run tests with coverage.
$ make unit_test
Run test Using Tox (Runs the tests in different supported python interpreter):
$ tox
Run Lint:
$ make lint
Create a new local branch to submit a pull request.
$ git checkout -b name-of-feature
Commit your changes
$ git commit -m "Detailed commit message"
$ git push origin name-of-feature
Submit a pull request. Before submitting a pull request, make sure pull request add the functionality, it is tested and docs are updated.