# Task-runner scaffolding: runner state, telemetry and provider credentials,
# regenerated outside this repository's control (see [tool.ruff] in pyproject).
.cloop/

# Byte-compiled / cached
__pycache__/
*.py[cod]
*$py.class

# Distribution / packaging
build/
dist/
sdist/
wheels/
*.egg-info/
*.egg
.eggs/
MANIFEST

# Virtual environments
.venv/
venv/
env/
ENV/

# Test / coverage / type-check caches
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
# Written by the --junitxml in .github/workflows/ci.yml.
junit.xml
# Hypothesis's example database: the shrunk counterexample of every property
# failure. Machine-written and machine-read, cached between CI runs rather than
# committed -- see tests/conftest.py.
.hypothesis/
.tox/
.nox/

# Editors and OS cruft
.idea/
.vscode/
*.swp
.DS_Store

# Rendered graph output
/out/

# The compose environment: a copy of .env.example naming paths, ids and ports on
# one machine. docker-compose.yml has a default for every variable it reads, so
# the file is a convenience and never a requirement -- see docs/docker.md.
/.env

# Scratch output of container.yml's smoke test, which runs the image against the
# workspace and writes its answers here. Left behind by running those same steps
# by hand, which is the supported way to debug the workflow -- see docs/docker.md.
/image-version.json
/index.json
/published.svg
/topology.svg

# Screenshots, page source and console logs left behind by a failing browser
# test (tests/test_browser.py). Uploaded as an artefact in CI; scratch locally.
/.browser-artifacts/

# The published site, as built by tools/build_site.py. Derived from docs/ and
# examples/ every time, deployed from .github/workflows/pages.yml, and never
# committed -- a checked-in copy of generated HTML is a second source of truth.
/site/
