# local untracked cache — house-style program docs live here (untracked/<program>/)
untracked/

# git worktree scratch root (.claude is already ignored below)
.worktrees/

# Python
__pycache__/
*.py[cod]
*$py.class
.Python
build*/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
# Build artifacts (root level only, not pstrain/lib/)
/lib/
/lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
venv/
.venv/
ENV/

# IDE
.idea/
.vscode/
*.swp
*.swo
*~

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/

# mypy
.mypy_cache/

# ruff
.ruff_cache/

# OS
.DS_Store
Thumbs.db

# Documentation
docs/_build/

# Built C library artifacts
pstrain/lib/_cffi/*.dylib
pstrain/lib/_cffi/*.so
pstrain/lib/_cffi/*.dll
build.log

# Testing data (do not commit)
# CMU Arctic downloads and extracted data
cmu_arctic/
cmu_us_*_arctic/
*.tar.bz2
/Volumes/hacks/lenzo/pstrain/projects/
.snakemake/

# Generated training data and models
audio/
shared/
experiments/
dist/
*.mfc
*.wav
/data/
/notebooks/_work/
/notebooks/arctic_tutorial_work/
/pstrain/data/notebooks/_work/
/pstrain/data/notebooks/arctic_tutorial_work/
benchmarks/timit/data/
benchmarks/timit/pilot/

# ...but committed test fixtures are not generated artifacts. Keep them.
# (These broad patterns over-reach — see plan 3.5; this negation is the
# minimal fix so the mini_arctic e2e corpus is tracked.)
!tests/fixtures/**
!tests/fixtures/mini_arctic/wav/*.wav
!pstrain/data/sample/*.wav
.claude

# Stray lane report artifacts (never commit these to the repo root)
/*-report-*.md

# Jupyter checkpoints
.ipynb_checkpoints/
