Skip to content

Elastoo-Team/sitri

Repository files navigation

Sitri - powerful settings & configs for python

PyPI codecov Maintainability Code Climate technical debt Build Status Read the Docs

Sitri - library for managing authorization and configuration data from a single object with possibly different or identical providers

Installation

poetry add sitri -E "all"

or

pip3 install sitri[all]

Extras packs and providers:

1. all - all providers and settings module.
2. settings - pydantic, providers with settings-support.
3. redis - for redis provider.
4. hvac - for HashiCorp Vault provider.
5. vedis - for vedis provider.
6. pyyaml - for YAML provider.
7. orjson - speed-up your json provider (optional).

Basics with SystemProvider

from sitri.providers.contrib import SystemConfigProvider
from sitri import Sitri

conf = Sitri(
    config_provider=SystemConfigProvider(prefix="basics"),
)

System provider use system environment for get config data. For unique - sitri lookup to "namespace" by prefix.

Example:

In console:

export BASICS_NAME=Huey

In code:

name = conf.get_config("name")

print(name)  # output: Huey

Docs

Read base API references and other part documentation on https://sitri.readthedocs.io/