# Rust build output
/target/

# Override the global `*.lock` rule for this project: maturin/PyO3 packages
# pin transitive dependency versions for reproducible CI and source builds.
!Cargo.lock

# Compiled extension modules (maturin develop writes them next to the package)
*.so
*.dylib
*.pyd

# Python bytecode / caches
__pycache__/
*.py[cod]
*$py.class

# Test / type-check caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/

# Packaging artifacts
*.egg-info/
build/
dist/
wheels/

# Virtual environments
.venv/
venv/
env/

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

# OS
.DS_Store
Thumbs.db

# Sphinx build output
docs/_build/

# cfitsio reproducer binaries + their generated FITS artifacts
/tools/cfitsio-repro/pa_vla_funpack_crash
/tools/cfitsio-repro/gzip2_complex_funpack
/tools/cfitsio-repro/setitem_sweep_corruption
/tools/cfitsio-repro/*.fits
/tools/cfitsio-repro/*.fits.fz
/tools/cfitsio-repro/core
/tools/cfitsio-repro/core.*

# Local stray files
/log
