Metadata-Version: 2.1
Name: FolderScanner
Version: 0.1.0
Summary: Scan directories, apply ignore rules, and chunk file contents.
Home-page: https://github.com/chigwell/FolderScanner
Author: Eugene Evstafev
Author-email: ee345@cam.ac.uk
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pathspec

# FolderScanner

`FolderScanner` is a Python package that enables efficient scanning of directory structures, applying ignore rules similar to `.gitignore`, and chunking file contents for processing. It's designed to handle large datasets and is ideal for pre-processing tasks in data analysis or machine learning pipelines.

## Features

- Recursively scans specified directories.
- Applies ignore patterns to skip specified files and directories.
- Chunks file contents and yields them with their paths for efficient processing.

## Installation

To install `FolderScanner`, simply use pip:

```bash
pip install git+https://github.com/chigwell/FolderScanner.git
```

## Usage

Import and use `FolderScanner` in your Python projects as follows:

```python
from folder_scanner import scan_directory

core_folder = '/path/to/your/projects'
ignore_patterns = ['.git', '.dockerignore', '*.log', 'tmp/*']

for file_chunk in scan_directory(core_folder, ignore_patterns):
    print(file_chunk)
```

## Contributing

Contributions are welcome! Please feel free to submit pull requests, report bugs, or suggest features on the [GitHub issues page](https://github.com/chigwell/FolderScanner/issues).

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

