Skip to main content

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 backend
    • react.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 in seeds/ directory
  • lets web # in separate terminal
  • lets ui # in separate terminal

To start API handlers (not required for web application):

  • lets http # in separate terminal
  • lets 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

evo_featureflags_server-1.0.6.tar.gz (392.6 kB view details)

Uploaded Source

Built Distribution

evo_featureflags_server-1.0.6-py3-none-any.whl (414.7 kB view details)

Uploaded Python 3

File details

Details for the file evo_featureflags_server-1.0.6.tar.gz.

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.6.tar.gz
Algorithm Hash digest
SHA256 dfae49459964572c8a62314ac79f97dace2baa6199cb8032ca4c32815240bfbe
MD5 f744d5bbeba92215c7c4b038f3a7bafc
BLAKE2b-256 4dc068a05c147a8272a77d845113c4c002710a3c08bb9d47fd774749ccbb3606

See more details on using hashes here.

File details

Details for the file evo_featureflags_server-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 575f0faf99c1fe248998cbf2dfb7aa0111839e7f59c44edd0ed8b4f7ecab08a9
MD5 64970ad4741763784704b48394c4711b
BLAKE2b-256 ab49a287f49e6ccf5dd14733dafe46f8e151b7e0c0d86f3d7c8e400ed6c640a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page