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
You can display the documentation for a setting class from the command line:
seth bl_seth.utils:DemoSettings
jedi needs to be available for variable documentation to be displayed. This can be done by installing seth[all] or jedi separately.
Metadata
Release files for bl-seth 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bl_seth-0.3.1.tar.gz | 15.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bl_seth-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.4 kB
Release files / bl_seth-0.3.1.tar.gz
| Download URL | bl_seth-0.3.1.tar.gz |
|---|---|
| Size | 15.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f9e930d1e84300412fb6d7e0d92743126dbcc9581ce8306aa9df83d6bd2118be
|
|
BLAKE2b-256 checksum How to use checksums |
cd6792f7d68fe62eb9dd1797447090a64f750d21d4b57eaebef9d34bdf6079f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.12.12 Linux/7.0.14-gnu
|
Release files / bl_seth-0.3.1-py3-none-any.whl
| Download URL | bl_seth-0.3.1-py3-none-any.whl |
|---|---|
| Size | 17.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f3eb3b5d6eb2b3ccc796334d8ec07255a3d64bd79e3e9bc51fc9949c2ecc64dc
|
|
BLAKE2b-256 checksum How to use checksums |
18b17906e400b28fe835b46067c5a0439d4a9cc04957047e818381e3b0ca0595
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.12.12 Linux/7.0.14-gnu
|
Security for bl-seth 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.