Ultra-fast file search and processing tool
Project description
qry
Ultra-fast file search and metadata extraction tool
๐ Installation
Using Poetry (recommended):
# Install Poetry if you don't have it
curl -sSL https://install.python-poetry.org | python3 -
# Clone the repository and install dependencies
poetry install
Or using pip:
pip install -r requirements.txt
๐ Quick Start
Using Poetry:
# Search with default scope (1 level up) and depth (2 levels)
poetry run qry "your search query"
# Custom scope and depth
poetry run qry "your search query" --scope 2 --max-depth 3
Direct Python execution:
# Basic search
python qry.py "your search query"
# With custom scope and depth
python qry.py "your search query" --scope 1 --max-depth 2
๐ Available Options
-
--scope: Number of directory levels to go up (default: 1)0: Current directory only1: One level up (default)2: Two levels up, etc.
-
--max-depth: Maximum directory depth to search (default: 2)1: Current directory only2: Current directory + one level down (default)3: Two levels down, etc.
๐ Features
๐ Najszybsze rozwiฤ zania wedลug kategorii:
๐ Przeszukiwanie JSON/CSV w HTML/MHTML:
Najszybsze jฤzyki/narzฤdzia:
- Rust + ripgrep - najszybszy dla prostych wzorcรณw regex
- C++ + PCRE2 - maksymalna wydajnoลฤ dla zลoลผonych wzorcรณw
- Python + ujson + lxml - najlepszy stosunek szybkoลฤ/ลatwoลฤ
- Go + fastjson - bardzo szybki, ลatwy deployment
- Node.js + cheerio - dobry dla projektรณw JS
๐ Ekstraktowanie metadanych:
Najszybsze biblioteki:
- Obrazy:
exiv2(C++),PIL/Pillow(Python),sharp(Node.js) - PDF:
PyMuPDF/fitz(Python),PDFtk(Java),pdfinfo(Poppler) - Email:
email(Python),JavaMail(Java),mail(Go) - Audio:
eyed3(Python),TagLib(C++),ffprobe(FFmpeg) - Video:
OpenCV(Python/C++),ffprobe(FFmpeg),MediaInfo
โก Najszybsze konwersje formatรณw:
- FFmpeg - niepobiลy w audio/video (C, Python bindings)
- ImageMagick/GraphicsMagick - obrazy (CLI + bindings)
- Pandoc - dokumenty tekstowe (Haskell, CLI)
- LibreOffice CLI - dokumenty biurowe
- wkhtmltopdf - HTMLโPDF (WebKit engine)
๐ Najszybsze generowanie HTML:
- Template engines: Jinja2 (Python), Mustache (multi-lang), Handlebars (JS)
- Direct generation: f-strings (Python), StringBuilder (Java/C#)
- Component-based: React SSR, Vue SSR dla zลoลผonych UI
- Streaming: Writer patterns dla bardzo duลผych plikรณw
โจ Key Features
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ QRY Features โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ Smart Search โ Fast pattern matching โ
โ ๐ Metadata Extraction โ EXIF, PDF, documents โ
| โก Parallel Processing | Multi-core performance โ
| ๐จ Format Conversion | Convert between formats โ
| ๐ฑ Responsive Output | HTML, JSON, text โ
| ๐ก๏ธ Smart Caching | Faster repeated queries โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Getting Started
Basic Search
# Find all Python files containing 'class'
qry "class" --type py
# Search with regex
qry "import\s+\w+" --regex
Advanced Usage
graph LR
A[Query] --> B{Type?}
B -->|Search| C[File Search]
B -->|Metadata| D[Metadata Extraction]
B -->|Convert| E[Format Conversion]
C --> F[Filter Results]
D --> F
E --> F
F --> G[Format Output]
G --> H[Display Results]
style A fill:#f9f,stroke:#333
style H fill:#9f9,stroke:#333
๐ Documentation
For more examples and detailed documentation, see EXAMPLES.md.
๐ฏ Usage Examples
Basic Search
# Search for invoices
qry "invoice OR faktura"
# Search for images with EXIF data
qry "image with exif" --max-depth 3
# Search in parent directory
qry "important document" --scope 2
# Deep search in current directory only
qry "config" --scope 0 --max-depth 5
Advanced Search
# Find PDFs modified in the last 7 days
qry "filetype:pdf mtime:>7d"
# Search for large files
qry "size:>10MB"
# Find files with specific metadata
qry "author:john created:2024"
System automatycznie:
- Wykrywa typ zapytania
- Wybiera odpowiednie parsery
- Generuje zoptymalizowany HTML
- Tworzy interaktywne GUI
Wydajnoลฤ: 10000+ plikรณw w sekundach, miniaturki base64 on-the-fly, responsive PWA interface!
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 qry-0.2.1.tar.gz.
File metadata
- Download URL: qry-0.2.1.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.14.11-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc76fc313ebdb89157c9a4fbb056d622dd9371ac6e11c420bfacdbefd0565fd8
|
|
| MD5 |
6daf72272eccc2eec8dd21f709eb9f04
|
|
| BLAKE2b-256 |
79997bd972ffb8a4c7e34509bf5c90efd2de420e68c49ec2736712080b14f494
|
File details
Details for the file qry-0.2.1-py3-none-any.whl.
File metadata
- Download URL: qry-0.2.1-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.14.11-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88b17ac465706faafed616c3191afa1fa7787cd256e6b6c72e627b993b325ad4
|
|
| MD5 |
d85b5e408fe778f6c5596ca0828e6049
|
|
| BLAKE2b-256 |
3d5a0980b88ada5904bdc8b77ed6ac26bcafec1c710e42b73a07ec0bf7200b86
|