Skip to content
overview.rst 1.81 KiB
Newer Older
Christophe Benz's avatar
Christophe Benz committed
Overview
========

Weboob (Web Out Of Browsers) provides:

* :doc:`applications` to interact with websites
* :doc:`backends`, each one handles a specific website
* a :doc:`core library <api/core/index>` providing all the features needed by backends
* :doc:`tools <api/tools/index>` to help develop backends and applications

Romain Bignon's avatar
Romain Bignon committed
Weboob is written in Python and is distributed under the AGPLv3+ license.
Christophe Benz's avatar
Christophe Benz committed

Why using Weboob?
-----------------

Christophe Benz's avatar
Christophe Benz committed
* you get essential information from websites faster
Christophe Benz's avatar
Christophe Benz committed
* you can write scripts using weboob to automate tasks
Christophe Benz's avatar
Christophe Benz committed
* you can extend websites features
Christophe Benz's avatar
Christophe Benz committed
* it helps blind people using crappy websites

Christophe Benz's avatar
Christophe Benz committed
Architecture
------------

.. warning::
   This diagram has to be redrawn.

.. image:: _static/architecture.png

Christophe Benz's avatar
Christophe Benz committed
Capabilities
------------

The core library defines capabilities. They represent features common to various websites.
For example, http://www.youtube.com and http://www.dailymotion.com are both videos
providers: Weboob defines the ``ICapVideo`` 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).

Multi-backend call
------------------

The core library provides a mechanism allowing applications to call many backends in
parallel, in a multi-threaded way.

For example, one could search a video on many providers websites.

Applications
------------

Applications are toolkit-agnostic. They can use Gtk, Qt or just be text-only, more adapted to reuse data through pipes.
Christophe Benz's avatar
Christophe Benz committed

Reporting 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.