Ultra-fast file search and metadata extraction tool
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
# 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
# Basic search
python qry.py "your search query"
# With custom scope and depth
python qry.py "your search query" --scope 1 --max-depth 2
Usage: qry [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
search Search for files
version Show version information
help Show help
Search Options:
-t, --type TEXT Filter by file type (comma-separated)
-d, --last-days INT Filter by last N days
-l, --limit INT Maximum number of results (default: 100)
--no-preview Disable preview generation
-v, --verbose Enable verbose output
GET /api/search
- Search for files
q
: Search query (required)types
: Comma-separated list of file typeslimit
: Maximum number of results (default: 100)last_days
: Filter by last N daysengine
: Search engine to use (default: βdefaultβ)qry/cli/
- Command-line interfaceqry/api/
- REST API implementationqry/core/
- Core models and interfacesqry/engines/
- Search engine implementationsqry/utils/
- Utility functionsqry/web/
- Web interface componentsqry/engines/
SearchEngine
interface from qry.engines.base
qry/engines/__init__.py
# Install test dependencies
pip install -e ".[test]"
# Run tests
pytest
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
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.Najszybsze jΔzyki/narzΔdzia:
Najszybsze biblioteki:
exiv2
(C++), PIL/Pillow
(Python), sharp
(Node.js)PyMuPDF/fitz
(Python), PDFtk
(Java), pdfinfo
(Poppler)email
(Python), JavaMail
(Java), mail
(Go)eyed3
(Python), TagLib
(C++), ffprobe
(FFmpeg)OpenCV
(Python/C++), ffprobe
(FFmpeg), MediaInfo
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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 β
βββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ
# Find all Python files containing 'class'
qry "class" --type py
# Search with regex
qry "import\s+\w+" --regex
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
For more examples and detailed documentation, see EXAMPLES.md.
# 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
# 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: