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.5.tar.gz
(8.5 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.5.tar.gz.
File metadata
- Download URL: file_query_text-0.1.5.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46181c9abdee22c122525d17fcd0397d626d42fb5f5f208280dcd0dae92ffb39
|
|
| MD5 |
8f828d664b98804e505fb41a8c23b6ef
|
|
| BLAKE2b-256 |
b533cc302549a17b5e231376872f91265366c6f52957d28c00e7a0b3da5692c8
|
File details
Details for the file file_query_text-0.1.5-py3-none-any.whl.
File metadata
- Download URL: file_query_text-0.1.5-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1f8d73d3baa882c94269560f0aeb6a2c28698e63f6d6dd6d7f1bfb4c95850b4
|
|
| MD5 |
849b285e32566c0391145e2a38c98939
|
|
| BLAKE2b-256 |
9e4425c1c8408c27857372e8344df1b0b92d168a25adc8ed68b0233a36390b2b
|