Skip to main content

# Floe Microservice

This presents a simple key value data store with a list of ids and configurable backends.

## Configuration 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' `

## API 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.

## Running Locally

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 `

## Publishing new versions

  1. Set a new version number in floe/version.py

  2. ./activate to set up and enter the project venv

  3. ./publish.sh to create source and binary distributions and upload them to pypi using the twine tool

Credentials for pypi are stored in 1password

Release files for floe 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for floe 0.1.0
File Size Uploaded
floe-0.1.0.tar.gz 11.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for floe 0.1.0
File Interpreter ABI Platform
floe-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.1 kB

Release files / floe-0.1.0.tar.gz

Download URL floe-0.1.0.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
89fc87111234d18a3f7915f5ed612037228acc77102c2076658a3972d9f976dd
BLAKE2b-256 checksum
How to use checksums
b77df626f4e52a36af8e0615e002c6e0c7d672b27c01d602e39aeee399c2b537
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / floe-0.1.0-py3-none-any.whl

Download URL floe-0.1.0-py3-none-any.whl
Size 12.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6818ac4eff2f46708d7ece669c792c6313e5511059a2aa05ba7ae22bd489769d
BLAKE2b-256 checksum
How to use checksums
2299e10cf671489c6ae7d0b570c6fe26618ab1fbaf25f9882b6dddf92c93496a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page