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 PyPI - License


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

Get the loans

  1. Display a list of your loans and their due date
  2. ...for many card holders at once (family) (TODO)
  3. and check the next return date for all you cards (TODO)

Usage

Install

pip install mediathequederoubaix

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

⚠️ Only the first user in the config is supported. Multi-users is planned.

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

Installation

pip install mediathequeroubaix

Development

  • Clone this repository
  • Requirements:
  • Create a virtual environment and install the dependencies
poetry install
  • Activate the virtual environment
poetry shell
  • Pre-commit
pre-commit install

Or if you want to run all checks for all files:

pre-commit run --all-files
  • Testing
pytest

Releasing

Trigger the Draft release workflow (press Run workflow). This will update the changelog & version and create a GitHub release which is in Draft state.

Find the draft release from the GitHub releases and publish it. When a release is published, it'll trigger release workflow which creates PyPI release.

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.0.1.tar.gz (11.5 kB view hashes)

Uploaded Source

Built Distribution

mediathequeroubaix-1.0.1-py3-none-any.whl (14.6 kB view hashes)

Uploaded Python 3

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