Skip to main content

Client for the library of Roubaix (Médiathèque Roubaix)

Project description

MediathequeRoubaix.py

Python CLI for the library of Roubaix (Médiathèque Roubaix)

PyPI PyPI - Python Version


Releases: https://github.com/tomsquest/mediathequeroubaix.py/releases

Source Code: https://github.com/tomsquest/mediathequeroubaix.py

PyPI: https://pypi.org/project/mediathequeroubaix/


Table of Contents

Features

MédiathèqueRoubaix.py is a client for the libray of Roubaix, mediathequederoubaix.fr.

Screenshot mediathequederoubaix.fr

Display your loans

Running mediathequeroubaix loans list will:

  1. Get the list of your loans and their due date
  2. ...for many cardholders
  3. and check the next return date for each of your card

Renew your loans

Running mediathequeroubaix loans renew will:

  1. Renew automatically all loans
  2. ...for many cardholders
  3. and print the new due date of the loans

Usage

Running

With Pipx:

pipx run mediathequederoubaix

With UV:

uvx mediathequederoubaix

If you want to install it globally:

pipx install mediathequeroubaix

Create an initial, sample configuration

config create makes a sample configuration in $HOME/.config/mediathequederoubaix/config.json and display the content of the file.
The configuration is initialized with a sample but fake user.

mediathequeroubaix config create

Screenshot CLI config create

Display the current configuration

config show displays the current configuration.

mediathequeroubaix config show

Screenshot CLI config show

List the loans

loans list show the list of loans for the users.

mediathequeroubaix loans list

Screenshot CLI loans list

Renew the loans

loans renew renew the list of loans for the users and display the new loans.

mediathequeroubaix loans renew

Screenshot CLI loans renew

Why I am doing this

I created this project to:

  1. Learn Functional Programing
  2. Learn typed and modern Python
  3. Be able to quickly list and renew my loans (especially when you have many cards)

Changelog

See CHANGELOG.md

Development

  • Clone this repository
  • Install UV
  • (Optional) if using direnv, create .envrc with:
uv sync
source .venv/bin/activate
  • Testing
pytest
  • Check everything in one go
pre-commit run --all-files
  • Run the CLI
python src/mediathequeroubaix/main.py

Releasing

  1. Commit, tag, publish using the release script:
./bin/release.py 1.2.3
  1. Update CHANGELOG.md
  2. Create a new release on GitHub

Credits

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

mediathequeroubaix-1.6.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mediathequeroubaix-1.6.1-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file mediathequeroubaix-1.6.1.tar.gz.

File metadata

  • Download URL: mediathequeroubaix-1.6.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.21

File hashes

Hashes for mediathequeroubaix-1.6.1.tar.gz
Algorithm Hash digest
SHA256 eaf85a7d45231699f0c91f899f1d35e9820480222765de4bc1fcd140f2a9711e
MD5 62e3e6de539a26db887c16f05be80ea3
BLAKE2b-256 ee01b0aa6e0d499d7be44d2aef1c5e0e70edd9de46e41dbdd8041e432276e6ed

See more details on using hashes here.

File details

Details for the file mediathequeroubaix-1.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mediathequeroubaix-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 969143f19371f1bed8ca36b29e26dac6d072d7312aaf7e21cf72715083251bc8
MD5 b036018223464e1fefce1b11290afcbf
BLAKE2b-256 a33381c60237015bb855bffe0846c9ab36addfc5f14f2832648cf3fb9780e034

See more details on using hashes here.

Supported by

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