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 | Provenance | Actions |
|---|---|---|---|---|
| findtools-1.2.0.tar.gz | 18.0 kB | Without provenance | Details for findtools-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| findtools-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for findtools-1.2.0-py3-none-any.whl |
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}
|
Security for findtools 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.