jkerola / jmenu

Python app and library to fetch menus from University of Oulu restaurants and jamix in general.

Home Page:https://jkerola.github.io/jmenu/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jmenu

Command line tool for fetching University of Oulu restaurant menus from the Jamix API.

Doubles as a general library for fetching menu info from Jamix.

Installing

Python Package Index

jmenu is available for install on the python package index.

pip install jmenu

Building from source

For testing purposes, the package can be built from the repository source code.

pip install build
python3 -m build
pip install dist/<package_name>.whl

Usage

Command line tool

jmenu can be invoked from the command line as is:

jmenu [-h] [-v] [-e] [-t] [-l {fi,en}] [-a markers [G, VEG ...]]

All flags and parameters described below

Argument Example Description
-a, --allergens g veg Highlights appropriately marked results
Flag Description
-h, --help Display usage information
-v, --version Display version information
-e, --explain Display allergen marker information
-t, --tomorrow Fetch menu results for tomorrow
-l, --language Result language, opts: {fi, en}

Python library

jmenu can also be imported as a library:

from jmenu import main

main.run()

Documentation for the library can be found in the project pages.

Contributing

Pull requests are welcome. We use pre-commit hooks and GitHub actions to ensure code quality.

Development environment setup

Requirements

  • Python 3.10+
  • Virtualenv

Setup the development environment with

python3 -m virtualenv env
source env/bin/activate
pip install -r requirements.txt

Testing

Run the tool

python3 -m src.jmenu.main

Execute unit tests

pytest

Documentation

Documentation for the project is available in the project pages.

Build documentation from source

The documentation for the modules is built with Mkdocs. and the mkdocstrings extension, using google style docstrings.

You can build it from source by installing mkdocs

pip install mkdocs mkdocs-material
mkdocs serve

and navigating to localhost:8000 in your browser.

About

Python app and library to fetch menus from University of Oulu restaurants and jamix in general.

https://jkerola.github.io/jmenu/

License:MIT License


Languages

Language:Python 100.0%