Skip to main content

Simple library on top of dataclasses to create shiny-looking configs from environment variables.

Project description

simple_dataclass_settings

pypi

Simple library on top of dataclasses to create shiny-looking configs from environment variables.

Example usage

import simple_dataclass_settings


@simple_dataclass_settings.settings
class SomeChildSettings:
    some_float: float = simple_dataclass_settings.field.float(
        var='SOME_FLOAT',
    )


@simple_dataclass_settings.settings
class Settings:
    some_child: SomeChildSettings
    some_string: str = simple_dataclass_settings.field.str(
        var='SOME_STRING',
        default='test',
    )
    some_number: int = simple_dataclass_settings.field.int(
        var='SOME_NUMBER',
        default=69,
    )
    some_flag: bool = simple_dataclass_settings.field.bool(
        var='SOME_FLAG',
        default=False,
    )
    some_list: bool = simple_dataclass_settings.field.str_list(
        var='SOME_LIST',
        default=['test', 'vars'],
    )


settings = simple_dataclass_settings.populate(Settings)

Interface

  • settings - decorator that converts a class to the settings class (just a regular frozen (and slotted) dataclass)
  • field - class that creates a special setting field object (that holds metadata about environment variables and its processing)
  • populate - function that creates an instance of passed settings class
  • show - function that shows a list of environment variables used by the passed class
  • read_envfile - function that populates variables from the env file

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

simple_dataclass_settings-0.0.5.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

simple_dataclass_settings-0.0.5-py3-none-any.whl (5.5 kB view hashes)

Uploaded Python 3

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