Skip to content

Releases: darylalim/tiny-aya-translate

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 20:41

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

Choose a tag to compare

@github-actions github-actions released this 07 Aug 02:56

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 docs extra is gone. uv sync --extra docs now fails — run plain uv 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 PATH for 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.py

First 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

Choose a tag to compare

@darylalim darylalim released this 29 Jun 02:36

Highlights

  • 🪪 Application code is now licensed under Apache-2.0 (the tiny-aya-global model 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 docs extra.
  • 🎨 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).