weboob-devel/docs/source/overview.rst
2014-07-09 12:50:32 +02:00

50 lines
1.6 KiB
ReStructuredText

Overview
========
Weboob (Web Outside Of Browsers) provides:
* :doc:`applications <api/tools/application/index>` to interact with websites
* :doc:`backends <api/tools/backend>`, 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
Weboob is written in Python and is distributed under the AGPLv3+ license.
Architecture
------------
.. warning::
This diagram has to be redrawn.
.. image:: _static/architecture.png
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 ``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).
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.
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.