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.5.tar.gz (123.6 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.5-py3-none-any.whl (77.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viparse-0.1.5.tar.gz
  • Upload date:
  • Size: 123.6 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.5.tar.gz
Algorithm Hash digest
SHA256 0db461daae9abc6a4b21f9a8c8c658baddfd1d990a5bbd76a37569a8e3377e42
MD5 68308858e72df456f6a5e01f4dac3fd8
BLAKE2b-256 dab59d5f7a6d19a5aab768f26bc2e9659c9720d5c7c2911c82f44f9fa9f43706

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: viparse-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 77.0 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d41598a902ecb422d2bdf18147bf75802876b413711e002343d8b720a666ac46
MD5 7a3b9979d519c6c9558c8ab6884d2563
BLAKE2b-256 655689e0e9b2c5fffd617911e7b022c7ad9bdbe1594151a9bcfcd65edabf1c4a

See more details on using hashes here.

Provenance

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