woob


Namewoob JSON
Version 3.6 PyPI version JSON
download
home_page
SummaryWoob, Web Outside Of Browsers
upload_time2023-05-23 13:52:32
maintainer
docs_urlNone
author
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": "",
    "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"
}
        
Elapsed time: 0.06742s