This presents a simple key value data store with a list of ids and configurable backends.
You can configure docker with environmental variables.
OpenTelemetry is used for instrumentation. Configure via standard OTEL environment variables.
You can add additional environmental vars for backends.
FLOE_URL_FOO='file://.floe'
FLOE_URL_BAR='file:///tmp/floe'
FLOE_URL_BAZZ='mysql://root:pass@127.0.0.1:3306/test?table=bazz'
FLOE_URL_QUUX='http://127.0.0.1:995/my_namespace'
You can add other connectors. The interface provides the following methods:
- get
- get_multi
- set
- set_multi
- delete
- delete_multi
- ids
- flush
The ids method returns a generator to iterate. The multi methods allow you do do batch operations on multiple keys.
Due to some inconsistencies with the way request bodies are handled in different WSGI implementations, PUT requests with a missing or incorrect Content-Length header may hang (https://falcon.readthedocs.io/en/stable/user/faq.html#why-does-req-stream-read-hang-for-certain-requests).
An easy workaround for this when running the server locally is to use gunicorn rather than wsgiref.simple_server
$ pip install gunicorn
$ gunicorn -w 4 run:app
- Set a new version number in floe/version.py
./activateto set up and enter the project venv./publish.shto create source and binary distributions and upload them to pypi using thetwinetool
Credentials for pypi are stored in 1password