Skip to main content

Python API voor de website mijn.bibliotheek.be

Project description

mijnbib

Python API voor (mijn.) bibliotheek.be

Met deze Python library kan je jouw ontleende items, reservaties en accountinfo opvragen indien je een account hebt op https://bibliotheek.be.

Installatie

Installeer via:

pip install mijnbib

Gebruik

Bijvoorbeeld, het opvragen van je ontleende items kan als volgt (na installatie):

from mijnbib import MijnBibliotheek

city = "gent"           # jouw gemeente of stad
username = "johndoe"
password = "12345678"
account_id = "12345"    # zie het getal in de URL, of via mb.get_accounts()

mb = MijnBibliotheek(username, password, city)
loans = mb.get_loans(account_id)
print(loans)

Voor meer voorbeelden, zie de code in de folder examples. Daarin wordt ook pprint gebruikt voor een meer leesbare output.

Opmerkingen

Deze Python API haalt zijn gegevens via webscraping van de bibliotheek.be website. Daardoor is ze afhankelijk van de structuur van de website. Bij een wijziging aan de structuur van de website is het dus heel waarschijnlijk dat alle of bepaalde functionaliteit plots niet meer werkt.

In dat geval is het wachten tot deze Python library geupdate is om met de nieuwe structuur om te gaan.

Alternatieven

De Home Assistant plugin https://github.com/myTselection/bibliotheek_be scraped op een gelijkaardige manier de bibliotheek.be website.

Development

To install all dependecies for development, install (in a virtualenv) via:

pip install -e .[dev]      # 'dev' is defined in pyproject.toml

Running the tests and applying code formatting can be done via:

make test
make black

To work around the challenge of testing a web scraper, the following snapshot testing approach can be used to get some confidence when applying refactoring:

  1. Create a file test_config.py in the project root folder, and make it contain the city, username, password and and account_id (see the next file for expected variable naming and format)
  2. Run python tests/save_testref.py to capture and store the current output (a couple of files will be created)
  3. Perform refactoring as needed
  4. Run pytest tests/tst_mijnbibliotheek.py (note: it's pytest here!) to check if the output still matches the earlier captured output

Creating a distribution archive:

make clean
make build

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

mijnbib-0.0.1.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

mijnbib-0.0.1-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file mijnbib-0.0.1.tar.gz.

File metadata

  • Download URL: mijnbib-0.0.1.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for mijnbib-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5b22eb78a8f4269bdfa44069041fac0ac284cf671c639e511f2e15e68bdd3113
MD5 7ec736febe786ca849d27651f069dbbf
BLAKE2b-256 f89b1338da662c7e8dda2770f607abc0767d2e93d36e7e731f6c08d6adf88420

See more details on using hashes here.

File details

Details for the file mijnbib-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: mijnbib-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for mijnbib-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac389e5c00333030848bfcb0dfa7647efc345ebd9be6dd4949a11589e5a81b23
MD5 4af934111edf22896540af217ef4aa68
BLAKE2b-256 2f235862598dc0fd36a71e1ac955b7b1cbdeda1651f135ae7e7042fcadd8f877

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