Skip to main content

Python implementation of GNU Findutils

Project description

findtools

CI PyPI

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

findtools-1.2.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

findtools-1.2.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

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

Hashes for findtools-1.2.0.tar.gz
Algorithm Hash digest
SHA256 13e3d55f7312af10ae7607aaa5a956761821a1487caaf3e0fae92b2512342757
MD5 ed2f63305b5600584f5b54f3664acd42
BLAKE2b-256 ba28a919d086ebba4723ec1721f95f78e57c6afb7059bceb528f2c80feb1ccdb

See more details on using hashes here.

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

Hashes for findtools-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4b736722e4a535f5f5a5291a4f940e72e54855ae668a5c53932c776f1edd48c
MD5 0b1c2e42ea641e2ba05c992b86febc52
BLAKE2b-256 0cba376875ac0102fd3652db64169c8434ac77d0199be9a85e851188886762ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page