Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pi_conf-0.7.7.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

pi_conf-0.7.7.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file pi_conf-0.7.7.1.tar.gz.

File metadata

  • Download URL: pi_conf-0.7.7.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.7 Darwin/23.0.0

File hashes

Hashes for pi_conf-0.7.7.1.tar.gz
Algorithm Hash digest
SHA256 ec05ce96a3e21a0e1463eb82a30b45b7bdf52d5880a113b4ffabc03aee5a09d7
MD5 db0e7f35b75d7e976a02ef00869fafd2
BLAKE2b-256 8a0f9f6b7fa568148ae67b1f48afe083ac6a0f883949bc491b257b2e8fe4c167

See more details on using hashes here.

File details

Details for the file pi_conf-0.7.7.1-py3-none-any.whl.

File metadata

  • Download URL: pi_conf-0.7.7.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.7 Darwin/23.0.0

File hashes

Hashes for pi_conf-0.7.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9174e6cb23c3d707a4cc59e8f5d161da0a110204513ad8b7f70342c707cab828
MD5 5ef2645c22be318ebd4c05e16b2c3705
BLAKE2b-256 477cad0d7e94bf42ede7089f77c0b6ab5222e6fa2d44e8a3487b787c26ab575e

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