# ==========================================
# Python artifacts
# ==========================================
__pycache__/
*.py[cod]
*$py.class

# C extension / compiled module output
*.so
*.dll
*.dylib
*.pyd

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

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

# ==========================================
# Rust artifacts
# ==========================================
# NOTE: Cargo.lock is intentionally NOT ignored. This crate builds a released
# binary artifact (the _core extension module), so the lockfile is committed
# to keep wheel builds reproducible across platforms and CI runs.
target/
*.rlib
*.rmeta
*.crate
*.orig

# ==========================================
# Maturin
# ==========================================
.maturin-work/
*.whl

# ==========================================
# Testing / type checking / linting caches
# ==========================================
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
coverage.xml
*.cover
*.py,cover
nosetests.xml
.cache
.hypothesis/
.pytest_cache/
.mypy_cache/
.dmypy.json
dmypy.json
.ruff_cache/
.benchmarks/
benchmarks/results/
*.benchmark

# ==========================================
# Virtual environments
# ==========================================
.env
.env.local
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
.conda/
.python-version

# ==========================================
# IDEs and editors
# ==========================================
.vscode/
.idea/
*.swp
*.swo
*~
.vim/
.nvim/

# Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
*.sublime-workspace
*.sublime-project

# Emacs
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# ==========================================
# Operating system
# ==========================================
# macOS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
.fseventsd
.AppleDouble
.LSOverride
Icon

# Windows
ehthumbs.db
Thumbs.db
desktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk

# Linux
.fuse_hidden*
.directory
.Trash-*
.nfs*

# ==========================================
# Documentation builds
# ==========================================
# NOTE: .readthedocs.yaml is a committed config file and must NOT be ignored.
docs/_build/
docs/build/
docs/api/_autosummary/
site/

# Jupyter
.ipynb_checkpoints/
profile_default/
ipython_config.py

# ==========================================
# Profiling
# ==========================================
*.prof
*.trace

# ==========================================
# Project specific
# ==========================================
*.log
logs/

# Generated / scratch data directories.
# NOTE: data file extensions (*.csv, *.shp, *.geojson, ...) are deliberately
# NOT ignored globally - this is a spatial statistics library and such files
# are legitimate test fixtures and example inputs.
data/raw/
data/processed/
output/
results/
tmp/
temp/
.tmp/

# Backup files
*.bak
*.backup
*_backup

# Local configuration
local_config.py
config.local.py

# Large binary datasets
*.hdf5
*.h5
*.nc
*.tif
*.tiff
