Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.1 - 2026-03-24¶
Fixed¶
- Reduce false positives for unfenced
{...}extraction (require"or:inside braces) - Improve YAML inference heuristic (require space after colon, exclude URLs with
://) - Strip trailing shorter fences from unclosed block content
- Fix double-backslash-before-pipe edge case in table parsing
- Add tilde fence support (
~~~) to all fence regex patterns - Fix truncated JSON recovery when string ends with trailing backslash
Added¶
- pytest-cov with 93% code coverage and 80% minimum threshold
0.2.0 - 2026-03-24¶
Added¶
- Structured error reporting with typed
TransformErrorandModelValidationErrordetails BlockLocationandRowLocationmodels for source-location context in errorsExtractionError.__str__()produces numbered, human-readable error summaries with field names and line numberspartial=Trueparameter onparse_tables()andparse()returningPartialResultwith both valid data and errorsPartialResultandFieldErrorexported from the package- Comprehensive README with badges, 7 usage examples, API reference, and architecture overview
CONTRIBUTING.mdandCHANGELOG.md
0.1.0 - 2026-03-24¶
Added¶
MDConverterpublic API withparse_tables(),parse_json(),parse_yaml(), andparse()methods- Markdown table parsing with pipe-delimited format, heading/index selection
- JSON block extraction (fenced and inline) with recovery for trailing commas, single quotes, unquoted keys, and truncated JSON
- YAML block extraction (fenced, requires pyyaml)
- Auto-detect format with
parse() - Yes/No/Y/N/true/false/on/off boolean coercion for bool fields
- Null sentinel handling (empty, N/A, NA, null, -, em-dash) for optional fields
ExtractionErrorandMD2PydanticErrorexception classes- Python 3.10, 3.11, 3.12, 3.13 support
- Full type annotations (mypy strict mode)
- GitHub Actions CI/CD with automated PyPI publishing