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

Uploaded Source

Built Distribution

evo_featureflags_server-1.0.5-py3-none-any.whl (414.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.5.tar.gz
Algorithm Hash digest
SHA256 4a30625e978e84472bfc3d0ceef6f324ea1163da160ff0196bd9b3e48548a949
MD5 6900b9ac366f52906c2c8c102d816266
BLAKE2b-256 71216c1785c086bdde580935493c1d0e32c5c0f3f5814439437adb7f61cbf235

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c46122469a8abe5263d69e452c54908128514af71a37abff42ac60a5b4d8785b
MD5 b7ecfe0c42be5addd50562940c885a5d
BLAKE2b-256 b60d464d145c5fc8021155c91a53002eb0f8b71a3b2bdbc4f732021911ae9903

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