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+. Prefer uv (pipx install … is fine too).
Desktop installers (preferred)
Grab the latest installers from GitHub Releases — AppImages, DMGs, and the Windows .exe are all there. You can also buy the installers from the official site (includes a signed macOS build). Details: docs/installers.md.
Terminal install (PyPI release)
| Hardware | Command |
|---|---|
| Linux + NVIDIA GPU / macOS Apple Silicon |
uv tool install 'srxy[semantic]' |
| Windows + NVIDIA GPU | uv tool install 'srxy[semantic]' --with torch --with torchvision --with torchaudio --index https://download.pytorch.org/whl/cu130 |
| No GPU / core-only | uv tool install srxy |
[semantic] adds smarter search (PyTorch, CLIP, Whisper) and is intended for machines with a GPU — CPU-only semantic is too slow for most users. On Windows, pywin32 (Explorer tags) is included automatically. PyPI’s Windows torch is CPU-only, so the GPU line uses --with/--index to pull CUDA wheels. macOS system python3 may be too old — Installation.
Latest development version
Install the current develop branch as a standalone tool (same layout as PyPI, but built from git):
uv tool install "srxy @ git+https://github.com/illescasDaniel/srxy@develop"
uv tool install "srxy[semantic] @ git+https://github.com/illescasDaniel/srxy@develop" # GPU
uv tool install --force "srxy @ git+https://github.com/illescasDaniel/srxy@develop" # update in place
On Windows + NVIDIA, add the CUDA wheels (checkout [tool.uv.sources] does not apply to uv tool install):
uv tool install "srxy[semantic] @ git+https://github.com/illescasDaniel/srxy@develop" \
--with torch --with torchvision --with torchaudio \
--index https://download.pytorch.org/whl/cu130
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
| macOS | Linux | Windows |
|---|---|---|
Walkthrough: docs/gui.md. Architecture: docs/architecture.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 / macOS / Windows installers (free Releases + shop) |
| 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 | Sync tasks, quality gate, --full, fixtures, pytest |
Development
Requires uv. First-time checkout setup uses the platform-aware sync script (stdlib-only — no project venv required):
uv run --no-project python scripts/dev/sync.py # dev env (default-groups = ["dev"])
uv run --no-project python scripts/dev/sync.py --group uploader # dev + twine (PyPI upload)
uv run --no-project python scripts/dev/sync.py --no-default-groups # runtime only, no pytest/ruff
Wrappers: ./scripts/dev/sync.sh (Unix) or powershell -File .\scripts\dev\sync.ps1 (Windows).
Once .venv exists, thin Taskipy aliases also work:
uv run task sync-dev
uv run task sync-uploader
uv run task checks-fix
uv run task checks # day-to-day (auto-scope)
uv run task checks-gui # core+gui when working on the GUI
uv run task checks-full # before release
uv run task checks-full-cpu # + forced-CPU transcribe matrix
CI runs core+gui+tui buckets (no heavy/real-model suite). Details: docs/development.md.
Agent memory bank (per-branch project state): memory/README.md.
Try fixtures: srxy "axolotl" ./tests/fixtures/file_search
License
MIT — see LICENSE.
Release files for srxy 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| srxy-1.7.0.tar.gz | 503.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| srxy-1.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / srxy-1.7.0.tar.gz
| Download URL | srxy-1.7.0.tar.gz |
|---|---|
| Size | 503.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29c8bc92ceeaf30522b38b295e44a933130bb46e1f24bb4d07a27ad42376749c
|
|
BLAKE2b-256 checksum How to use checksums |
0bd1c3984f0f0dc2cd7813b089928847bb0e2850ff036667aad6883dc32e2061
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / srxy-1.7.0-py3-none-any.whl
| Download URL | srxy-1.7.0-py3-none-any.whl |
|---|---|
| Size | 568.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9bfe228740a73b0bc83bcdc6b518b963f17ed7a39e283b48c6ccf355706fa64d
|
|
BLAKE2b-256 checksum How to use checksums |
d1bee8aa9e1c8553fc941120dd75bd13501db78a8c689dd2c1855e56dfaf31c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|