Skip to main content

Woob, Web Outside Of Browsers

Project description

Package Version Last commit Python Version License

Woob (Web Outside of Browsers) is a library which provides a Python standardized API and data models to access websites.

Overview

https://woob.dev/_images/arch.png

There are three main concepts:

  • Capabilities: This is a standardized interface to access a specific kind of website. It provides an unified API and standard datamodels;

  • Modules: A module is dedicated to a specific website. It can implements several capabilities (for example paypal 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: 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:

>>> 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.

Installation

Read this documentation.

Documentation

More information about how to use woob at woob.dev.

Contributing

If you want to contribute to woob (patch of the core, creating new modules, etc.), read this.

Chat with us

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

woob-3.7.tar.gz (357.4 kB view details)

Uploaded Source

Built Distribution

woob-3.7-py3-none-any.whl (514.3 kB view details)

Uploaded Python 3

File details

Details for the file woob-3.7.tar.gz.

File metadata

  • Download URL: woob-3.7.tar.gz
  • Upload date:
  • Size: 357.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for woob-3.7.tar.gz
Algorithm Hash digest
SHA256 b1d7113ba87a9b947c13a1e3b4bb4fa616ba3037092b54912fc3fee2647d1b2f
MD5 c31d0ff73200860a0680b75e05bcf4bd
BLAKE2b-256 85f3a2dc1bb679de004aa1e48c8b77b5d5b9bca3007b2f25e0c39f850a009186

See more details on using hashes here.

File details

Details for the file woob-3.7-py3-none-any.whl.

File metadata

  • Download URL: woob-3.7-py3-none-any.whl
  • Upload date:
  • Size: 514.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for woob-3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 bcfb035d2cf5791d256aa0f344de3b4474f383255694a139cbfdb81bf31976f5
MD5 180db782551611bf90871f97e0c4f7ad
BLAKE2b-256 e06f0a2f6d5eb3aacb930d42eb7ed18aa79f82fe9d567cefb57d077352306364

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page