Metadata-Version: 2.4
Name: libsightseeing
Version: 0.1.0
Summary: a shared library for file finding and source resolution with gitignore support
Project-URL: homepage, https://github.com/anomalyco/raiseattention
Project-URL: repository, https://github.com/anomalyco/raiseattention
Project-URL: documentation, https://github.com/anomalyco/raiseattention#readme
License: MIT
Keywords: file-finding,gitignore,source-resolution
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: pathspec>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# libsightseeing

a shared library for file finding and source resolution with gitignore support.

## overview

libsightseeing provides a simple api for finding files in repositories while
respecting .gitignore files and supporting include/exclude patterns.

## installation

```bash
pip install libsightseeing
```

## usage

### simple api

```python
from libsightseeing import find_files

# find all python files
files = find_files(".", include=["*.py"])

# find files excluding tests
files = find_files("src", exclude=["tests"])

# include gitignored files
files = find_files(".", include=["*.py"], respect_gitignore=False)
```

### advanced api

```python
from libsightseeing import SourceResolver

resolver = SourceResolver(
    root=".",
    include=["src/**/*.py"],
    exclude=["tests"],
    respect_gitignore=True,
)
files = resolver.resolve()
```

## features

- respects .gitignore files automatically
- supports glob patterns for include/exclude
- simple one-liner api
- configurable resolver for advanced use cases
- only depends on gitignore-parser

## licence

mit
