Name | woob JSON |
Version |
3.6
JSON |
| download |
home_page | |
Summary | Woob, Web Outside Of Browsers |
upload_time | 2023-05-23 13:52:32 |
maintainer | |
docs_url | None |
author | |
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": "",
"name": "woob",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "scraping,web,banking",
"author": "",
"author_email": "Romain Bignon <romain@woob.dev>",
"download_url": "https://files.pythonhosted.org/packages/cf/10/3eb104a43ab4ff3109109883382bdfee663412e8fda2967d0ab220479240/woob-3.6.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.6",
"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": "d52fe8d52c1cf0e7d40595e1340018c46980ab8d957e2a4d508ea1d591d417b3",
"md5": "fee2e86b3f9341a09657288c569dddfb",
"sha256": "16e46e27488953d341498723ed5cc33a38290abeb73ad6efefd0ef6f15f6f307"
},
"downloads": -1,
"filename": "woob-3.6-py3-none-any.whl",
"has_sig": true,
"md5_digest": "fee2e86b3f9341a09657288c569dddfb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 504446,
"upload_time": "2023-05-23T13:52:29",
"upload_time_iso_8601": "2023-05-23T13:52:29.355460Z",
"url": "https://files.pythonhosted.org/packages/d5/2f/e8d52c1cf0e7d40595e1340018c46980ab8d957e2a4d508ea1d591d417b3/woob-3.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cf103eb104a43ab4ff3109109883382bdfee663412e8fda2967d0ab220479240",
"md5": "eeac114d7247ff96ff096fc5f7825970",
"sha256": "3765f4c54baeb4a837053f6d0ce82e54cee851aa3c8707a72aa8cd63d4304a76"
},
"downloads": -1,
"filename": "woob-3.6.tar.gz",
"has_sig": true,
"md5_digest": "eeac114d7247ff96ff096fc5f7825970",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 348454,
"upload_time": "2023-05-23T13:52:32",
"upload_time_iso_8601": "2023-05-23T13:52:32.048860Z",
"url": "https://files.pythonhosted.org/packages/cf/10/3eb104a43ab4ff3109109883382bdfee663412e8fda2967d0ab220479240/woob-3.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-23 13:52:32",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "woob",
"gitlab_project": "woob",
"lcname": "woob"
}