Getting started
This package uses Poetry.
VSCode
For vscode install the python extension and add the poetry venv path to the folders the python extension searches for venvs.
On linux:
json
{
"python.venvFolders": [
"~/.cache/pypoetry/virtualenvs"
]
}
Development
Run poetry install to install dependencies.
Environment variables
The flask dev server loads environment variables from .flaskenv and .env. To override any variable create a .env file. Environment variables in .env take precedence over .flaskenv. See the content of the .flaskenv file for the default environment variables.
You can also add an IBM_TOKEN to the .env file to use the IBM backend without a token in each request. Set the EXECUTE_CELERY_TASK_ASYNCHRONOUS in your .env file to False, if you don’t want to start a celery worker and execute all tasks synchronously.
Run the Development Server
Run the development server with
poetry run flask run
Start Docker, init the celery worker and then start it
poetry run invoke start-broker
poetry run invoke worker
Create the initial database (If this doesn’t work, try to delete the db-file from the “instance” folder)
flask create-and-load-db
Check Linting Errors
poetry run invoke check-linting
Userful Links
Trying out the Template
For a list of all dependencies with their license open http://localhost:5005/licenses. The Port for qunicorn_core is set to 5005 to not interfere with other flask default apps. Settings can be changed in the .flaskenv.
The API:
OpenAPI Documentation:
Configured in qunicorn_core/util/config/smorest_config.py.
Redoc (view only): http://localhost:5005/redoc
Rapidoc: http://localhost:5005/rapidoc
Swagger-UI: http://localhost:5005/swagger-ui
OpenAPI Spec (JSON): http://localhost:5005/api-spec.json
Debug pages:
Index: http://localhost:5005/debug/
Registered Routes: http://localhost:5005/debug/routes | Useful for looking up which endpoint is served under a route or what routes are available.