# Python
__pycache__/
*.py[cod]
*.so
.Python
build/
dist/
*.egg-info/
.eggs/

# Environments
.venv/
venv/
env/

# uv writes this on `uv run`. Not committed: it is never consumed by the CI
# workflows (which install with `uv pip install` and run with `--no-sync`), and
# lockfiles are not published, so it would pin nothing for consumers.
uv.lock

# Tooling caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
.tox/
.nox/

# Editors
.idea/
.vscode/
*.swp
.DS_Store

# Local configuration that should never be committed
observix.local.toml
.env
