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

Uploaded Source

Built Distribution

evo_featureflags_server-1.0.3-py3-none-any.whl (397.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.3.tar.gz
Algorithm Hash digest
SHA256 6f824689f0ceec4ba9f3bb71820a645ebf0fa321b8385bb45e64ceae2aded7ae
MD5 6de54d6f9d10260f4a8bfc94ac8ce362
BLAKE2b-256 3e6f7453e6d0020fa6d2425d8c2749f79cda0f214971eaefb967292ee95e017f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 63de2a2a0103d8c301481689676a54a41afb5574ea0f773cfd88512de417c2fd
MD5 ee3dd807bf11eacad39c92eb58e57450
BLAKE2b-256 7fdab34c43b44de4f4195999604521cb698f0f6b3da416571d3eac570e0d24fb

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