Skip to main content

Srxy

CI version PyPI

Find files by what you mean — terminal or Python.

Fuzzy, phonetic, and semantic matching across filenames, documents, photos, audio, video, and OS tags. On a desktop session, srxy opens a GUI by default; use --tui for the terminal UI or --cli for scripts and pipes.

Installation

Needs Python 3.11+. uv tool install 'srxy[semantic]' recommended; pipx install 'srxy[semantic]' also works; pipx install srxy for core-only in a venv. Windows: add [windows] for Explorer tags. macOS: system python3 may be too old — Installation.

Platform setup (ffmpeg, tesseract): docs/installation.md. Privacy / third-party notice: docs/privacy.md.

Quick start

GUI (default on a graphical session):

srxy                          # empty query/path
srxy "registry" ./src         # pre-filled; auto-starts
srxy GUI

Walkthrough: docs/gui.md. Architecture: docs/architecture.md.

Desktop installers (Linux + macOS):

Two Linux AppImages from GitHub Releases (decompress the .xz, make executable, and run; no host libfuse2):

Artifact What you get
srxy-*-installer-*.AppImage.xz Offline wizard — full PySide UI; install / update / reinstall / uninstall
srxy-*-installer-online-*.AppImage.xz Online one-click — slim Go bootstrap; opens your browser to a localhost page and installs from PyPI

Default prefix: ~/Applications/srxy. The online AppImage needs a network connection on first launch (downloads uv, managed Python, and srxy into ~/.cache/srxy/online-bootstrap/); later runs reuse the cache. It vendors PATH / tesseract / ffmpeg automatically and enables smarter-search packages only when a GPU is detected — model weights download later when you use those features. No reinstall/uninstall UI on the online path (use the offline wizard or remove the prefix).

Two macOS .dmg installers from the same GitHub Releases page (open the DMG and double-click the app; default prefix ~/Applications/srxy):

Artifact What you get
srxy-*-installer-*.dmg Offline wizard — full PySide UI; install / update / reinstall / uninstall
srxy-*-installer-online-*.dmg Online one-click — slim Go bootstrap; localhost browser UI; installs from PyPI

These macOS DMGs are currently unsigned (Gatekeeper may warn or block on first open); a signed and notarized release is coming soon. A Windows offline installer (.exe, Inno Setup) is also available from the same releases page (unsigned; SmartScreen may warn). PyPI / uv tool install remain the primary paths on every platform. Guide: docs/installers.md. Privacy / third-party notice: docs/privacy.md.

srxy offline desktop installer srxy online web installer

TUI:

srxy --tui
srxy --tui "registry" ./src
srxy --tui "transform" ./docs --ocr
srxy TUI

Live scan progress, sortable results, preview pane, option chips, clipboard copy. Full walkthrough: docs/tui.md.

Plain CLI:

srxy "registry" ./src --cli
srxy "revenue" ./docs --json
srxy "dog at the beach" ~/Pictures --semantic-image --content-only
srxy "revenue" ./docs --semantic-all --content-only

Boolean queries (|, &), scope flags, format table: docs/cli.md.

Python:

from pathlib import Path
from srxy import magic_file_search, magic_search

magic_file_search(Path("./src"), "registry", threshold=0.3)
magic_search([{"name": "salad"}], "salat", fields=["name"])

API reference: docs/python-api.md · docs/api-reference.md.

Documentation

Guide Contents
Installation uv tool / pipx, macOS/Linux/Windows, ffmpeg, tesseract
Desktop installers Linux AppImages + macOS DMGs (offline + online)
TUI Layout, keybindings, clipboard, release checklist
CLI reference Flags, formats, boolean queries, exit codes
Power-ups OCR, semantic, CLIP, transcription, models
Python API magic_file_search, search, Q, match types
API reference Generated signatures from srxy.__all__
Development Quality gate, --full, fixtures, pytest

Development

Requires uv.

uv sync --extra semantic
uv run task checks-fix
uv run task checks              # day-to-day
uv run task checks-full         # before release
uv run task checks-full-cpu     # + forced-CPU transcribe matrix

CI runs unit tests only (unit marker, excluding semantic and transcribe). Details: docs/development.md.

Try fixtures: srxy "axolotl" ./tests/fixtures/file_search

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

srxy-1.6.5.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

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

srxy-1.6.5-py3-none-any.whl (2.7 MB view details)

Uploaded Python 3

File details

Details for the file srxy-1.6.5.tar.gz.

File metadata

  • Download URL: srxy-1.6.5.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for srxy-1.6.5.tar.gz
Algorithm Hash digest
SHA256 6dd0e43099c1db0ab74d1d2910b1e5febe5f00d657ef5481042e5e548ad1c442
MD5 55828c06d83f687fe68be072fbb9b6e0
BLAKE2b-256 e38aac43ef45c49c0712bf6466700fa4dbfa78157216c3983898a403204f8aa2

See more details on using hashes here.

File details

Details for the file srxy-1.6.5-py3-none-any.whl.

File metadata

  • Download URL: srxy-1.6.5-py3-none-any.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for srxy-1.6.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a21b6fa7d0378e4ae8aa8f4a92a11b4892aabfe0ef6e1ec9fa343ce92fe1bd0e
MD5 69ff1aac0ccf3218e2c504413f6f60d5
BLAKE2b-256 94b317aed8d8c8e5c47048fc19828103c8737302c0ac20e78b294bf7c279ef38

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 Sentry Error logging StatusPage Status page