42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# OpenMensa Parsers
|
|
|
|
[](https://openmensa-parsers.readthedocs.io/en/latest/)
|
|
|
|
[OpenMensa][om] parser components query canteen websites for menus and transform them into OpenMensa's data format.
|
|
The default parser currently supports Studentenwerk Potsdam. The package is structured so additional city or provider parsers can be added behind the same OpenMensa XML renderer.
|
|
|
|
Among others, OpenMensa powers the popular [Mensa Uni Potsdam][steppschuh] Android app.
|
|
|
|
The current application is built with [Python][py], PyOpenMensa, and [Flask][flask]. Learn more about the technical details at [Read the Docs][rtd].
|
|
|
|
## Local development (modern)
|
|
|
|
Recommended: Python 3.12+.
|
|
|
|
**Option A (uv, recommended)** ::
|
|
|
|
$ uv venv
|
|
$ uv pip install -e ".[dev]"
|
|
$ uv run flask --app openmensa_parsers.views run
|
|
|
|
**Option B (venv + pip)** ::
|
|
|
|
$ python -m venv .venv
|
|
$ . .venv/bin/activate
|
|
$ pip install -e ".[dev]"
|
|
$ FLASK_APP=openmensa_parsers.views flask run
|
|
|
|
**Contributions** are always welcome, in particular if the response format of the canteens change. Feel free to file a PR with improvements.
|
|
|
|
**Deployment** Coordinate deployment with the maintainer responsible for the running parser instance and its OpenMensa registration.
|
|
|
|
**Where to go next** maybe use this parser or the OpenMensa API to source a new dataset for training a predictor for your favorite lunch?
|
|
|
|
**License** Just assume this project is licensed in terms of [WTFPL](http://www.wtfpl.net/) ;)
|
|
|
|
[om]: https://openmensa.org
|
|
[rtd]: https://openmensa-parsers.readthedocs.io/en/latest/
|
|
[steppschuh]: https://steppschuh.net/blog/?p=951
|
|
[py]: http://python.org
|
|
[flask]: https://palletsprojects.com/p/flask/
|