SQL-like interface for querying files in your filesystem
Project description
File Query
A SQL-like interface for querying files in your filesystem.
Installation
# Clone the repository
git clone https://github.com/yourusername/file-query.git
cd file-query
# Install with pip
pip install -e .
# Or use UV
uv run python -m src.cli "your query"
# Install as a permanent tool with UV
uv tool install .
# This will install the 'fq' command
Usage
Command Line
The quickest way to run file-query is with UV:
uv run python -m src.cli "your query here"
After installation, you can use the shorthand command:
fq "your query here"
Basic Usage
# Find all Python files
fq "extension == 'py'"
# Find all text files and show their content
fq "extension == 'txt'" --show-content
Advanced Queries
File Query supports full SQL-like syntax:
# Find all Python files in the src directory
fq "SELECT * FROM 'src' WHERE extension == 'py'"
# Find all files larger than 100KB
fq "SELECT * FROM '.' WHERE size > 102400"
# Complex conditions
fq "SELECT * FROM '.' WHERE (extension == 'pdf' AND size > 1000000) OR (extension == 'txt' AND NOT name == 'README.txt')"
Query Syntax
File Query uses a SQL-like syntax:
SELECT * FROM 'directory_path' WHERE condition
Available Attributes
extension: File extension (without the dot)name: Filename with extensionsize: File size in bytespath: Full file path
Operators
- Comparison:
==,!=,<,<=,>,>= - Logical:
AND,OR,NOT
Examples
# Find all PDF files
fq "extension == 'pdf'"
# Find all files not named "main.py"
fq "NOT name == 'main.py'"
# Find all large image files
fq "SELECT * FROM '.' WHERE (extension == 'jpg' OR extension == 'png') AND size > 500000"
# Find files with 'config' in their path
fq "path == '.*config.*'"
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
file_query_text-0.1.4.tar.gz
(7.9 kB
view details)
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 file_query_text-0.1.4.tar.gz.
File metadata
- Download URL: file_query_text-0.1.4.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c21d88b2b16116e089f10533afbae1ea85d1091f89427f3e115b4a2a31b116fc
|
|
| MD5 |
bfff86d1d4f60d5b9a5d052c4084d2a2
|
|
| BLAKE2b-256 |
8a626eb69b82ae9a5a6618f650fe60b458be0c2a8567571fa76d01d967c5963e
|
File details
Details for the file file_query_text-0.1.4-py3-none-any.whl.
File metadata
- Download URL: file_query_text-0.1.4-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ba35016dfaced9e8034edcbb59c5c3a159025a5a02d463d6e5bc63688cd19a3
|
|
| MD5 |
8f6635908e8331b59d54db21c0ab44f2
|
|
| BLAKE2b-256 |
a6d2ae2fa4fa6da0c8d7740890cb2f572b009f765667b18523b541d0bca4f4a2
|