Metadata-Version: 2.4
Name: scipathgen
Version: 0.1.0
Summary: Template-based path generation for data pipelines
Project-URL: Repository, https://github.com/example/scipathgen
Project-URL: Issues, https://github.com/example/scipathgen/issues
Author: SciStack Contributors
License-Expression: MIT
Keywords: batch-processing,data-pipeline,file-discovery,metadata,path,template
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.9
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# SciPathGen

Template-based path generation for data pipelines.

Generates file paths with associated metadata from a template and metadata value combinations.

## Usage

```python
from scipathgen import PathGenerator

paths = PathGenerator(
    "{subject}/trial_{trial}.mat",
    root_folder="/data/experiment",
    subject=range(3),
    trial=range(5),
)

for path, meta in paths:
    print(path, meta)
# /data/experiment/0/trial_0.mat {'subject': 0, 'trial': 0}
# /data/experiment/0/trial_1.mat {'subject': 0, 'trial': 1}
# ...

# Supports indexing and length
print(len(paths))  # 15
path, meta = paths[0]
```

If `root_folder` is omitted, paths are resolved relative to the current working directory via `Path.resolve()`.
