pyjson5 is a Python implementation of the JSON5 data format, providing a reader and writer similar to Python’s standard `json` API. It’s useful when you need JSON5 features like JavaScript-style comments, unquoted identifier keys, trailing commas, and single-quoted or multi-line strings (with the project noting it can be very slow).
Project status
- The repository appears actively maintained, with an upstream push on 2026-04-07 and recent tagged updates including v0.14.0 (2026-03-27) and v0.13.0 (2026-01-01).
- The apparent update cadence is about every 3 to 4 months between recent tags (2025-08-12, 2026-01-01, 2026-03-27), suggesting a steady development rhythm rather than long dormancy.
AI summary generated Today
Recent updates
v0.14.0
2 months agoRelease v0.14.0 primarily updates packaging metadata and development tooling configuration, along with a dependency lockfile refresh. The only user-facing code touch visible in the diff is minor CLI help text formatting, while a larger portion of the diff is build configuration and dev tooling (including a reworked `format` command).
v0.13.0
5 months agov0.13.0 primarily updates project configuration and development tooling to add Python 3.14 support and broaden the CI test matrix. The actual runtime library code changes are very small (mostly typing and version metadata), but developer tooling behavior and packaging configuration were modified.
SecurityFeaturesv0.12.1
9 months agoRelease v0.12.1 was published on 2025-08-12, but the publisher did not provide any release notes or change log details. Without documented changes, it is not possible to identify new features, breaking changes, bug fixes, or security/performance updates from the provided information alone.
v0.12.0
4/3/2025v0.12.0 primarily updates developer tooling and build configuration (CI, linting configuration, and dev dependency versions) while keeping the json5 runtime target at Python 3.8+. The only runtime-code change is a refactor of the internal object-dictification path in json5/lib.py related to how duplicate keys are handled when parsing objects.
v0.11.0
4/2/2025v0.11.0 adds a new top-level `json5.parse()` API and extends parsing controls with new `consume_trailing` and `start` parameters on `load`, `loads`, and `parse`. It also fixes number parsing to reject invalid repeated-sign inputs like `--4` and updates development tooling and dev dependency versions.
Featuresv0.10.0
11/26/2024The publisher release notes for v0.10.0 are empty, but the code diff shows a significant refactor of the encoding pipeline and several CLI and API surface changes. In particular, the project introduces a new JSON5Encoder/QuoteStyle-based encoding model, updates the command-line interface, and changes Host/tool internals.
Breakingv0.9.28
11/11/2024No publisher release notes were provided for v0.9.28. The code diff shows this release primarily updates CI configuration (adds Python 3.13), bumps the package version to 0.9.28, and refreshes development tool dependencies in pyproject.toml.
v0.9.27
11/11/2024v0.9.27 primarily contains housekeeping changes. The code diff shows a version string bump and a small README typo fix, with no functional library logic changes.
v0.9.26
11/11/2024v0.9.26 adds a new `strict` parameter to JSON5 parsing, wiring it through the grammar to control whether control characters (\x00-\x1f, such as literal newlines inside strings) are permitted. The release also regenerates the parser with a newer glop version and significantly updates the repository tooling (README, `run` script, and dev dependency configuration).
Featuresv0.9.25
4/12/2024Release v0.9.25 was published on 2024-04-12, but the publisher provided no release notes. No specific new features, fixes, or breaking changes are documented in the provided material, so upgrade impact cannot be determined from these notes alone.