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 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.2.tar.gz (379.6 kB view details)

Uploaded Source

Built Distribution

evo_featureflags_server-1.0.2-py3-none-any.whl (397.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.2.tar.gz
Algorithm Hash digest
SHA256 e69ec11c4ae17e5b1cf6d4d22d64f65faf2ab949d23e3f2bd5cc13b3c9e28553
MD5 ad64b1a12be68e9f178e30ac9124178a
BLAKE2b-256 3ff9fda6cf37f846fb4fb4ee4c0888e7ba3e4399d66c8567eb3320685a156a41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3f24f092bd5e73bf4e8e5353744729f43042023d722d7a4a3d8dc0fbb76ff827
MD5 163b83903ed54218dccf54aafb28ccd7
BLAKE2b-256 52c70675315382f135ec6dadf53fdfa91ba6bde87c7291c469f60f9c6926bd71

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