Skip to main content

Vietnamese-first document loader for RAG

Project description

viparse

Vietnamese-first document loader for RAG.

One command turns any Vietnamese document — including legacy TCVN3/VNI/VISCII fonts, scanned PDFs, and old .doc/.xls files — into clean Unicode NFC Markdown/JSON, ready to push into a vector DB.

Why

Generic loaders parse the file but often emit garbled diacritics (legacy fonts) or wrong Unicode normalization. viparse handles exactly that Vietnamese layer: detect & convert legacy encodings to Unicode, enforce NFC, and offer diacritic-aware OCR.

Backbone principle: never hand-write a parser. Wrap well-maintained engines behind thin adapters; if an engine gets a CVE or is abandoned, swap the adapter without touching the rest. Heavy dependencies are lazy-imported via extras (viparse[ocr], viparse[office]).

Status

Released — viparse 0.1.0 on PyPI. See docs/specs/ for the full spec map (SPEC-0 … SPEC-8) and CHANGELOG.md for release notes.

Installation

pip install viparse               # core — pure stdlib, no parser/OCR binaries
pip install "viparse[office]"     # .docx / .xlsx and legacy .doc / .xls
pip install "viparse[pdf]"        # digital PDFs
pip install "viparse[ocr]"        # scanned PDFs (needs the Tesseract binary)
pip install "viparse[all]"        # every engine

Run viparse doctor to see which engines your installed extras enable.

Usage

import viparse

docs = viparse.load("tai_lieu_cu.pdf")            # list[Document], already NFC
docs = viparse.load("bang_luong.xlsx", output="markdown", encoding="auto")
viparse ./docs/**/*.pdf -o md
viparse doctor        # list available engines per installed extras

License

MIT © 2026 minhtridinh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

viparse-0.1.1.tar.gz (107.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

viparse-0.1.1-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

Details for the file viparse-0.1.1.tar.gz.

File metadata

  • Download URL: viparse-0.1.1.tar.gz
  • Upload date:
  • Size: 107.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for viparse-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c0b63a99b038d67d90d0306ac49168234adbaf922087db457330dbb942ef5220
MD5 9eb9b8733a704f8a489690413824ed75
BLAKE2b-256 97402c5a1fda769deb32e3ab8db835076a03e0845cb36fcd522d7bc4d039b69d

See more details on using hashes here.

Provenance

The following attestation bundles were made for viparse-0.1.1.tar.gz:

Publisher: publish.yml on minhtridinh-kayden/viparse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file viparse-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: viparse-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 68.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for viparse-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1d4ecfd3350bef1d782aa114de2635c4321b99f9c30063b479b36788680f3af
MD5 650892a5179f6a1a4cbca0f488ed5ad8
BLAKE2b-256 cd5d8d370f76585f792c15fc57cc8c77131f8c1f6a746924ffca20b9364046a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for viparse-0.1.1-py3-none-any.whl:

Publisher: publish.yml on minhtridinh-kayden/viparse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page