mentortools/libs/: init-helpers-abm-3.0.66534a0 metadata and description
Tools to parse args, read config, init logs and etc
| author | Mike Orlov |
| author_email | m.orlov@abm-jsc.ru |
| classifiers |
|
| description_content_type | text/markdown |
| requires_python | >=3.11,<4.0 |
| File | Tox results | History |
|---|---|---|
init_helpers_abm-3.0.66534a0-py3-none-any.whl
|
|
|
init_helpers_abm-3.0.66534a0.tar.gz
|
|
Init Helper
Tools to parse args, read config, init logs and etc
Парсинг конфигов
Создадим конфиг файл
printf 'some = 123\nother = "www"\nbar = "empty"' > example.toml
Проверим содержимое
cat example.toml
получим:
some = 123
other = "www"
bar = "empty"
Считаем конфиг как экземпляр датакласса
Подготовим python файл, имитирующий чтение конфига и печатающий результат
printf '
import dataclasses
import init_helpers
@dataclasses.dataclass
class Config:
other: str
some: int = 42
foo: float = 1.23
topics: tuple[str, ...] = ("one", )
config = init_helpers.parse_arg_as_dataclass(Config)
print(config)
' > init.py
Запустим инициализацию, передав ей конфиг
python init.py example.toml
Получим
Config(other='www', some=123, foo=1.23, topics=('one',))
Запустим инициализацию с конфигом и переопределив значения из конфига
python init.py example.toml -v foo=4.2 -v some=42
Получим
Config(other='www', some=42, foo=4.2, topics=('one',))
Запустим инициализацию без конфига, передав необходимые значения через аргументы запуска
python init.py example.toml -v other=qqq -v 'topics=["two","four"]'
Получим
Config(other='qqq', some=123, foo=1.23, topics=('two', 'four'))