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.2.tar.gz (107.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.2-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viparse-0.1.2.tar.gz
  • Upload date:
  • Size: 107.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.2.tar.gz
Algorithm Hash digest
SHA256 6ae510f9d62ed74ff493ca4ebffcf0bc25af4813217b8b96922597de0f1a9845
MD5 0b3ff8c33c9f0fa4960ae69627ddf217
BLAKE2b-256 f738e8f29e67d3819d509b54a2cb9175a327b506e4380b13fff9f82700fd07f5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: viparse-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c2a7d12f2dac5a291ce3cbaaff9f0cb4bf73699c0a1ca0cba5c6bde75952dfa1
MD5 082dc2fd55e60042d5d4a420487422cc
BLAKE2b-256 c9ed398d6f66b3e9fe3d346a819558c6cfed244b5d5ed9684e5f822f848471d0

See more details on using hashes here.

Provenance

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