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

Uploaded Source

Built Distribution

evo_featureflags_server-1.16.0-py3-none-any.whl (484.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: evo_featureflags_server-1.16.0.tar.gz
  • Upload date:
  • Size: 460.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.0 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for evo_featureflags_server-1.16.0.tar.gz
Algorithm Hash digest
SHA256 a8a0eb25c7b7eee98ceb2b986750a92e118ff19b3130e09262e9af9d01ea275c
MD5 67f58a4a5546d02b618fd3111743f7cb
BLAKE2b-256 becb61f5d5f50b787a321d44ef38d04f94be0996a7a5f4c2f3f63c2db19c8158

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e884a2327cec8e137f0dadb78f1fa4f6ed9361d6f9430191d421fde727520f01
MD5 c4ddba9afcaef8e37ce796b3eb2dce2c
BLAKE2b-256 51a81ee5f9548de81c4bc3c0735eba8bee76c0d0f09647e954025bfdf84b102f

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