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, this will start vite dev server

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 ui-build-dev

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.22.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

evo_featureflags_server-1.22.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: evo_featureflags_server-1.22.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • 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.22.0.tar.gz
Algorithm Hash digest
SHA256 2b5327c711e255bb27194bddc10834963e0c0d953b1f5273a6262197c360f446
MD5 710a3b2bf594199b069630e0a6c9eaa3
BLAKE2b-256 ddac5e36f3f4ec7697746e4ad8e53de5fc2eb73345715a7344fd1809b0c99734

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for evo_featureflags_server-1.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ba6053280c7e8768efc852c518ad3a07d6fbcc73d8166a40c66f69b44c1b324
MD5 9c538d75790d87d93640bf3564c3dbb0
BLAKE2b-256 3edff90f70b9235425fc300cac0ac2838f4493cac40203b5d79520c3c012432f

See more details on using hashes here.

Supported by

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