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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evo_featureflags_server-1.0.0-py3-none-any.whl (397.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: evo_featureflags_server-1.0.0.tar.gz
  • Upload date:
  • Size: 379.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.12.2 CPython/3.10.12

File hashes

Hashes for evo_featureflags_server-1.0.0.tar.gz
Algorithm Hash digest
SHA256 99d2157eb38c2bbadd8669ed4a7f5f70874b1508f06b4d28e3122bc8f7b66420
MD5 3e15c6e16370e01c7e9597057263aacc
BLAKE2b-256 0eb44cb088cd544762d0f3998a9a30760a4bf898c8234c52bd312018bf16c23c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dca3b26444c6cf01e9133c2d8a0c5194c94f160085f5e629d7283fd1890a7d8f
MD5 dc04e2a050bcc7b2e8ec9158fae1fdf9
BLAKE2b-256 0ecbbf05b473f58cdcdd50b459e771a432013fbe6ae0f024abe75311ede1f75f

See more details on using hashes here.

Supported by

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