Skip to main content

Module to save and fetch configuration data in a standard path and format.

Project description

pypi python implementation

license last-commit

donate follow

cfgsaver

project logo

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

Icons made by Smashicons from www.flaticon.com is licensed by CC 3.0 BY

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

cfgsaver-1.0.4.tar.gz (3.8 kB view details)

Uploaded Source

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

Hashes for cfgsaver-1.0.4.tar.gz
Algorithm Hash digest
SHA256 d12de211624be818e4596a08cd2d448098e9e8bf9500bb9f974b17f9267c4c48
MD5 a830b52c730d2529e48e5ad82e522f94
BLAKE2b-256 6761daf64653e81eee5aa282b937b3f83e22b5845eef2ca77546f4ec0128e34c

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