Skip to main content

Lightning-fast OCR and QR code reader for Wayland/Linux. Tesseract by default, with optional AI-powered mode.

Project description

TRex - Text Recognition for Arch Linux

PyPI version Python 3.8+ License: MIT GitHub Platform: Linux Arch Linux Wayland

Lightning-fast OCR and QR code reader for Wayland/Hyprland on Arch Linux. Select screen area → Extract text or decode QR → Copy to clipboard.

Features

  • 🎯 Simple - One command to capture and extract text
  • Lightning Fast - Tesseract by default, results in under 0.5s
  • 🖥️ Wayland Native - Built for modern Linux desktops
  • 📋 Clipboard Integration - Automatically copies extracted text
  • 🎨 Flexible - Fast mode by default, --accurate flag for complex text
  • 🔗 URL Detection - Automatically detect and open URLs in extracted text
  • 📱 QR Code Detection - Decode QR codes automatically

Installation

PyPI - Downloads PyPI - Format

# Install system dependencies (Arch Linux)
sudo pacman -S grim slurp wl-clipboard tesseract tesseract-data-eng zbar

# Install TRex
pip install trex-ocr

TRex includes both text OCR (using Tesseract by default) and QR code reading out of the box.

Usage

# Default: Select area → OCR → Copy to clipboard
trex

# OCR image from clipboard
trex -c

# OCR image file
trex -f screenshot.png

# Output to stdout instead of clipboard
trex -o stdout

# Use different language (e.g., German)
trex -l deu

# Use accurate mode for complex/handwritten text
trex --accurate

# Automatically open detected URLs in browser
trex --open-urls

# QR code mode - decode QR codes, fallback to OCR if none found
trex --qr

# Decode QR code and open if it's a URL
trex --qr --open-urls

Performance

  • Default mode: ~0.3-0.5s (Tesseract)
  • Accurate mode: ~2-3s (EasyOCR, downloads AI models on first use)

Languages

Tesseract (default): Uses standard 3-letter codes

  • eng - English (default)
  • deu - German
  • fra - French
  • spa - Spanish
  • jpn - Japanese
  • Install more: sudo pacman -S tesseract-data-[lang]

EasyOCR (--accurate mode):

Configuration

Optional config file at ~/.config/trex/config.json:

{
  "language": "en",
  "gpu": false,
  "open_urls": false,
  "qr_mode": false
}
  • Set "gpu": true if you have NVIDIA GPU with CUDA support
  • Set "open_urls": true to automatically open detected URLs by default
  • Set "qr_mode": true to use QR code mode by default

Requirements

  • Arch Linux
  • Wayland compositor (tested on Hyprland)
  • Python 3.8+
  • CUDA (optional, for GPU acceleration)

Accurate Mode Setup

For complex images, handwriting, or multiple languages:

# Install accurate mode dependencies
pip install trex-ocr[accurate] --extra-index-url https://download.pytorch.org/whl/cpu

# Or with GPU support (NVIDIA CUDA)
pip install trex-ocr[accurate,gpu]

Then use trex --accurate for better accuracy at the cost of speed.

License

MIT

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

trex_ocr-1.1.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trex_ocr-1.1.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file trex_ocr-1.1.0.tar.gz.

File metadata

  • Download URL: trex_ocr-1.1.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for trex_ocr-1.1.0.tar.gz
Algorithm Hash digest
SHA256 380e5a3b1234c146c4ee3dc550a7fa10bf51e41e6f30f0e90669a2def28edfb8
MD5 5b2f8c24eee12aee9b08d863fb5b3f24
BLAKE2b-256 2925bfb083cb03ad23410e5e7ab9abf908f000120d233e7dc7fd4a3fbcf45aec

See more details on using hashes here.

File details

Details for the file trex_ocr-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: trex_ocr-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for trex_ocr-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de3afad18013b14a46f853961b805da3dd8ec0c737365badcfa87e792d5e369d
MD5 36ca95da7b90598b506273ce1b65c802
BLAKE2b-256 0e2c53c72b0e119410fe02a79fd06cc8564c9ad4ce40902152ef4a3b9dad4665

See more details on using hashes here.

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