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.6.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.6.tar.gz.
File metadata
- Download URL: file_query_text-0.1.6.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 |
f95921626f5647d4f7847bcbc4386c8c4a16d12e885d8548cc93299f0867e278
|
|
| MD5 |
73575c488c3a69f9697da43416737eb2
|
|
| BLAKE2b-256 |
f6e44a55e16671fb3930cd982664b966ec661e748d90f947562e9bbae4940fde
|
File details
Details for the file file_query_text-0.1.6-py3-none-any.whl.
File metadata
- Download URL: file_query_text-0.1.6-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 |
c681da7a64108685e392c9d378f0d5d6cf329ee0dbd551f03acf589100854b05
|
|
| MD5 |
a4efc500822f24bc4fbb59992f2dd3bd
|
|
| BLAKE2b-256 |
820ba24a44b22463d467440b7ea7bb3db13280f55c88b39f0ff49cf708d024de
|