A simple flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support.
Project description
A simple flask library for building microservices with RBAC JWT security, OpenAPI client and SQLAlchemy database support.
Developer Quick Start Guide
Follow the instructions below to get a development environment up and running quickly!
Prerequisites
Python 3.10+
Getting Help with Make Tasks
Execute the following command to get a full list of make targets:
$ make help
Setup Python Development Environment
Create a Python virtual environment:
$ mkvirtualenv -p py310 flask-ligand
Setup develop environment:
$ make develop-venv
Setup git pre-commit hooks:
$ make setup-pre-commit
Verify that environment is ready for development:
$ make test-tox
Configuration Settings
The following environment variables are available to configure behavior of services that use this library when utilizing the built-in ‘local’ and ‘dev’ and ‘prod’ Flask environments. (See flask_environments.rst for more details about the available built-in Flask environments)
(Note: this project does support the use of ‘.env’ files for loading environment variables)
ENV |
Default Value for ‘local’ Flask Environment |
Description |
---|---|---|
SERVICE_PUBLIC_URL |
http://localhost:5000 |
The public URL for this service. (Also used for generating OpenAPI clients) |
SERVICE_PRIVATE_URL |
http://localhost:5000 |
The private URL for this service. (Also used for generating OpenAPI clients) |
ALLOWED_ROLES |
user,admin |
A comma separated list of user roles that are allowed for endpoint protection. (e.g. ‘user,admin’) |
OIDC_ISSUER_URL |
Not set (must be provided) |
The OpenID Connect IAM URL to use for authentication. |
OIDC_REALM |
Not set (must be provided) |
The OpenID Connect IAM realm to use for authentication. |
SQLALCHEMY_DATABASE_URI |
sqlite:///:memory: |
The URI for a PostgreSQL database to use for persistent storage. (See database_configuration.rst for more information) |
OPENAPI_GEN_SERVER_URL |
http://api.openapi-generator.tech |
The OpenAPI online generator server URL to use for creating clients. |
Integration Testing
See integration_testing.rst for more details on how to setup and run the integration tests for the flask-ligand project.
Contributing
See CONTRIBUTING.rst for more details on developing for the flask-ligand project.
Release Process
See release_process.rst for information on the release process for the flask-ligand project.
Python Black IDE Integration
This repo utilizes Python Black for automatic code formatting using the make format task. However, this is not very convenient to use on a regular basis and instead it is recommended to integrate Python Black into your IDE workflow. Checkout these editor integration guides for integrating Python Black with popular IDEs and text editors.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flask-ligand-0.3.0.tar.gz
.
File metadata
- Download URL: flask-ligand-0.3.0.tar.gz
- Upload date:
- Size: 61.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.8.2 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c2ae16f4614f42b0de1c680f135323e069df1757efad564ed7072c358d4202d |
|
MD5 | bbb32abc5f5171549a9bb2b454eb72e3 |
|
BLAKE2b-256 | 5c3b5c364b8008364c69b15da678641ad4fd8220b24cd68a13a4009ce0300835 |
File details
Details for the file flask_ligand-0.3.0-py2.py3-none-any.whl
.
File metadata
- Download URL: flask_ligand-0.3.0-py2.py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.8.2 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a293677b1b455f3d5eaa514cc70289875328895135b9e7bdfa1388c3bece3830 |
|
MD5 | ad1f7a8954c4472b9cdebe4f7923426b |
|
BLAKE2b-256 | b5c4315e5965fa6cd653c979e900c9ca89b3c7bccfecb20f2aa49c1a0a22c911 |