conf-finder
Configuration file finder.
The configuration file/directory is searched for in the following locations by default:
- The current directory
- Git root repository (if the current directory is within a repository)
- XDG config home (
$XDG_CONFIG_HOME; if not set, ~/.config is used) - Home directory
To locate the configuration directory, the tool searches for a dot-prefixed name (e.g., .mytool) in all locations except for the XDG config home. Within the XDG config home, a name without the dot prefix (e.g., mytool) is searched for.
If no directory is found, the path under the XDG config home is returned.
To locate the configuration file, the tool first searches for a dot-prefixed file (e.g., .myconf.txt) in all locations except for the XDG config home. Within the XDG config home, a file name without the dot prefix (e.g., myconf.txt) is searched for. Following this, an attempt is made to find the file within the located configuration directories.
If no file is found, the path under the configuration directory within the XDG config home is returned.
Requirement
- Python 3.9, 3.10, 3.11
Installation
$ pip install conf-finder
Usage
from conf_finder import ConfFinder
cf = ConfFinder('mytool')
print(cf.directory())
This script searches for:
- ./.mytool
- /.mytool if here is under the git repository.
- $XDG_CONFIG_HOME/mytool (If
XDG_CONFIG_HOMEis not set, use~/.config.) - ~/.mytool
If no directory is found, return $XDG_CONFIG_HOME/mytool (or ~/.config/mytool).
from conf_finder import ConfFinder
cf = ConfFinder('mytool')
print(cf.conf(exe='toml'))
This script searches for:
- ./.mytool.toml
- /.mytool.toml if here is under the git repository.
- $XDG_CONFIG_HOME/mytool.toml (If
XDG_CONFIG_HOMEis not set, use~/.config.) - ~/.mytool.toml
- ./.mytool/conf.toml
- /.mytool/conf.toml
- $XDG_CONFIG_HOME/mytool/conf.toml
- ~/.mytool/conf.toml
from conf_finder import ConfFinder
cf = ConfFinder('mytool')
print(cf.conf('mytool', 'toml', 'myconf'))
This script searches for:
- ./.myconf.toml
- /.myconf.toml
- $XDG_CONFIG_HOME/myconf.toml
- ~/.myconf.toml
- ./.mytool/myconf.toml
- /.mytool/myconf.toml
- $XDG_CONFIG_HOME/mytool/myconf.toml
- ~/.mytool/myconf.toml
If you wish to search for only files directly placed under the search directories,
conf_type to 'file':
from conf_finder import ConfFinder
cf = ConfFinder('mytool', conf_type='file')
print(cf.conf('mytool', 'toml', 'myconf'))
This script searches for:
- ./.myconf.toml
- /.myconf.toml
- $XDG_CONFIG_HOME/myconf.toml
- ~/.myconf.toml
If no file is found, $XDG_CONFIG_HOME/myconf.toml is returned.
To search for only directories, conf_type to 'dir' instead.
Metadata
Release files for conf-finder 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| conf_finder-0.3.1.tar.gz | 74.8 kB | Without provenance | Details for conf_finder-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| conf_finder-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for conf_finder-0.3.1-py3-none-any.whl |
Total release size: 84.2 kB
Release files / conf_finder-0.3.1.tar.gz
| Download URL | conf_finder-0.3.1.tar.gz |
|---|---|
| Size | 74.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3df3a3eaf2a1af8920c3b91b6b2068a4620c5b4e6fac8711e6da4582e0ed591f
|
|
BLAKE2b-256 checksum How to use checksums |
257e233812e2ab32874a11da2113bce4981df6d6d43da94221204aa6afc986b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.15
|
Release files / conf_finder-0.3.1-py3-none-any.whl
| Download URL | conf_finder-0.3.1-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4e7d4a87839f54433bd3d7ed3be09fc1e1ca8f251f7df3d2ff87dbfbcd1bd69
|
|
BLAKE2b-256 checksum How to use checksums |
9653c5d92b192f8e6d0ab7e08c629db999750a2d07c2771ba76195e365017b7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.15
|
Security for conf-finder 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.