diff --git a/README.md b/README.md index c0520b3..7898906 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,17 @@ This is the backend of the Flaschengeist. -## Installation -### Requirements -- `mysql` or `mariadb` - - maybe `libmariadb` development files[1] -- python 3.7+ +# Installation +## Main package +### System dependencies +- **python 3.7+** +- Database (MySQL / mariadb by default) -[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 +By default Flaschengeist uses mysql as database backend, +if you are on Windows Flaschengeist uses `PyMySQL`, which does not require any other system packages. + +But on Linux / Mac / *nix 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 @@ -22,16 +25,12 @@ 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` +You will also need a MySQL driver, by default one of this is installed: +- `mysqlclient` (non Windows) +- `PyMySQL` (on Windows) -`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/ +#### Hint on MySQL driver on Windows: +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/) ### Install database The user needs to have full permissions to the database. @@ -44,11 +43,12 @@ If not you need to create user and database manually do (or similar on Windows): echo "FLUSH PRIVILEGES;" ) | sudo mysql -Then you can install the database tables +Then you can install the database tables, this will update all tables from core + all enabled plugins. $ flaschengeist db upgrade heads -Or to only upgrade one plugin: +## Plugins +To only upgrade one plugin: $ flaschengeist db upgrade events@head