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.2.tar.gz
(7.8 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.2.tar.gz.
File metadata
- Download URL: file_query_text-0.1.2.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31950ce0364db794035e8a5b5c860826c7b3b9e433975053c73efb96ccc5e4ef
|
|
| MD5 |
47083d5dc9b568b381f1db6cfd57d685
|
|
| BLAKE2b-256 |
ff103f34fe6aa641560a53d2fb89810b2413771d0a69bc2a6208054b0ec4361e
|
File details
Details for the file file_query_text-0.1.2-py3-none-any.whl.
File metadata
- Download URL: file_query_text-0.1.2-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 |
1eb5ca1c8fe98d4d76f79563c3eb6ee630fd5aaa0514d1ede1251117984b054f
|
|
| MD5 |
02885738f67b699e900a9969ead16f9a
|
|
| BLAKE2b-256 |
f1632dd807086d9ced825244b5ca5201573fb042271f6a2116ced90b4167b2a9
|