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 * `chat with us `__ on Discord, * or `open an issue `__ on Github. If you have a question related to Guetzli, please look at the original Guetzli repository: * https://github.com/google/guetzli/ 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