Repository navigation
Releases: darylalim/tiny-aya-translate
Releases · darylalim/tiny-aya-translate
Release list
v0.10.0
Breaking changes
- remove the Document tab — the app translates text only, and liteparse goes with it
Features
- design the Reading Room theme — warm dark-first palette, AA button label, bundled fonts
- audit fixes and design pass across both tabs
- switch to Streamlit's default theme in light and dark
Fixes
- keep the typed draft and the character cap across a swap, and give the output state two writers
- drop the subtitle its own model load contradicted, and keep the Hub token and telemetry out of that request
- silence load_model's second spinner, and correct the record of how long the phantom gap lived
- stop both tabs shifting 16px on Translate — give the transient spinner an st.empty() slot
- make "nothing is sent to a server" true for a page load, and harden the theme guards
- label document read failures honestly and name a scanned PDF's missing text layer
- report a failed image OCR instead of "No translatable text found"
- accept .tif uploads alongside .tiff
- resolve code-review findings from the audit and design pass
- keep the output panel one shade through streaming
- report tokenizer failures in the warning slot
- show the loading spinner where the user is looking
Performance
- render the UI before loading the model
Documentation
- state both input limits without predicting the script, and put the tab-label record in the past tense
- test the main display for the hero and record why it still cannot frame it
- retire the Document tab from CLAUDE.md and the theme's comments
- regenerate the README hero without the tab strip
- regenerate the README hero without the subtitle it was still advertising
- promise that nothing you translate leaves your Mac, and say what the app does fetch
- note the watcher tracebacks TRANSFORMERS_VERBOSITY does not cover
- re-verify CLAUDE.md against Streamlit 1.63 and liteparse 2.14
- group the CLAUDE.md conventions and add the single-test commands
- correct the ty-ignore scope and complete the structure map
- record how to regenerate the README screenshot
Full changelog: v0.9.0...v0.10.0
v0.9.0
Highlights
- 📄 Document parsing rebuilt on LiteParse. Docling is gone — parsing is now one ~11 MB wheel with zero transitive dependencies, replacing ~278 packages and PyTorch.
- 🔒 PDFs never touch the network. PDFium and Tesseract are statically linked, so nothing needs to be on your
PATH, and born-digital PDFs parse from their text layer in ~0.04 s with zero network calls. - 🖼️ Image translation with source-language OCR. PNG/JPG/TIFF/WebP are OCR'd in the language you pick as the source rather than always English. Each OCR language fetches ~12–15 MB of Tesseract data once, then works offline.
- ✂️ Token-aware document chunking. Chunks carry their enclosing markdown headings as context, split on Latin and CJK sentence boundaries, and never cut a multi-byte character in half.
- 🌍 67 languages, text and documents, streaming output, entirely on your Mac — no API key, nothing leaves the machine.
⚠️ Upgrade notes
- The
docsextra is gone.uv sync --extra docsnow fails — run plainuv sync. Document support is built in. - Office and HTML uploads are no longer supported. v0.8.2 accepted DOCX/PPTX/XLSX/HTML through Docling. LiteParse needs LibreOffice on
PATHfor Office formats and does not handle HTML, so uploads are now PDF and images only:pdf,png,jpg,jpeg,tiff,webp. Convert other formats to PDF first.
Requirements
Apple Silicon Mac · 8 GB+ RAM · Python 3.13+ · uv
Run
uv sync
uv run streamlit run streamlit_app.pyFirst run downloads the model (~3.6 GB). Loads mlx-community/tiny-aya-global-8bit-mlx — CC-BY-NC, non-commercial only.
Features
- add LiteParse as a second document parser backend
Fixes
- bound the heading trail and ignore headings inside code fences
- preserve multi-byte characters and OCR in the source language
- repair document chunking and image parsing
Refactoring
- drop Docling, make LiteParse the only parser
Documentation
- add screenshot and badges
- lead with value, fix test command, surface non-commercial license
- document release workflow in CLAUDE.md
Full changelog: v0.8.2...v0.9.0
v0.8.2
Highlights
- 🪪 Application code is now licensed under Apache-2.0 (the
tiny-aya-globalmodel weights remain CC-BY-NC, non-commercial only). - 🌍 Translate text and documents across 67 languages with streaming output.
- 🍎 Local inference on Apple Silicon via MLX — no API key, nothing leaves your machine.
- 📄 Document translation (PDF, DOCX, PPTX, XLSX, HTML) via Docling — optional
docsextra. - 🎨 Nord theme with light and dark modes.
Requirements
Apple Silicon Mac · 8 GB+ RAM · Python 3.13+ · uv
Run
uv sync # core
uv sync --extra docs # + document translation
uv run streamlit run streamlit_app.py
Loads mlx-community/tiny-aya-global-8bit-mlx (CC-BY-NC, non-commercial only).