Module to save and fetch configuration data in a standard path and format.
Project description
cfgsaver
Python library to save and fetch configuration data in a standard/conventional path and format.
Installation
pip install cfgsaver
Usage
Import the cfgsaver
module to save/read configuration values in your source files:
from cfgsaver import cfgsaver
def save_config():
# saves configuration data to ~/.config/<your_package>/cfg.json
# unless cfgpath parameter is overridden:
config = {'name': 'Prahlad',
'language': 'Python',
'framework': 'Flask'
}
cfgsaver.save('<your_package>', config)
def get_config():
# gets configuration data from ~/.config/<your_package>/cfg.json
# unless cfgpath parameter is overridden:
config = cfgsaver.get("<your_package>") #returns None if config file doesn't exist
In case you want to ship some default configuration data packaged with your app, then read the below instructions carefully:
Ensure to include the path to your cfg.json in MANIFEST.in
as follows (you'll have to copy this file from ~/.config/<your_package> to your source directory for packaging purpose):
include <your_package>/cfg.json
Override the PostInstall class in your setup.py like this in order to save your config file to the user's machine after installation:
from setuptools import setup, find_packages
from setuptools.command.install import install
import shutil
class PostInstallCommand(install):
"""Post-installation for installation mode."""
def run(self):
install.run(self)
fpath = os.path.join(self.install_lib, your_package)
fpath = os.path.join(fpath, "cfg.json")
tpath = os.path.join(os.path.expanduser("~"), ".config/<your_package>/cfg.json")
if not os.path.isdir(tpath):
os.makedirs(tpath)
shutil.move(fpath, tpath)
s = setup(
name = "your_package",
packages=find_packages(),
..
..
..
cmdclass={
'install': PostInstallCommand,
},
)
Attribution
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
File details
Details for the file cfgsaver-1.0.4.tar.gz
.
File metadata
- Download URL: cfgsaver-1.0.4.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d12de211624be818e4596a08cd2d448098e9e8bf9500bb9f974b17f9267c4c48 |
|
MD5 | a830b52c730d2529e48e5ad82e522f94 |
|
BLAKE2b-256 | 6761daf64653e81eee5aa282b937b3f83e22b5845eef2ca77546f4ec0128e34c |