Tool for fetching University of Oulu restaurant menus from Jamix.
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.