Contribute and supportΒΆ

  • Do not be afraid to contribute with small and apparently insignificant improvements like correction to typos. Every change counts.

  • Read carefully the License of PyCryptodome. By submitting your code, you acknowledge that you accept to release it according to the BSD 2-clause license.

  • You must disclaim which parts of your code in your contribution were partially copied or derived from an existing source. Ensure that the original is licensed in a way compatible to the BSD 2-clause license.

  • You can propose changes in any way you find most convenient. However, the preferred approach is to:

    • Clone the main repository on GitHub.

    • Create a branch and modify the code.

    • Send a pull request upstream with a meaningful description.

  • Provide tests (in Crypto.SelfTest) along with code. If you fix a bug add a test that fails in the current version and passes with your change.

  • If your change breaks backward compatibility, highlight it and include a justification.

  • Ensure that your code complies to PEP8 and PEP257.

  • If you add or modify a public interface, make sure the relevant type stubs remain up to date.

  • Ensure that your code does not use constructs or includes modules not present in Python 2.6.

  • Add a short summary of the change to the file Changelog.rst.

  • Add your name to the list of contributors in the file AUTHORS.rst.

The PyCryptodome mailing list is hosted on Google Groups. You can mail any comment or question to

Bug reports can be filed on the GitHub tracker.