Configure your application in a friendlier and more consistent way!
Project description
config-better
Make use of directories for configuration / data / caching better and more user-friendly!
This module provides support for the XDG Base Directory specification, and OS-friendly fallbacks for Windows, Mac OS, and Linux if not otherwise specified.
Usage
import os.path
import configbetter
c = configbetter.Config('appname')
with open(os.path.join(c.config, 'config.json')) as conf:
# ...
Available parameters for creating a Config
instance:
force_unix
allows you to force using Unix-y paths on Windows/Darwin if desired. This isn't really recommended on Windows but on Darwin it seems as though programs without a GUI usually use Unix-y configuration paths while GUI apps use the "standard" Darwin paths. By default this isFalse
.
Available properties of Config
:
.cache
, which points to$XDG_CACHE_HOME
if available, otherwise uses a generic system equivalent..config
, which points to$XDG_CONFIG_HOME
if available, otherwise uses a generic system equivalent..data
, which points to$XDG_DATA_HOME
if available, otherwise uses a generic system equivalent.
Additionally, the following method is provided:
.makedirs()
will create the cache, config and data directories if they do not already exist, including all parent directories..rmdirs()
will remove any program-specific directories that would have been created by config-better.
Installation
pip install config-better
Developing
- Clone the repo
git checkout -b some-feature-or-bugfix
- Do work
- Test with
pytest
(add tests to maintain coverage as best as possible) - Run
yapf -ir .
andisort -rc .
to standardize. - Make a PR.
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
config-better-1.0.1.tar.gz
(4.4 kB
view hashes)
Built Distribution
Close
Hashes for config_better-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca743646d9981f0724d21360b22f25cd4d0ba9c74130f56308c96dcc0f9ab7fe |
|
MD5 | 0642e526efd4e681b4fe9d6e65f2b41b |
|
BLAKE2b-256 | 26291a59db65893c7fdae13e6c6b61fc568987652845b46701e9b7cd78eddc50 |