Name | woob JSON |
Version |
3.7
JSON |
| download |
home_page | None |
Summary | Woob, Web Outside Of Browsers |
upload_time | 2024-10-29 17:08:17 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | LGPL-3.0-or-later |
keywords |
scraping
web
banking
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
====
Woob
====
|version| |last-commit| |python| |license|
.. |version| image:: https://img.shields.io/pypi/v/woob
:target: https://pypi.org/project/woob/
:alt: Package Version
.. |last-commit| image:: https://img.shields.io/gitlab/last-commit/woob/woob
:target: https://gitlab.com/woob/woob/
:alt: Last commit
.. |python| image:: https://img.shields.io/pypi/pyversions/woob
:target: https://pypi.org/project/woob/
:alt: Python Version
.. |license| image:: https://img.shields.io/pypi/l/woob
:target: https://gitlab.com/woob/woob/-/blob/master/COPYING.LESSER
:alt: License
Woob (`Web Outside of Browsers`) is a library which provides a Python standardized API and data models to
access websites.
Overview
========
.. image:: https://woob.dev/_images/arch.png
There are three main concepts:
* `Capabilities <https://woob.dev/guides/capabilities>`_: This is a standardized interface
to access a specific kind of website. It provides an unified API and standard
datamodels;
* `Modules <https://woob.dev/guides/modules>`_: A module is dedicated to a specific
website. It can implements several capabilities (for example `paypal <https://paypal.com>`_ module may
implement ``CapBank`` to get bank
informations, ``CapTransfer`` to
initiate a transfer, ``CapProfile`` to get
information about the customer, and ``CapDocument`` to get documents);
* `Backends <https://woob.dev/guides/user/quickstart>`_: You can load a module several times,
with different configurations. For example, if you have two PayPal accounts,
you can create two backends of the same module with different credentials.
The main ``Woob`` class let configure new backends and do aggregated calls to
every backends loaded with a specific capability.
For example, once backends are loaded, you can call ``iter_accounts()`` and
you'll get accounts in the same ``Account`` data model for all backends
implementing ``CapBank``:
.. code-block:: python
>>> from woob.core import Woob
>>> from woob.capabilities.bank import CapBank
>>> w = Woob()
>>> w.load_backends(CapBank)
{'societegenerale': <Backend 'societegenerale'>,
'creditmutuel': <Backend 'creditmutuel'>}
>>> accounts = list(w.iter_accounts())
>>> print(accounts)
[<Account id='7418529638527412' label=u'Compte de ch\xe8ques'>,
<Account id='9876543216549871' label=u'Livret A'>,
<Account id='123456789123456789123EUR' label=u'C/C Eurocompte Confort M Roger Philibert'>]
>>> accounts[0].balance
Decimal('87.32')
Applications
============
If you are looking for applications using the woob library, visit `woob.tech <https://woob.tech>`_.
Installation
============
Read this `documentation <https://woob.dev/guides/install/>`_.
Documentation
=============
More information about how to use woob at `woob.dev <https://woob.dev>`_.
Contributing
============
If you want to contribute to woob (patch of the core, creating new modules,
etc.), `read this <https://woob.dev/guides/contribute/>`_.
Chat with us
============
* `#woob @ liberachat <ircs://irc.libera.chat/woob>`_
* `#woob @ matrix.org <https://matrix.to/#/#woob:matrix.org>`_
Raw data
{
"_id": null,
"home_page": null,
"name": "woob",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "scraping, web, banking",
"author": null,
"author_email": "Romain Bignon <romain@woob.dev>",
"download_url": "https://files.pythonhosted.org/packages/85/f3/a2dc1bb679de004aa1e48c8b77b5d5b9bca3007b2f25e0c39f850a009186/woob-3.7.tar.gz",
"platform": null,
"description": "====\nWoob\n====\n\n|version| |last-commit| |python| |license|\n\n.. |version| image:: https://img.shields.io/pypi/v/woob\n :target: https://pypi.org/project/woob/\n :alt: Package Version\n.. |last-commit| image:: https://img.shields.io/gitlab/last-commit/woob/woob\n :target: https://gitlab.com/woob/woob/\n :alt: Last commit\n.. |python| image:: https://img.shields.io/pypi/pyversions/woob\n :target: https://pypi.org/project/woob/\n :alt: Python Version\n.. |license| image:: https://img.shields.io/pypi/l/woob\n :target: https://gitlab.com/woob/woob/-/blob/master/COPYING.LESSER\n :alt: License\n\nWoob (`Web Outside of Browsers`) is a library which provides a Python standardized API and data models to\naccess websites.\n\nOverview\n========\n\n.. image:: https://woob.dev/_images/arch.png\n\nThere are three main concepts:\n\n* `Capabilities <https://woob.dev/guides/capabilities>`_: This is a standardized interface\n to access a specific kind of website. It provides an unified API and standard\n datamodels;\n* `Modules <https://woob.dev/guides/modules>`_: A module is dedicated to a specific\n website. It can implements several capabilities (for example `paypal <https://paypal.com>`_ module may\n implement ``CapBank`` to get bank\n informations, ``CapTransfer`` to\n initiate a transfer, ``CapProfile`` to get\n information about the customer, and ``CapDocument`` to get documents);\n* `Backends <https://woob.dev/guides/user/quickstart>`_: You can load a module several times,\n with different configurations. For example, if you have two PayPal accounts,\n you can create two backends of the same module with different credentials.\n\nThe main ``Woob`` class let configure new backends and do aggregated calls to\nevery backends loaded with a specific capability.\n\nFor example, once backends are loaded, you can call ``iter_accounts()`` and\nyou'll get accounts in the same ``Account`` data model for all backends\nimplementing ``CapBank``:\n\n.. code-block:: python\n\n >>> from woob.core import Woob\n >>> from woob.capabilities.bank import CapBank\n >>> w = Woob()\n >>> w.load_backends(CapBank)\n {'societegenerale': <Backend 'societegenerale'>,\n 'creditmutuel': <Backend 'creditmutuel'>}\n >>> accounts = list(w.iter_accounts())\n >>> print(accounts)\n [<Account id='7418529638527412' label=u'Compte de ch\\xe8ques'>,\n <Account id='9876543216549871' label=u'Livret A'>,\n <Account id='123456789123456789123EUR' label=u'C/C Eurocompte Confort M Roger Philibert'>]\n >>> accounts[0].balance\n Decimal('87.32')\n\n\nApplications\n============\n\nIf you are looking for applications using the woob library, visit `woob.tech <https://woob.tech>`_.\n\n\nInstallation\n============\n\nRead this `documentation <https://woob.dev/guides/install/>`_.\n\nDocumentation\n=============\n\nMore information about how to use woob at `woob.dev <https://woob.dev>`_.\n\nContributing\n============\n\nIf you want to contribute to woob (patch of the core, creating new modules,\netc.), `read this <https://woob.dev/guides/contribute/>`_.\n\nChat with us\n============\n\n* `#woob @ liberachat <ircs://irc.libera.chat/woob>`_\n* `#woob @ matrix.org <https://matrix.to/#/#woob:matrix.org>`_\n",
"bugtrack_url": null,
"license": "LGPL-3.0-or-later",
"summary": "Woob, Web Outside Of Browsers",
"version": "3.7",
"project_urls": {
"Bug Tracker": "https://gitlab.com/woob/woob/-/issues",
"Documentation": "https://woob.dev",
"Homepage": "https://woob.tech",
"Release notes": "https://gitlab.com/woob/woob/-/releases",
"Source": "https://gitlab.com/woob/woob"
},
"split_keywords": [
"scraping",
" web",
" banking"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e06f0a2f6d5eb3aacb930d42eb7ed18aa79f82fe9d567cefb57d077352306364",
"md5": "180db782551611bf90871f97e0c4f7ad",
"sha256": "bcfb035d2cf5791d256aa0f344de3b4474f383255694a139cbfdb81bf31976f5"
},
"downloads": -1,
"filename": "woob-3.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "180db782551611bf90871f97e0c4f7ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 514302,
"upload_time": "2024-10-29T17:08:14",
"upload_time_iso_8601": "2024-10-29T17:08:14.237793Z",
"url": "https://files.pythonhosted.org/packages/e0/6f/0a2f6d5eb3aacb930d42eb7ed18aa79f82fe9d567cefb57d077352306364/woob-3.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "85f3a2dc1bb679de004aa1e48c8b77b5d5b9bca3007b2f25e0c39f850a009186",
"md5": "c31d0ff73200860a0680b75e05bcf4bd",
"sha256": "b1d7113ba87a9b947c13a1e3b4bb4fa616ba3037092b54912fc3fee2647d1b2f"
},
"downloads": -1,
"filename": "woob-3.7.tar.gz",
"has_sig": false,
"md5_digest": "c31d0ff73200860a0680b75e05bcf4bd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 357409,
"upload_time": "2024-10-29T17:08:17",
"upload_time_iso_8601": "2024-10-29T17:08:17.362281Z",
"url": "https://files.pythonhosted.org/packages/85/f3/a2dc1bb679de004aa1e48c8b77b5d5b9bca3007b2f25e0c39f850a009186/woob-3.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-29 17:08:17",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "woob",
"gitlab_project": "woob",
"lcname": "woob"
}