Metadata-Version: 2.3
Name: eric-api
Version: 1.4.3.3
Summary: A Server side events based messaging microservice implementation
License: MIT
Keywords: sse,api,rest,Server side events,microservice,messaging
Author: Luca Stretti
Author-email: laxertu@gmail.com
Requires-Python: >=3.10,<3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: dotenv (>=0.9.9,<0.10.0)
Requires-Dist: eric-redis-queues (==1.0.6)
Requires-Dist: eric-sse (==1.5.0)
Requires-Dist: fastapi (>=0.115.12,<0.116.0)
Requires-Dist: requests (>=2.32.4,<3.0.0)
Requires-Dist: sse-starlette (>=2.2.1,<3.0.0)
Requires-Dist: sseclient (>=0.0.27,<0.0.28)
Requires-Dist: uvicorn (>=0.34.1,<0.35.0)
Project-URL: Issues, https://github.com/laxertu/eric-api/issues
Project-URL: Repository, https://github.com/laxertu/eric-api
Description-Content-Type: text/markdown

A ready-to-use SSE messaging microservice implementation. 
Intended for internal use only (all is public here by the moment).

Backend documentation https://laxertu.github.io/eric/docs.html  
REST services rely on FastApi + Uvicorn

Features:
* channel subscription
* broadcasting
* message deliver to one client
* SSE compliant streaming

**Installation:**

    pip install eric-api

**Start webserver**

    uvicorn eric_api:app

**Docker stuff**

[Here](https://github.com/laxertu/eric-api/tree/master/docker) you can find a couple of prefabs for redis and api itself

Services exposed are

http://127.0.0.1:5540/ Redis Insights. Host to use when creating dbs have to be "redis", as per service definition
http://127.0.0.1:8000/docs Swagger




**Redis persistence support**   

Activate it by creating a .eric-api.env with the following:

    QUEUES_FACTORY=redis

Redis host is configured by  

    REDIS_HOST=[host to use]
    REDIS_PORT=[port]
    REDIS_DB=[db number]

API documentation is available at http://127.0.0.1:8000/docs by default

See correspondant uvicorn configuration https://www.uvicorn.org/deployment/#running-from-the-command-line 

Bug Tracker: https://github.com/laxertu/eric-api/issues

