# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
wheelhouse/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Sphinx documentation
docs/_build/
docs/api/_autosummary/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

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

# macOS
.DS_Store

# CMake
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
Makefile

# scikit-build
_skbuild/

# Build artifacts
*.o
*.a
*.dylib

# Editable install
*.pth

# Benchmark data (large files)
benchmarks/data/
benchmarks/results/
benchmarks/logs/
*.h5ad
*.rds
*.npz

# GPU subtree — keep sources, drop its local build / logs / data artefacts
src/_multigedi_gpu/build/
src/_multigedi_gpu/logs/
src/_multigedi_gpu/data/
.claude/
src/_multigedi_gpu/.claude/
src/_multigedi_gpu/cli/target/

# scikit-build-core build tree
build/

# Logs from ad-hoc runs
logs/

# Backup files from stash/experiments
logs/pre_shared_arena_backup/
*.bak

# Small test data IS committed; large local datasets are not
tests/data/*.rds
tests/data/*.h5ad
tests/data/*.h5mu

# Large test data files
tests/data/*.h5
test_venv/

# Test output directories (created by tests, not tracked)
tests/data/cuda_init_dir/
tests/data/cuda_out/
tests/data/gpu_compare_out/
tests/data/gpu_out_*/
tests/data/iter0_*/
tests/data/cmp_*/

# v2 R-reference fixture (340 MB; regenerate via scripts/migrate_tiny_1iter_to_v2.py)
tests/data/tiny_1iter_v2/


# jupyter notebooks
notebooks/*
