Development¶
- Development
- Architecture
- Versions
- Major versions (x.0)
- Minor version (x.y)
- Bugfix version (x.y.z)
- Get development sources
- Repositories
- Report a bug
- Development on Weboob
- Send a patch
Weboob is a participative project developed by several people. You can also contribute to it, or write your third-party backends or applications. On this page you'll find probably enough documentation to help you.
Architecture¶

Weboob is a project which provides a core library, backends and applications.
The core library defines capabilities: features common to various websites. For example, http://www.youtube.com and http://www.dailymotion.com are both videos providers: weboob defines the “CapVideo” capability.
Each backend interfaces a website and implements one or many of these capabilities. Backends can be configured, which means that the end-user can provide personal information to access the underlaying website (login/password for example).
Applications offer the ability to the end-user to work with many backends in parallel, in a multi-threaded way. For example, one could search a video on many providers websites. Applications are toolkit-agnostic. They can use Gtk, Qt or text-only, more adapted to reuse data through pipes.
The core library provides base classes which help the developer to write backends and applications.
Weboob is written in Python and is distributed under the GPLv3 license.
Versions¶
Currently, Weboob has three kinds of versions:
Major versions (x.0)¶
A major version is released when there are important changes in the architecture, or when a critical API is broken.
Minor version (x.y)¶
The development git repository (weboob.git) merges new features. When this branch is considered as stable, it's frozen then it's released as a minor version.
Bugfix version (x.y.z)¶
The stable git repository (weboob-stable.git) merges only bugfixes, and a new bugfix version is released each time.
Get development sources¶
We use git to develop. You can checkout sources with:
$ git clone git://git.symlink.me/pub/romain/weboob.git
You can also browse sources.
Repositories¶
Weboob works with repositories where there are modules. The official repository is http://updates.weboob.org, but to develop on Weboob it's better to use sources as a local repository. To do it, edit ~/.config/weboob/backends and add this line at the end of file:
file:///path/to/weboob/modules/
Then, run this command:
$ weboob-config update
Report a bug¶
When you report a bug on the tracker, it's important to correctly set the category as specific as possible. Also, don't forget to give information about your version of Weboob, OS, implicated libraries.
Also, if necessary, use the -d parameter on application to get verbose logs.
Development on Weboob¶
- Backend hacking — Guide to know how to write a new backend.
- Application hacking — Guide to know how to write a new application.
- Planet Weboob (fr) — Developers talk about weboob hacking.
Send a patch¶
Firstly, check there are automated tests for your new code, or they are up-to-date. Your code might be as stable as possible.
Then, you can send your patch.
- Automated tests
- How to contribute — Know how to send a patch
- Boobathons — Events frequently organized in bars to write new backends.
