Create new service following the structure as described in the fastapi_serviceutils documentation. Using Cookiecutter to create the new folder.
usage: create_service [-h] -n SERVICE_NAME -p SERVICE_PORT -a AUTHOR -e AUTHOR_EMAIL -ep ENDPOINT -o OUTPUT_DIR create new service based on fastapi using fastapi_serviceutils. optional arguments: -h, --help show this help message and exit -n SERVICE_NAME, --service_name SERVICE_NAME the name of the service to create. ATTENTION: only ascii-letters, "_" and digits are allowed. Must not start with a digit! -p SERVICE_PORT, --service_port SERVICE_PORT the port for the service to listen. -a AUTHOR, --author AUTHOR the name of the author of the service. -e AUTHOR_EMAIL, --author_email AUTHOR_EMAIL the email of the author of the service. -ep ENDPOINT, --endpoint ENDPOINT the name of the endpoint for the service to create. ATTENTION: only lower ascii-letters, "_" and digits are allowed. Must not start with a digit! -o OUTPUT_DIR, --output_dir OUTPUT_DIR
Usual tasks during development are wrapped inside the Makefile. This contains updating of the environment, creation of the docs, etc.
Helpers for development of fastapi_serviceutils. Usage: make <target> [flags...] Targets: check Run all checks defined in .pre-commit-config.yaml. clean Clean the working directory from temporary files and caches. doc Create sphinx documentation for the project. docs Create sphinx documentation for the project. finalize Finalize the main env. help Show the help prompt. info Show info about current project. init Initialize project tests Run tests using pytest. update Update environments based on pyproject.toml definitions. Flags: Note: This workflow requires the following programs / tools to be installed: - poetry - dephell - pyenv
For a predefined development environment the
.tmuxp.yml configuration can
be used to create a Tmux-session (using Tmuxp) with a window including three
one panel for editing files
one panel running the service
one panel running the tests
Run the following command to create the tmux-session:
tmuxp load .