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
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
# 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- Germanfra- Frenchspa- Spanishjpn- Japanese- Install more:
sudo pacman -S tesseract-data-[lang]
EasyOCR (--accurate mode):
en,de,fr,es,ja,ko,ch_sim, etc.- Full list: https://github.com/JaidedAI/EasyOCR#supported-languages
Configuration
Optional config file at ~/.config/trex/config.json:
{
"language": "en",
"gpu": false,
"open_urls": false,
"qr_mode": false
}
- Set
"gpu": trueif you have NVIDIA GPU with CUDA support - Set
"open_urls": trueto automatically open detected URLs by default - Set
"qr_mode": trueto 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
380e5a3b1234c146c4ee3dc550a7fa10bf51e41e6f30f0e90669a2def28edfb8
|
|
| MD5 |
5b2f8c24eee12aee9b08d863fb5b3f24
|
|
| BLAKE2b-256 |
2925bfb083cb03ad23410e5e7ab9abf908f000120d233e7dc7fd4a3fbcf45aec
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3afad18013b14a46f853961b805da3dd8ec0c737365badcfa87e792d5e369d
|
|
| MD5 |
36ca95da7b90598b506273ce1b65c802
|
|
| BLAKE2b-256 |
0e2c53c72b0e119410fe02a79fd06cc8564c9ad4ce40902152ef4a3b9dad4665
|