Metadata-Version: 2.4
Name: gitwalk
Version: 0.1.0
Summary: A directory walker that respects .gitignore rules
Author-email: Avi Yeger <yeger00@gmail.com>
License: MIT
Requires-Python: >=3.7
Requires-Dist: pathspec>=0.11.0
Provides-Extra: test
Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
Requires-Dist: pytest>=7.0.0; extra == 'test'
Requires-Dist: ruff>=0.2.0; extra == 'test'
Description-Content-Type: text/markdown

# gitwalk

A Python library that provides an os.walk()-compatible interface that respects .gitignore rules. Walk through your directories while automatically excluding paths matched by .gitignore patterns.

## Installation

Using uv:
```bash
uv pip install gitwalk
```

## Usage

```python
from gitwalk import gitwalk as walk

# Walk through directory respecting .gitignore rules
for dirpath, dirnames, filenames in walk("./my_project"):
    print(f"Directory: {dirpath}")
    print(f"Subdirectories: {dirnames}")
    print(f"Files: {filenames}")
```

## Features

- Same interface as `os.walk()`
- Respects `.gitignore` patterns
- Supports both topdown and bottom-up traversal
- Handles error callbacks
- Follows symbolic links (optional)

## Tests
```
uv pip install -e ".[test]"
pytest
```
