# PyConfs
_Unified handling of configuration files in Python_
[](https://pypi.org/project/pyconfs/)
[](https://pypi.org/project/pyconfs/)
[](https://github.com/psf/black)
[](https://interrogate.readthedocs.io/)
[](https://github.com/gahjelle/pyconfs/actions)
> **Note:** For new projects, use [Configaroo](https://github.com/gahjelle/configaroo) instead.
## Installing PyConfs
PyConfs is available at [PyPI](https://pypi.org/project/pyconfs/). You can install it using Pip:
$ python -m pip install pyconfs
## Using PyConfs
A **PyConfs Configuration** is a dictionary-like object that unifies several different configuration file formats, including INI, JSON, TOML, and YAML.
**Read a configuration from file**:
from pyconfs import Configuration
cfg = Configuration.from_file("sample.json")
**Access entries in a configuration**:
package_name = cfg.name
first_name = cfg.author.firstname
## Installing From Source
You can always download the [latest version of PyConfs from GitHub](https://github.com/gahjelle/pyconfs). PyConfs uses [Flit](https://flit.readthedocs.io/) as a setup tool.
To install PyConfs from the downloaded source, run Flit:
$ python -m flit install --deps production
If you want to change and play with the PyConfs source code, you should install it in editable mode:
$ python -m flit install --symlink
Raw data
{
"_id": null,
"home_page": "https://github.com/gahjelle/pyconfs",
"name": "pyconfs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "configuration ini json toml yml",
"author": "Geir Arne Hjelle",
"author_email": "geirarne@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/c3/b3/902399a6e6b8066ba7649fc0b666aca5b0405233d7a8edd4814b16380d8d/pyconfs-0.5.7.tar.gz",
"platform": null,
"description": "# PyConfs\n\n_Unified handling of configuration files in Python_\n\n[](https://pypi.org/project/pyconfs/)\n[](https://pypi.org/project/pyconfs/)\n[](https://github.com/psf/black)\n[](https://interrogate.readthedocs.io/)\n[](https://github.com/gahjelle/pyconfs/actions)\n\n> **Note:** For new projects, use [Configaroo](https://github.com/gahjelle/configaroo) instead.\n\n## Installing PyConfs\n\nPyConfs is available at [PyPI](https://pypi.org/project/pyconfs/). You can install it using Pip:\n\n $ python -m pip install pyconfs\n\n\n## Using PyConfs\n\nA **PyConfs Configuration** is a dictionary-like object that unifies several different configuration file formats, including INI, JSON, TOML, and YAML.\n\n**Read a configuration from file**:\n\n from pyconfs import Configuration\n cfg = Configuration.from_file(\"sample.json\")\n\n**Access entries in a configuration**:\n\n package_name = cfg.name\n first_name = cfg.author.firstname\n\n\n## Installing From Source\n\nYou can always download the [latest version of PyConfs from GitHub](https://github.com/gahjelle/pyconfs). PyConfs uses [Flit](https://flit.readthedocs.io/) as a setup tool.\n\nTo install PyConfs from the downloaded source, run Flit:\n\n $ python -m flit install --deps production\n\nIf you want to change and play with the PyConfs source code, you should install it in editable mode:\n\n $ python -m flit install --symlink",
"bugtrack_url": null,
"license": null,
"summary": "PyConfs, unified handling of configuration files for Python",
"version": "0.5.7",
"project_urls": {
"Homepage": "https://github.com/gahjelle/pyconfs"
},
"split_keywords": [
"configuration",
"ini",
"json",
"toml",
"yml"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "08fa0855f478d5e270fdb9a14c62ba018534ca1f9963ceaf5b3b095672572ce5",
"md5": "061be49d2442d1e6396a558f8105c028",
"sha256": "e13011ec1c99db838ba437730962a5ee9b79cad2b9b91bf84c3bf7b7d69af92c"
},
"downloads": -1,
"filename": "pyconfs-0.5.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "061be49d2442d1e6396a558f8105c028",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 19592,
"upload_time": "2025-08-25T16:40:28",
"upload_time_iso_8601": "2025-08-25T16:40:28.028056Z",
"url": "https://files.pythonhosted.org/packages/08/fa/0855f478d5e270fdb9a14c62ba018534ca1f9963ceaf5b3b095672572ce5/pyconfs-0.5.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c3b3902399a6e6b8066ba7649fc0b666aca5b0405233d7a8edd4814b16380d8d",
"md5": "2d3c37290684f597046420d8ce85cad3",
"sha256": "10becfdf0f2087db66cad6e1e9243cee25db92a08d8cc0eba0df8d773569963b"
},
"downloads": -1,
"filename": "pyconfs-0.5.7.tar.gz",
"has_sig": false,
"md5_digest": "2d3c37290684f597046420d8ce85cad3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 22184,
"upload_time": "2025-08-25T16:40:29",
"upload_time_iso_8601": "2025-08-25T16:40:29.225855Z",
"url": "https://files.pythonhosted.org/packages/c3/b3/902399a6e6b8066ba7649fc0b666aca5b0405233d7a8edd4814b16380d8d/pyconfs-0.5.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-25 16:40:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gahjelle",
"github_project": "pyconfs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "pyconfs"
}