Python implementation of GNU Findutils
Project description
findtools
Findtools is a pythonic implementation of file search routines inspired by GNU Findutils.
Documentation: https://ewiger.github.io/findtools/
from findtools.find_files import find_files, Match
# Recursively find all *.sh files in /usr/bin
sh_files_pattern = Match(filetype='f', name='*.sh')
found_files = find_files(path='/usr/bin', match=sh_files_pattern)
for found_file in found_files:
print(found_file)
The above is equivalent to
find /usr/bin -type f -name '*.sh'
Install
pip install findtools
or with uv:
uv add findtools
Requires Python 3.9+. Findtools has no dependencies outside the standard library.
Develop
The project is managed with uv:
git clone https://github.com/ewiger/findtools.git && cd findtools
uv sync --group dev
Test
Run the test suite with pytest:
uv run pytest
or via make:
make test
Documentation
The docs are built with Material for MkDocs
and deployed to GitHub Pages on every push to master. To preview locally:
make docs-serve
Please report issues at https://github.com/ewiger/findtools/issues.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 findtools-1.2.0.tar.gz.
File metadata
- Download URL: findtools-1.2.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13e3d55f7312af10ae7607aaa5a956761821a1487caaf3e0fae92b2512342757
|
|
| MD5 |
ed2f63305b5600584f5b54f3664acd42
|
|
| BLAKE2b-256 |
ba28a919d086ebba4723ec1721f95f78e57c6afb7059bceb528f2c80feb1ccdb
|
File details
Details for the file findtools-1.2.0-py3-none-any.whl.
File metadata
- Download URL: findtools-1.2.0-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4b736722e4a535f5f5a5291a4f940e72e54855ae668a5c53932c776f1edd48c
|
|
| MD5 |
0b1c2e42ea641e2ba05c992b86febc52
|
|
| BLAKE2b-256 |
0cba376875ac0102fd3652db64169c8434ac77d0199be9a85e851188886762ba
|