ignore-python
Python bindings for the Rust crate ignore
Decision gist · record as of 2026-08-14
Yes, if you need gitignore-aware directory traversal and your platform has a compatible wheel. The package is actively maintained, has no known vulnerabilities, and solves a real problem (respecting ignore rules) that is tedious to reimplement. The main caveat is that the license is undocumented—verify the actual license terms before committing to a dependency.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.9; compiled wheels are provided for many platforms but may require a compatible architecture.
- Medium install friction due to compiled wheels for multiple platforms and architectures; actively maintained with recent releases and a live repository.
License · maintenance · safety
(unclear) — License treatment is unclear—no SPDX identifier or raw license text is documented in the package metadata, so you should verify the actual license terms before use.
last release 2026-07-01 (44 days) · last repo commit 2026-08-13 · 14 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 189,624 downloads/mo, #9,925 on PyPI
Alternatives
Verify before relying
pip install ignore-python
from ignore import Walk
for entry in Walk("./"):
print(entry.path())- Actual license terms and conditions—metadata shows no SPDX or raw license field
- Whether WalkBuilder and other advanced APIs are production-ready or still evolving
- Performance characteristics compared to standard os.walk or pathlib alternatives
What it is and what it does
ignore-python is a Python binding to the Rust ignore crate, the same filtering engine used by ripgrep and fd. It lets you walk a directory tree recursively while automatically respecting .gitignore, .ignore files, and glob patterns—filtering out matching files and directories without you having to parse those rules yourself. By default it also skips hidden files and directories, though this can be toggled.
The package ships as a compiled extension (wheels for CPython and PyPy across Linux, macOS, and Windows architectures), so installation is straightforward on supported platforms. It exposes a simple Walk class for basic traversal and a WalkBuilder for more control over filtering behavior. Since it delegates the actual filtering to Rust code, it should be faster than pure-Python directory walkers that re-implement gitignore logic.
Use it for
- Build a project indexer or code search tool that respects .gitignore rules without reimplementing them
- Recursively find files matching patterns while automatically excluding ignored paths in a build or lint tool
- Walk a large directory tree efficiently while filtering based on .gitignore and custom ignore files
- Migrate from ripgrep or fd's ignore logic to Python when you need the same filtering semantics in application code
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need gitignore-aware directory traversal and your platform has a compatible wheel.
The package is actively maintained, has no known vulnerabilities, and solves a real problem (respecting ignore rules) that is tedious to reimplement. The main caveat is that the license is undocumented—verify the actual license terms before committing to a dependency.
Install
ignore-python on PyPI
Before you install
Medium install friction due to compiled wheels for multiple platforms and architectures; actively maintained with recent releases and a live repository.
Requires Python >=3.9; compiled wheels are provided for many platforms but may require a compatible architecture.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is documented in the package metadata, so you should verify the actual license terms before use.
Quickstart
pip install ignore-python
from ignore import Walk
for entry in Walk("./"):
print(entry.path())
Verify before relying
- Actual license terms and conditions—metadata shows no SPDX or raw license field
- Whether WalkBuilder and other advanced APIs are production-ready or still evolving
- Performance characteristics compared to standard os.walk or pathlib alternatives
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 44 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 189,624 / month, #9,925 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust |
Evidence: ignore_python-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; ignore_python-0.4.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; ignore_python-0.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; ignore_python-0.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; ignore_python-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; ignore_python-0.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; ignore_python-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl; ignore_python-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl; ignore_python-0.4.1-cp310-cp310-musllinux_1_2_i686.whl; ignore_python-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl; ignore_python-0.4.1-cp310-cp310-win_amd64.whl; ignore_python-0.4.1-cp311-cp311-macosx_10_12_x86_64.whl; ignore_python-0.4.1-cp311-cp311-macosx_11_0_arm64.whl; ignore_python-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; ignore_python-0.4.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; ignore_python-0.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; ignore_python-0.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl; ignore_python-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; ignore_python-0.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl; ignore_python-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “fast recursive file filtering”
- ignore-pythonProvides fast recursive directory traversal with automatic filtering…
- ripgrepProvides a Python interface to ripgrep (rg), a fast regex-based line…
- scantreeRecursively scans directories with flexible filtering, wildcard…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also rignore · scantree · ripgrep · tensor-grep · scandir · py-walk · trailrunner · ignore · gitmatch · formic2