# Environment
env/
venv/
ENV/
VENV/
.venv/

# Python cache
__pycache__/
*.py[cod]
*$py.class
*.so
.Python

# Build and distribution
# mkdocs build output (mkdocs build writes ./site)
/site/
build/
dist/
*.egg-info/
.eggs/
*.egg
*.whl
*.tar.gz
pip-log.txt
pip-delete-this-directory.txt

# Testing / typing / linting
.pytest_cache/
.coverage
htmlcov/
.mypy_cache/
.ruff_cache/
.tox/
# pytest plugin output (per-test artifacts, .last-run.json)
test-results/

# Data and downloads
dl/
downloads/
data/
# ...but not the ControlLab page objects for the Data menu.
!tests/integration/controllab/pages/data/
# ...nor the demo site's and course practice site's JSON data (fetched by the pages).
!examples/demo/site/**/data/
!examples/course/site/**/data/

# Databases
*.db
*.sqlite
*.sqlite3

# Secrets / local config
.env
*.local

# Local working notes (per-chat session summaries; never committed)
SCRATCHPAD.md
scratchpad/

# IDE and OS
.DS_Store
.vscode/
.idea/
*.swp
*.swo
*~

controllab-artifacts/
