Easy configs for python projects
Project description
P-Conf
Easy use Configs for python projects. Allows loading the config files in the application directory (os specific). Once set the config can be used as a singleton across the project or pass around.
Locations for the config file
The following are the default locations that will be searched
~/.config/<appname>/config.(toml|json|ini|yaml)
<system config directory>/<appname>/config.(toml|json|ini|yaml)
Example code
The example code uses the following as the example configuration file
# My config.toml file
foo = 1
[bar]
a = 2
Using inside of a single script
from pi_conf import set_config
cfg = set_config("ourappname")
print(cfg.foo) # 1
print(cfg.bar.a) # 2
Using inside of applications
The following is the preferred way of using the p-config module. We set it once in our __init__.py
then use it whichever files need it. Since cfg
is a singleton setting it multiple times is unnecessary and will cause it to load from the file again.
# __init__.py
from pi_conf import set_config
set_config("ourappname") ## Sets the config from the application <appname> directory
from pi_conf import cfg as cfg ## Allows the cfg to be importable from our app
Using the config in files
Once it the config has been set you can use it from any file doing either of the following methods.
- Option 1
from ourappname import cfg ## Import cfg from what we set in __init__.py
print(cfg.foo) # 1
- Option 2
from pi_conf import cfg ## Import the cfg from p-config
print(cfg.foo) # 1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pi_conf-0.7.6.tar.gz
.
File metadata
- Download URL: pi_conf-0.7.6.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/23.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6d3036680bdc405c04aacc7274924c2f11ecc524baacc0015fd0edba67f9077 |
|
MD5 | 034b8bfb0da871ef1060da18df259e82 |
|
BLAKE2b-256 | 04b7986536f7e5d78a033511899dc4057435ea5b74592a44e1968070b623fa59 |
File details
Details for the file pi_conf-0.7.6-py3-none-any.whl
.
File metadata
- Download URL: pi_conf-0.7.6-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/23.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83b1887fc5be57aefd5d501a4767a67a0950ac5c714051ef0b78db9feb1d1b54 |
|
MD5 | 5dc97f9c85dd81e98c21d6a4bf03fe14 |
|
BLAKE2b-256 | a62c606f87a2e47dfbba09973e1c78e1496fe98b91fbc6063806ce4ce0619e1e |