parse-errors
re-raise parse errors with filename and line number
Decision gist · record as of 2026-08-14
Yes, if you parse config files (JSON, TOML, YAML) and want to give users precise error locations. Low install friction, permissive license, no known vulnerabilities, and active maintenance. The package is young (first release 2026-03-18) but solves a real UX problem. Install it if error reporting quality matters in your use case.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction: pure Python wheel with four runtime dependencies (json-source-map, pyyaml, tree-sitter, tree-sitter-toml).
- Active maintenance as of 2026-05-01, though early in its release history (first release 2026-03-18).
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for any project type.
last release 2026-03-19 (148 days) · last repo commit 2026-05-01
0 known vulnerabilities (OSV.dev, 2026-08-14) · 191,079 downloads/mo, #9,893 on PyPI
Alternatives
Verify before relying
from parse_errors import ParseContext, ParseError
with ParseContext("config.toml", data=raw, format="toml"):
data = tomllib.loads(raw.decode())
config = msgspec.convert(data, Config)- Whether tree-sitter-toml binary wheels are available for all target platforms, or if compilation is required.
- Performance impact of tree-sitter parsing overhead on large config files.
- Exact behavior when format inference from filename extension fails or is ambiguous.
What it is and what it does
parse-errors is a thin wrapper around config file parsing that intercepts exceptions and enriches them with precise source locations. When you parse JSON, TOML, or YAML inside a ParseContext, any exception that occurs gets analyzed for line and column information and re-raised as a ParseError with the filename, line, and column attached. If location information cannot be extracted, the original exception passes through unchanged.
The package depends on tree-sitter and tree-sitter-toml for syntax-aware parsing, pyyaml for YAML support, and json-source-map for JSON location tracking. It's designed for developers building tools that parse user-supplied config files and need to give users actionable error messages pointing to the exact spot in the file that caused the problem.
Use it for
- CLI tools that load JSON, TOML, or YAML config files and need to report parse errors with precise line/column to users.
- Configuration validation frameworks that combine multiple decoders and want unified error reporting.
- Build systems or deployment tools that must pinpoint config syntax errors for quick user fixes.
- API servers that accept config uploads and need to reject invalid files with exact error locations.
- Development utilities that parse structured data and want better debugging output than bare exception messages.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you parse config files (JSON, TOML, YAML) and want to give users precise error locations.
Low install friction, permissive license, no known vulnerabilities, and active maintenance. The package is young (first release 2026-03-18) but solves a real UX problem. Install it if error reporting quality matters in your use case.
Install
parse-errors on PyPI
Before you install
Low friction: pure Python wheel with four runtime dependencies (json-source-map, pyyaml, tree-sitter, tree-sitter-toml). Active maintenance as of 2026-05-01, though early in its release history (first release 2026-03-18).
Requires Python 3.10 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for any project type.
Quickstart
from parse_errors import ParseContext, ParseError
with ParseContext("config.toml", data=raw, format="toml"):
data = tomllib.loads(raw.decode())
config = msgspec.convert(data, Config)
Verify before relying
- Whether tree-sitter-toml binary wheels are available for all target platforms, or if compilation is required.
- Performance impact of tree-sitter parsing overhead on large config files.
- Exact behavior when format inference from filename extension fails or is ambiguous.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesjson-source-mappyyamltree-sittertree-sitter-toml |
| Maintenance | Actively maintained 148 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 191,079 / month, #9,893 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: parse_errors-0.5.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “parse error location reporting”
- parse-errorsWraps parse and validation errors from JSON, TOML, and YAML files to…
- json-source-mapMaps each value in a JSON document to its source location (line,…
- aio-geojson-clientProvides async access to GeoJSON feeds with automatic feed…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also niet · python-frontmatter · tomli · cfn-lint · strictyaml · anyconfig · mdformat-front-matters · msgspec · flake8-blind-except · toml-rs