Skip to main content

Setting management library

Project description

Seth

A setting management library. By grouping all your application settings in one class, it's easier to document.

First, define a class for your settings. It must be a dataclass (or even better, a frozen dataclass) and inherit from seth.Settings.

from dataclasses import dataclass
from typing import Optional

from bl_seth import Settings

@dataclass
class MySettings(Settings):
    MANDATORY: str
    "A mandatory string."
    
    DEFAULT: str = "default"
    """A string that defaults to '"default"'."""

    INTEGER: int = 1
    "An integer that defaults to '1'."

    OPTIONAL: Optional[str] = None
    "An optional value."

Then instantiate it using its from_dict class method. Most probably, the dictionary is built from the environment.

import os

settings = MySettings.from_dict(os.environ)

You can now directly access its attributes.

settings.DEFAULT == "default"
settings.OPTIONAL is None

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

bl-seth-0.2.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

bl_seth-0.2.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file bl-seth-0.2.0.tar.gz.

File metadata

  • Download URL: bl-seth-0.2.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/6.3.7-gnu

File hashes

Hashes for bl-seth-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ea6288d05c2c91f7d5997dad4e68bd1bf54db5a830e680072fa027f2cc7240f8
MD5 c2f938e28a889b0a58f2409845065284
BLAKE2b-256 86a4c6d02005a0e2f113a15398e2761fd7c64f902d3c7e193c440211dd875d51

See more details on using hashes here.

File details

Details for the file bl_seth-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bl_seth-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/6.3.7-gnu

File hashes

Hashes for bl_seth-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63e460132c18b7c44969093ec84b8a63692349279c080bb70fbac6fef9717db8
MD5 3f50a2bee5a831851d5aadd5ad3d2109
BLAKE2b-256 5aeb31e57de76ad60f17a6296e09d32ad9819226354a6e701fec4984b4803957

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