Ferdinand Thiessen 3d833fb6af | ||
---|---|---|
flaschengeist | ||
tests | ||
.git-blame-ignore-revs | ||
.gitignore | ||
LICENSE | ||
flaschengeist.wsgi | ||
readme.md | ||
run_flaschengeist | ||
setup.cfg | ||
setup.py |
readme.md
Flaschengeist
This is the backend of the Flaschengeist.
Installation
Requirements
mysql
ormariadb
- maybe
libmariadb
development files[1]
- maybe
- python 3.7+
[1] By default Flaschengeist uses mysql as database backend, if you are on Windows Flaschengeist uses PyMySQL
, but on
Linux / Mac the faster mysqlclient
is used, if it is not already installed installing from pypi requires the
development files for libmariadb
to be present on your system.
Install python files
pip3 install --user .
or with ldap support
pip3 install --user ".[ldap]"
or if you want to also run the tests:
pip3 install --user ".[ldap,test]"
You will also need a MySQL driver, recommended drivers are
mysqlclient
PyMySQL
setup.py
will try to install a matching driver.
Windows
Same as above, but if you want to use mysqlclient
instead of PyMySQL
(performance?) you have to follow this guide:
https://www.radishlogic.com/coding/python-3/installing-mysqldb-for-python-3-in-windows/
Configuration
Configuration is done within the a flaschengeist.toml
file, you can copy the one located inside the module path
(where flaschegeist is installed) or create an empty one and place it inside either:
~/.config/
- A custom path and set environment variable
FLASCHENGEIST_CONF
Uncomment and change at least all the database parameters!
Database installation
The user needs to have full permissions to the database. If not you need to create user and database manually do (or similar on Windows):
(
echo "CREATE DATABASE flaschengeist;"
echo "CREATE USER 'flaschengeist'@'localhost' IDENTIFIED BY 'flaschengeist';"
echo "GRANT ALL PRIVILEGES ON 'flaschengeist'.* TO 'flaschengeist'@'localhost';"
echo "FLUSH PRIVILEGES;"
) | sudo mysql
Then you can install the database tables and initial entries:
run_flaschengeist install
Run
run_flaschengeist run
or with debug messages:
run_flaschengeist run --debug
This will run the backend on http://localhost:5000
Tests
$ pip install '.[test]'
$ pytest
Run with coverage report:
$ coverage run -m pytest
$ coverage report
Or with html output (open htmlcov/index.html
in a browser):
$ coverage html
Development
Please refer to our development wiki.