Contributing

Thank you for your interest in PyGuetzli. You will find here all useful information to contribute.

Questions

If you have any question about the Python binding itself, you can

If you have a question related to Guetzli, please look at the original Guetzli repository:

Bugs

If you found a bug in the Python binding itself, please open an issue on Github with as much information as possible:

  • How you installed PyGuetzli (Git, PyPI, Static build,…),

  • What is your operating system / Linux distribution (and its version),

  • All the error messages outputted by pip or by PyGuetzli,

If you found a bug in Guetzli, please open an issue on its Github project.

Pull Requests

Please consider filing a bug before starting to work on a new feature. This will allow us to discuss the best way to do it. This is, of course, not necessary if you just want to fix some typo in the documentation or small errors in the code.

Please note that your code must pass tests and follow the coding style defined by the pep8.

Installing Development Dependencies

You can install PyGuetzli with all its extra and development dependencies using the following command:

pip install .[PIL,dev]

Running the Tests

You will first have to install nox:

pip3 install nox

Then you can check for lint error:

nox --session lint

or run the tests:

nox --session test

To run the tests only for a specific Python version, you can use following commands (the corresponding Python interpreter must be installed on your machine):

nox --session test-2.7
nox --session test-3.7
nox --session test-3.8
nox --session test-3.9

Building the Documentation

You will first have to install nox:

pip3 install nox

Then you can run the following command:

nox --session gendoc