woob


Namewoob JSON
Version 3.7 PyPI version JSON
download
home_pageNone
SummaryWoob, Web Outside Of Browsers
upload_time2024-10-29 17:08:17
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseLGPL-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"
}
        
Elapsed time: 1.47386s