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 details)

Uploaded Source

Built Distribution

File details

Details for the file simple_dataclass_settings-0.0.5.tar.gz.

File metadata

File hashes

Hashes for simple_dataclass_settings-0.0.5.tar.gz
Algorithm Hash digest
SHA256 bbcaaefe857b665557cd16e5dd3eff1c45081428a4b1e2edd39127ed4b7e798d
MD5 5d2c8b75dbac3311ad253ea64519409b
BLAKE2b-256 4ce370163cac41bddf520bf560e55b09c477aab59ba2bec8f435fe63675f5bca

See more details on using hashes here.

File details

Details for the file simple_dataclass_settings-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_dataclass_settings-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5a9f98c7b6b6ca079647aa8db2155ffd6130bdfa2160c75f4839f5ffac67b053
MD5 30545722e0dc5f3a8ed8d479ab0af846
BLAKE2b-256 f1fd59fe53c53e442cc8aade6535ba1357fb1a07076933650b5919d41a3ceb9b

See more details on using hashes here.

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