Srxy
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
Walkthrough: docs/gui.md. Architecture: docs/architecture.md.
Desktop installers (Linux):
Two Linux AppImages from GitHub Releases (make executable and run; no host libfuse2):
| Artifact | What you get |
|---|---|
srxy-*-installer-*.AppImage |
Offline wizard — full PySide UI; install / update / reinstall / uninstall |
srxy-*-installer-online-*.AppImage |
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).
Windows and macOS installers are in progress. PyPI / uv tool install remain the primary paths on every platform. Guide: docs/installers.md. Privacy / third-party notice: docs/privacy.md.
TUI:
srxy --tui
srxy --tui "registry" ./src
srxy --tui "transform" ./docs --ocr
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 (offline + online); Windows/macOS coming soon |
| 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
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 srxy-1.6.2.tar.gz.
File metadata
- Download URL: srxy-1.6.2.tar.gz
- Upload date:
- Size: 304.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
499c5fb575ea014baed2839b766bfbcf8dd096d977b5aa9c617416cfbd7ddcb2
|
|
| MD5 |
fc1deb5c04ea15dd18cdedf13565bf45
|
|
| BLAKE2b-256 |
63f7bc88691a5a58ad3956f622d16a51e11aa2593bc053f9d0a4b726cc16ae35
|
File details
Details for the file srxy-1.6.2-py3-none-any.whl.
File metadata
- Download URL: srxy-1.6.2-py3-none-any.whl
- Upload date:
- Size: 359.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8b241ebcd64828d720274028d9ba895f05233d8ea762727412b9ec47de0cf93
|
|
| MD5 |
919d1646e42355aca8057890b4c920b7
|
|
| BLAKE2b-256 |
0d9cd0963f5d6370b712334c17ecaac8ebf16dae9d6ea8a019a3f9d475c3429b
|