A library to easily manage program configuration.
Project description
SimpleCFG
A library to easily manage program configuration, for Python.
Installation
pip install simplecfg
Quick Start
import simplecfg
cfg = simplecfg.Config("settings.cfg")
# Writing
cfg.set("username", "Max")
cfg["website"] = "https://itsmaxymoo.com"
cfg.write_file()
# Reading
cfg.read_file()
name = cfg.get("username") # 'name' contains "Max"
Functions
All of the following functions are to be called on an instance of simplecfg.Config
| Name | Function | Argument(s) | Returns |
|---|---|---|---|
__init__(path: str) |
Constructor | Path to the config file | - |
get(key: str) |
Get an item from the config | Key name | Item stored at key, otherwise None |
set(key: str, value) |
Set a value in the config | Key name, item | None |
delete(key: str) |
Remove an item from the config | Key name | Item if found, otherwise None |
get_keys() |
Returns an iterable of all keys in the config | - | iterable |
dump() |
Returns text representation of the config | - | str |
wipe() |
Deletes all keys | - | - |
read_file(load_if_corrupt = False) |
Loads config from disk | Boolean to create an empty config if the file is corrupt. Otherwise, raise ValueError | - |
write_file() |
Commit config to disk | - | - |
Magic Functions
| Name | Behavior |
|---|---|
__len__() |
Returns the number of keys in the config |
__contains__(key: str) |
Returns true if key exists in the config |
__getitem__(key: str) |
Alias to get(key) |
__setitem__(key: str, value) |
Alias to set(key, value) |
__delitem__(key: str) |
Alias to delete(key), does not return anything |
SynchronousConfig
Alternatively, you may opt to use simplecfg.SynchronousConfig.
It has the same functions as simplecfg.Config, but it will automatically
commit the config to disk with every modification.
Predefined Directories
SimpleCFG contains some predefined directories in the module simplecfg.dir,
to assist in configuration file placement. Each directory is accessed at
simplecfg.dir.DIRNAME
| Directory Name | Linux | Mac OS | Windows |
|---|---|---|---|
HOME |
~ |
~ |
~ |
APP_DATA |
~/.local/share |
~\AppData\Roaming |
~/Library/Application Support |
CONFIG |
~/.config |
~\AppData\Roaming |
~/Library/Application Support |
TEMP |
/tmp |
~\AppData\Local\Temp |
/tmp |
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simplecfg-2.0.0.tar.gz.
File metadata
- Download URL: simplecfg-2.0.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37aa13d37133aa67de2404af41b6363d64fc1043f43ad0e86a2c683b05dcbe0b
|
|
| MD5 |
0332bb4abf8110f3fe15dd640ed4c28e
|
|
| BLAKE2b-256 |
c861a2b097ecd8180c2596134c6e0b9016c732b635e1416a94d4edbf6f14783d
|
File details
Details for the file simplecfg-2.0.0-py3-none-any.whl.
File metadata
- Download URL: simplecfg-2.0.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abd88aae7628ddf792654f0d6672a06a0fa1d821b23cd72be70d42e01c5888ea
|
|
| MD5 |
804ede44bc1ae9c0b78f05bdf8b5faf5
|
|
| BLAKE2b-256 |
ff3ddd93dc2c474662fb651ae803f2e53d75c5c2e8db85ea82c6fbc8a54486ae
|