# =============================================================================
# Section 1: GitHub canonical Python template
# Source: https://github.com/github/gitignore/blob/main/Python.gitignore
# Vendored 2026-04-25; refresh from upstream periodically.
# =============================================================================

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[codz]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
# The Python `lib/` ignore above is too broad — exempt the dashboard's
# JS source dir which lives at cloud/dashboard/lib/.
!cloud/dashboard/lib/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
*.manifest
*.spec

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

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py.cover
*.lcov
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff
instance/
.webassets-cache

# Scrapy stuff
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pdm
.pdm-python
.pdm-build/

# pixi
.pixi/*
!.pixi/config.toml

# PEP 582
__pypackages__/

# Celery
celerybeat-schedule*
celerybeat.pid

# Redis
*.rdb
*.aof
*.pid

# SageMath
*.sage.py

# Environments
.env
.envrc
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder
.spyderproject
.spyproject

# Rope
.ropeproject

# mkdocs
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre
.pyre/

# pytype
.pytype/

# Cython
cython_debug/

# Abstra
.abstra/

# Ruff
.ruff_cache/

# PyPI configuration
.pypirc

# Marimo
marimo/_static/
marimo/_lsp/
__marimo__/

# Streamlit
.streamlit/secrets.toml

# =============================================================================
# Section 2: OS / editor noise (the Python template doesn't cover these)
# =============================================================================

# macOS
.DS_Store
.AppleDouble
.LSOverride
._*

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini

# Linux backup files
*~

# Editor swap files
*.swp
*.swo

# IDEs
.vscode/
.idea/
.pyright/
*.code-workspace

# AI coding assistants — local config / runtime state, never committed
.claude/
.cursor/
.aider*/

# Logs
*.log

# Node (only if a docs/landing page is colocated)
node_modules/
_site/

# =============================================================================
# Section 3: Dendra-specific
# =============================================================================

# Default FileStorage base + outcome logs.
runtime/

# Patent provenance snapshots — distributed separately, never committed.
provenance-*.tar.gz
provenance-*/

# Patent filing packet — regenerated from .md sources by build-packet.sh.
docs/working/patent/packet/
docs/working/patent/dendra-ppa.pdf
docs/working/patent/drawings/*.pdf
docs/working/patent/drawings/*.tex
docs/working/patent/drawings/*-raw.pdf

# Model artifacts — keep large binaries out of git.
*.onnx
*.joblib
*.pkl
*.pt
*.pth
*.h5
*.gguf
*.safetensors

# Local secrets scaffolding (the .env / .envrc rules above cover most cases).
.secrets
.secrets.baseline.local

# Private sidequest / thinking docs.
notes/sidequest-*.md

# -----------------------------------------------------------------------------
# Internal scratch — kept on disk, never in the public repo.
#
# Launch tactics, IP / legal / license strategy, internal audits,
# revenue projections, design-discussion docs, draft launch copy,
# session writeups. Conservative default: nothing in here ships
# publicly unless the public benefit is absolutely clear; if a doc
# graduates to user- or contributor-grade, move it out of these
# directories into a public docs/ path before committing.
# -----------------------------------------------------------------------------
docs/working/
docs/marketing/
.wrangler/
