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.
Metadata
Release files for findtools 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| findtools-1.2.0.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| findtools-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.3 kB
Release files / findtools-1.2.0.tar.gz
| Download URL | findtools-1.2.0.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
13e3d55f7312af10ae7607aaa5a956761821a1487caaf3e0fae92b2512342757
|
|
BLAKE2b-256 checksum How to use checksums |
ba28a919d086ebba4723ec1721f95f78e57c6afb7059bceb528f2c80feb1ccdb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / findtools-1.2.0-py3-none-any.whl
| Download URL | findtools-1.2.0-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4b736722e4a535f5f5a5291a4f940e72e54855ae668a5c53932c776f1edd48c
|
|
BLAKE2b-256 checksum How to use checksums |
0cba376875ac0102fd3652db64169c8434ac77d0199be9a85e851188886762ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|