Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

confdaora

Project description

confdaora

confdaora

Configurations using python annotations


Documentation:

Source Code:


Key Features

  • Generate a DictDaora with values parsed from environment variables.

Requirements

  • Python 3.6+
  • dictdaora
  • jsondaora

Instalation

$ pip install confdaora

Basic example

from typing import TypedDict

from confdaora import confdaora_env


class AppConfig(TypedDict):
    port: int
    host: str


config = confdaora_env(AppConfig)

print(config)

Suposing your file calls myconf.py:

PORT=8080 HOST=localhost python myconf.py

{'port': 8080, 'host': 'localhost'}

Complex example

from typing import List, TypedDict

from confdaora import confdaora_env


class DBConfig(TypedDict):
    __prefix__ = 'db'
    port: int = 3306
    host: str


KeyConfig = TypedDict('KeyConfig', {'name': str, 'values': List[int]})
KeyConfig.__prefix__ = 'keys'


class AppConfig(TypedDict):
    port: int = 8080
    host: str
    db: DBConfig
    keys: List[KeyConfig]


config = confdaora_env(AppConfig)

print(config)

Suposing your file calls myconf.py:

HOST=localhost \
DB_HOST=localhost \
KEYS_0_NAME=test \
KEYS_0_VALUES=10,20 \
KEYS_1_NAME=test2 \
KEYS_1_VALUES=30,40 \
python myconf.py

{'port': 8080, 'host': 'localhost', 'db': {'port': 3306, 'host': 'localhost'}, 'keys': [{'name': 'test', 'values': [10, 20]}, {'name': 'test2', 'values': [30, 40]}]}

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for confdaora, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size confdaora-0.0.2-py3-none-any.whl (10.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size confdaora-0.0.2.tar.gz (14.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page