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

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
*.egg
MANIFEST

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

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
.pytest_cache/
coverage.xml
*.cover

# uv lockfile (dev environment)
uv.lock

# ruff / mypy
.ruff_cache/
.mypy_cache/

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

# IDEs
.idea/
.vscode/
*.swp
*.swo
.DS_Store

# png2svg-specific
*.session.json
!color_palettes/
memory_data/

# Boomerang plugin / session artifacts — these are tooling for the
# development environment that lives alongside this repo, NOT part
# of the png2svg project itself. They should never be committed to
# this repo. (If you want to track plugin behavior, use a separate
# repo for the plugin.)
.opencode/
AGENTS.md
PLAN.md
REVIEW.md

# AI assistant session documents — internal development notes that
# were committed in error before .gitignore patterns were added.
# The package, tests, and user-facing docs (README, CHANGELOG, LICENSE)
# are the only public artifacts that should ever ship on GitHub.
CONTEXT_png2svg.md
GUI_ARCHITECTURE.md
HANDOFF.md
ROADMAP.md
SETUP.md
TASKS.md

# AI session memory backup (when memini-ai MCP transport is down)
.session-memory/

# Notebook runtime outputs (created when users run the notebooks)
# Keep the *_executed.ipynb files (committed for reviewers) but
# exclude user-generated outputs that appear in the working tree
notebooks/my_*.svg
notebooks/my_*.json
notebooks/explore_output.svg
notebooks/explore_session.json
notebooks/craft_session.json
notebooks/batch_output/
notebooks/__pycache__/