python-json-config
This library allows to load json configs and access the values like members (i.e., via dots), validate config field types and values and transform config fields.
What it is and what it does
python-json-config wraps JSON configuration files in a Python object that lets you access nested values using dot notation (config.server.port) instead of dictionary subscripts. It depends on jsonschema for validation and msgpack for binary serialization. The library provides a ConfigBuilder that parses JSON into a Config object, which supports field-level type and value validation, field transformation (e.g., string to datetime), optional/required field enforcement, and environment variable merging. You can also serialize configs back to dict, JSON, or msgpack format.
The package is aimed at applications that need structured configuration management with validation. It handles nested field access, allows you to define which fields must exist or can be missing, chains custom validators, and can override config values from environment variables by prefix. The library maintains an active repository but has not released a new version since November 2019, so it may lack recent Python or dependency updates.
Use it for:
- Load and validate application configuration from JSON files with type checking on critical fields like server port and IP address.
- Override configuration values via environment variables without modifying the JSON file, useful for containerized deployments.
- Transform string config values into Python objects (e.g., timedelta, datetime) during config parsing.
- Enforce required vs. optional fields and raise errors when accessing missing required configuration.
- Serialize and deserialize config objects to different formats (JSON, msgpack, pickle) for caching or transmission.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Loads JSON configuration files and provides dot-notation access to nested values, with built-in validation and transformation of field types and values.
Yes, if you need straightforward JSON config management with validation. The low install friction, permissive MIT license, and active repository make it a safe choice. However, the lack of a release since November 2019 means you should verify that the package works with your current Python and dependency versions before committing to it in new projects.
Install
python-json-config on PyPI
pip
pip install python-json-configuv
uv add python-json-configpoetry
poetry add python-json-configInstalling python-json-config
Before you install
Low install friction with only two runtime dependencies (jsonschema and msgpack). Maintenance status is active with a recent commit in June 2026, though the latest release was in November 2019.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install python-json-config
from python_json_config import ConfigBuilder
builder = ConfigBuilder()
config = builder.parse_config('config.json')
port = config.server.port
Requires Python 3.6 or later.
Verify before relying
- Whether the package is actively maintained for new features or only receives critical fixes (last release was November 2019).
- Performance characteristics when handling large or deeply nested configuration files.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — jsonschema, msgpack |
| Maintenance | actively maintained — 2,458 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 760,545/month — #5,129 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_json_config-1.2.3-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
config-parserMerges configuration from YAML/JSON files,…
agpl · top 5,000 on PyPI
mo-dotsProvides null-safe dot-notation access to…
copyleft · top 15,000 on PyPI
orjsonorjson is a fast JSON serialization and…
copyleft · top 1,000 on PyPI
environsenvirons parses environment variables into…
permissive · top 5,000 on PyPI
jsonasobj2Converts JSON data into Python objects with…
permissive · top 15,000 on PyPI
fastapi-corsConfigures CORS settings for FastAPI…
permissive · top 15,000 on PyPI
pytest-fixture-configProvides configuration objects and decorators…
permissive · top 15,000 on PyPI
bestconfigLoads configuration from multiple file formats…
permissive · top 15,000 on PyPI
pytest-dotenvA pytest plugin that automatically loads…
permissive · top 5,000 on PyPI
cabinaCabina provides class-based configuration…
permissive · top 15,000 on PyPI