Github has a great guide for contributing to open source projects:
- Contributing to a project
- Fork the repository
- Clone your fork
- Making and pushing changes
- Making a Pull Request
- Huzzah!
In general, we like to keep things documented. You should add documentation to any new functionality, and update it for any changed functionality. Our docstrings use the Google Style Python Docstrings.
After you have documentation, you should add a doctest.
Finally, it is probably a good idea to run the test suite locally before doing the pull-request to make sure everything works, however this is not a requirement.
Once you do the pull-request Travis CI will run the test-suite on it. Once it passes one of the core developers will look at your pull request, possibly comment on it and then hopefully merge it into master.
Pull requests against python3-pwntools require at a minimum that no tests have been broken, and ideally each pull request will include new tests to ensure that all of the functionality works as intended.
You can find more information on testing in TESTING.md.