raggae
A Python SDK for RAG document understanding and retrieval.
Requires Python 3.13 or later.
Installation
pip install raggae
Document normalization
Use a worker on its own, or let DocumentNormalizer select a sequence from a
file's extension. Originals are never overwritten.
from raggae.documents.normalization import StrictTextEncodingNormalizer
result = StrictTextEncodingNormalizer().normalize(
source=b"Caf\xe9",
output_path=None, # Keep the changed copy in memory.
declared_encoding="cp1252",
)
if result.artifact is not None:
print(result.artifact.read_bytes().decode("utf-8")) # Café
For a file-based flow:
from raggae.documents.normalization import DocumentNormalizer
result = DocumentNormalizer().normalize(
source="uploaded.pdf",
output_path="prepared.pdf", # A new path whose parent folder already exists.
)
print(result.outcome) # changed, no_change, or failed
for step in result.report.steps:
print(step.worker, step.report.outcome)
Default sequences include format-specific active-content and metadata cleanup;
pass workers=(...) to choose your own changes. A password-required PDF also
needs password=.... In-memory inputs need source_format=... when using the
default sequence. A no_change result returns the original artifact without
creating an output file; a failed result has no artifact.
Workers cover text encoding, image orientation, PDF decryption, selected
active-content and metadata removal, and explicit format conversion. The
DocumentToHtmlConverter requires a separately installed Pandoc, and
LibreOfficeToPdfConverter requires LibreOffice. Conversion does not perform
OCR, and sanitization is not a guarantee that a document is safe for every use.
For development checks and release setup, see CI/CD documentation.
Metadata
Release files for raggae 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| raggae-0.2.0.tar.gz | 808.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| raggae-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 928.4 kB
Release files / raggae-0.2.0.tar.gz
| Download URL | raggae-0.2.0.tar.gz |
|---|---|
| Size | 808.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d86d482e74810a859aaff75d599f7f126e0de2910a86dfc16fa97f8d9d082f61
|
|
BLAKE2b-256 checksum How to use checksums |
56e16644969122541752c84124b5c4d8be01af8dfc382b05c24a9791a18c37ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / raggae-0.2.0-py3-none-any.whl
| Download URL | raggae-0.2.0-py3-none-any.whl |
|---|---|
| Size | 120.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b266289c6bf80c5929a29623692d10679c829a5224e7af7a70b0f4343f63abba
|
|
BLAKE2b-256 checksum How to use checksums |
a1f0c1629fddf31e7f0ed66cb4829fcd3fd4b78cd8d7ef86b18362fe17df9fc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for raggae 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for raggae-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.