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.3 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.4.tar.gz (118.3 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.4-py3-none-any.whl (75.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viparse-0.1.4.tar.gz
  • Upload date:
  • Size: 118.3 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.4.tar.gz
Algorithm Hash digest
SHA256 7d10587eb427a51be011fbe0d90405a4822408bc927f5370e12fdf4135aaa014
MD5 58725c5adc8bb122441c3a3c3c2d225c
BLAKE2b-256 f74f5dfb253b93d0e2b6b5d7fa7836cb08cbd1fb036172f66f3d060d06d3bdb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for viparse-0.1.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: viparse-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 75.3 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7acb5f6ff51f4075eacdd1d0e5376079b9aa74d52f5b4ddee355e965034cd37f
MD5 862472e3c3b4ff000e793f9d3ef7098a
BLAKE2b-256 7aa564671afe2f47bcd0535367d6c613f5d21df81e70359f3090ec9145644455

See more details on using hashes here.

Provenance

The following attestation bundles were made for viparse-0.1.4-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