Feature flags server
Project description
FeatureFlags service
Overview
Server requires Python >= 3.11. Server consists of actual web application and API handlers (HTTP, gRPC):
-
Web application:
fastapi_
+hiku_
+aiopg_
on backendreact.js
_ +Apollo
_ on frontend
-
gRPC API handler:
grpclib_
+hiku_
-
HTTP API handler:
fastapi_
+hiku_
ADR
Check important architecture decisions in adr/
directory.
Installation
On PyPi: https://pypi.org/project/evo-featureflags-server
To install with Sentry integration:
pip3 install evo-featureflags-server[sentry]
To install client library follow instructions here: evo-featureflags-client
Development
Run all this commands:
lets postgres
lets apply-migrations-dev
lets apply-seeds-dev
# if you have data inseeds/
directorylets web
# in separate terminallets ui
# in separate terminal
To start API handlers (not required for web application):
lets http
# in separate terminallets rpc
# in separate terminal
To build UI and copy it to web/static
directory:
lets build-copy-ui-bundle
To release package:
lets release 1.0.0 --message="Added feature"
Pre-commit
./scripts/enable-hooks.sh
./scripts/disable-hooks.sh
TODO:
- add docs, automate docs build
- add more tests
.. _fastapi: https://github.com/tiangolo/fastapi .. _hiku: https://github.com/vmagamedov/hiku .. _aiopg: https://github.com/aio-libs/aiopg .. _grpclib: https://github.com/vmagamedov/grpclib
Project details
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
Hashes for evo_featureflags_server-1.0.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfae49459964572c8a62314ac79f97dace2baa6199cb8032ca4c32815240bfbe |
|
MD5 | f744d5bbeba92215c7c4b038f3a7bafc |
|
BLAKE2b-256 | 4dc068a05c147a8272a77d845113c4c002710a3c08bb9d47fd774749ccbb3606 |
Hashes for evo_featureflags_server-1.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 575f0faf99c1fe248998cbf2dfb7aa0111839e7f59c44edd0ed8b4f7ecab08a9 |
|
MD5 | 64970ad4741763784704b48394c4711b |
|
BLAKE2b-256 | ab49a287f49e6ccf5dd14733dafe46f8e151b7e0c0d86f3d7c8e400ed6c640a2 |