How to contribute

By coding

Write a patch

Help yourself with the documentation.

Find an opened issue on this website, or write your own bugfix or feature. Then, once it is necessary, commit with:

$ git commit -a

Do not forget to write a helpful commit message.

Check your patch

You can run these scripts to be sure your patch doesn’t break anything:

$ tools/
$ tools/
$ tools/ yourmodulename  # or without yourmodulename to test everything

To aid in verifying Python 3 compatibility, also run:

$ tools/ -3
$ tools/ -3 yourmodulename

Perhaps you should also write or fix tests. These tests are automatically run by Gitlab CI at each commit and merge requests.

Create a merge request or send a patch

The easiest way to send your patch is to create a fork on the woob gitlab and create a merge request from there. This way, the code review process is easier and continuous integration is run automatically (see previous section).


Using the git+ssh protocol to clone the repository will only work when connected from an IPv6 compatible network:

$ git clone

But it is possible to use the git+https protocol from everywhere (IPv4 and IPv6 networks):

$ git clone

If you prefer good old email patches, just use

$ git format-patch -n -s origin

Then, send them with this command:

$ git send-email *.patch

You can also send the files by yourself if you haven’t any configured MTA on your system.

By hosting a Gitlab CI runner

To be sure woob works fine on lot of architectures, OS and configurations, but also that websites haven’t changed and backends still support them, it’s important to have enough runners with different configurations, especially since running some tests requires a working backend.

If you are interested by hosting a Gitlab-CI runner, follow these instructions:

You can install a Gitlab runner and make it use a specific backend file (be it either by creating a dedicated Docker image with your credentials or running it in shell mode and making the backend file available to it).

Then, you should contact us at so that we could help you register your runner with our Gitlab.