appconfigpy
A Python library to create/load an application configuration file.
pip install appconfigpy
sudo add-apt-repository ppa:thombashi/ppa sudo apt update sudo apt install python3-appconfigpy
# configure.py
from appconfigpy import ConfigItem, ConfigManager, DefaultDisplayStyle
app_config_mgr = ConfigManager(
config_name="example",
config_items=[
ConfigItem(
name="token",
initial_value=None,
prompt_text="API Token",
default_display_style=DefaultDisplayStyle.PART_VISIBLE,
),
ConfigItem(name="path", prompt_text="ABC Path", initial_value="."),
],
)
app_config_mgr.configure()
$ ./configure.py API Token: abcdefghijklmn ABC Path [.]: $ cat ~/.example { "path": ".", "token": "abcdefghijklmn" }
# load.py
from appconfigpy import ConfigItem, ConfigManager, DefaultDisplayStyle
app_config_mgr = ConfigManager(
config_name="example",
config_items=[
ConfigItem(
name="token",
initial_value=None,
prompt_text="API Token",
default_display_style=DefaultDisplayStyle.PART_VISIBLE,
),
ConfigItem(name="path", prompt_text="ABC Path", initial_value="."),
],
)
print(app_config_mgr.load())
$ ./load.py {'token': 'abcdefghijklmn', 'path': '.'}
Python 3.7+
- click
- loguru
- Used for logging if the package installed
- pathvalidate
- typepy