Repository navigation
MarkItDown 2Ways v0.3.0
MarkItDown 2Ways v0.3.0 adds the first conservative XLSX bidirectional round-trip tranche and a typed capability/diagnostic kernel.
Highlights:
- deterministic writable/read-only/derived capability decisions and coverage reports
- safe
update_sheet_cellstyped edits for existing scalar XLSX cells - source-preserving SpreadsheetML reader, sparse patch writer, semantic readback, and native/package preservation verification
- identity Markdown round trips only for lossless simple string-cell regions
- no-op XLSX writes remain byte-identical
- differential output validation with openpyxl plus a real XLSX corpus smoke test
- hardened workbook/sheet authority: unique sheet IDs, relationship IDs, and worksheet targets
- bounded merged-range processing and sparse-grid materialization to fail closed on resource-amplifying inputs
- conflicting native value containers fail closed and patched value carriers preserve native XML ordering
XLSX tranche-one boundary:
- formula cells are read/preserved but read-only
- merged and rich-text cells are read-only
- row/column/sheet structural edits are unsupported
- styles, charts, drawings, formulas, merges, and other unsupported native structures are preserved rather than rebuilt
- this is not a claim of full Excel editing or full XLSX feature parity
Validation before merge:
- Python 3.10, 3.11, 3.12, and 3.13 package suites: green
- 804 passed, 33 skipped on the final tested merge tree
- OCR matrix Python 3.10–3.13: green
- pre-commit: green
- actual merge tree is byte-identical to the GitHub synthetic merge tree tested by CI
This is a fork-specific GitHub release; it does not replace the upstream MarkItDown PyPI package identity.