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

# C extensions
*.so

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

# PyInstaller
*.manifest
*.spec

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

# Virtual environments
venv/
ENV/
env/
.venv

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre
.pyre/

# pytype
.pytype/

# ── Public-repo curation (pictograph-io/pictograph-sdk) ───────────────────────
# This .gitignore is read by BOTH repos: the monorepo that owns the source of
# truth, and this directory's own repo whose remote is the PUBLIC SDK repo.
# Entries below are internal working material that must not be published.
# They remain tracked in the monorepo (gitignore never untracks a tracked file),
# so nothing is lost - they simply never enter the public history.

# Internal engineering notes - planning, audits, agent handoffs.
HANDOFF.md
CLEANUP_AUDIT.md
OVERHAUL_PLAN.md
NAMES_NOT_IDS.md

# Maintainer-only release tooling. These name internal infrastructure and are
# not a user concern.
scripts/

# Internal CI. Workflow files reference our runners and release identity.
.github/

# Stray build/tool droppings that must never reach a public tree.
.DS_Store
.mypy_cache/
.pytest_cache/
.ruff_cache/
