# 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.
new relic can use the standard environmental variables:
https://docs.newrelic.com/docs/agents/python-agent/installation-configuration/python-agent-configuration#environment-variables
then you can add additonal 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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/happybits/floe",
"name": "floe",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "John Loehrer",
"author_email": "john@happybits.co",
"download_url": "https://files.pythonhosted.org/packages/2c/14/84e5f6a9c761a9309c570ecd67da8c0dfb529d648519b515d64515d8a554/floe-0.0.14.tar.gz",
"platform": null,
"description": "# Floe Microservice\n\nThis presents a simple key value data store with a list of ids and configurable backends.\n\n## Configuration\nYou can configure docker with environmental variables.\n\nnew relic can use the standard environmental variables:\n\nhttps://docs.newrelic.com/docs/agents/python-agent/installation-configuration/python-agent-configuration#environment-variables\n\n\nthen you can add additonal environmental vars for backends.\n\n```\nFLOE_URL_FOO='file://.floe'\nFLOE_URL_BAR='file:///tmp/floe'\nFLOE_URL_BAZZ='mysql://root:pass@127.0.0.1:3306/test?table=bazz'\nFLOE_URL_QUUX='http://127.0.0.1:995/my_namespace'\n```\n\n## API\nYou can add other connectors. The interface provides the following methods:\n\n * get\n * get_multi\n * set\n * set_multi\n * delete\n * delete_multi\n * ids\n * flush\n\nThe ids method returns a generator to iterate.\nThe multi methods allow you do do batch operations on multiple keys.\n\n## Running Locally\n\nDue 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).\n\nAn easy workaround for this when running the server locally is to use gunicorn rather than wsgiref.simple_server\n\n```\n$ pip install gunicorn\n$ gunicorn -w 4 run:app\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Floe",
"version": "0.0.14",
"project_urls": {
"Homepage": "https://github.com/happybits/floe"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "663247daf288acdd10abae30c3a33a38dee7267492200a3d0e7fa0726ad57ddd",
"md5": "72d2a8a34db7721f066f6edddc53b5a1",
"sha256": "483f68a7ca851603277a06e8a9e900dfd3960eec0e39a2168e1c0eda46992a5f"
},
"downloads": -1,
"filename": "floe-0.0.14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "72d2a8a34db7721f066f6edddc53b5a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12822,
"upload_time": "2024-02-09T20:47:41",
"upload_time_iso_8601": "2024-02-09T20:47:41.123460Z",
"url": "https://files.pythonhosted.org/packages/66/32/47daf288acdd10abae30c3a33a38dee7267492200a3d0e7fa0726ad57ddd/floe-0.0.14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c1484e5f6a9c761a9309c570ecd67da8c0dfb529d648519b515d64515d8a554",
"md5": "f9932e1f72c61cfe5b84a1223049617d",
"sha256": "77001c2d1dd35b346ed9bf523a587b0602737716cea8403b6d7739815e4b5bc2"
},
"downloads": -1,
"filename": "floe-0.0.14.tar.gz",
"has_sig": false,
"md5_digest": "f9932e1f72c61cfe5b84a1223049617d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11332,
"upload_time": "2024-02-09T20:47:42",
"upload_time_iso_8601": "2024-02-09T20:47:42.170322Z",
"url": "https://files.pythonhosted.org/packages/2c/14/84e5f6a9c761a9309c570ecd67da8c0dfb529d648519b515d64515d8a554/floe-0.0.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-09 20:47:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "happybits",
"github_project": "floe",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [],
"tox": true,
"lcname": "floe"
}