# 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/
wheels/
pip-wheel-metadata/
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/
htmlcov-mutmut/
.mutmut-cache/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
Pipfile.lock

# PEP 582
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
publish_env/
build_env/
test_env/
test_install/
final_test/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

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

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# IDEs
.vscode/
.idea/
*.swp
*.swo
*~
.project
.pydevproject
.settings/

# OS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# =============================================================================
# PanelBox Specific - Development Files (NOT for public repository)
# =============================================================================

# Development and internal documentation
desenvolvimento/
planejamento_doc/
academic/

# Internal planning files
PLANEJAMENTO_PANELBOX.md
FASE_*.md
SUBFASE_*.md
*_RESUMO*.md
*_FINAL.md
RELEASE_PREP_COMPLETE.md

# Publishing guides (internal use only)
PUBLISHING_GUIDE.md
BUILD_INSTRUCTIONS.md
NEXT_STEPS_PUBLICATION.md
GITHUB_SETUP.md
QA_GUIDE.md

# Temporary backup files
*_OLD.md
*_NEW.md
*_BACKUP.*
*.bak

# Debug scripts (but not actual test files)
debug_*.py
setup_structure.sh
install_reports.sh

# Publication scripts (keep publish.sh if you want, or ignore it)
publish.sh

# Temporary files
*.tmp
*.temp
~*

# Python wheel build artifacts
*.whl

# =============================================================================
# Keep these documentation files (public-facing)
# =============================================================================
# README.md - KEEP
# CHANGELOG.md - KEEP
# CONTRIBUTING.md - KEEP
# CODE_OF_CONDUCT.md - KEEP
# LICENSE - KEEP
# QUICKSTART.md - KEEP (if it's user-facing)
# MANIFEST.in - KEEP
# COPYRIGHT_HEADER.txt - KEEP (optional)

# Academic papers working directory
papers/

# Conference submodule (separate repo)
conference/

# Temporary research data
comerce/

# GraphRAG (separate repo)
graphrag/

# =============================================================================
# PanelBox Output and Script Directories
# =============================================================================

# Output directory (test reports, generated files)
output/
reports/

# Scripts directory (internal build/release scripts)
/scripts/

# Validation directory (internal validation scripts)
/validation/

# Claude AI working directory
.claude/
prompt.txt

# Mutation testing output
mutants/

# Temporary test/output files
figure.pdf
binary_panel_test.csv
censored_panel_test.csv
count_panel_test.csv
my_theme.yaml
my_theme_template.yaml

# =============================================================================
# Examples Directory - Tutorial Outputs
# =============================================================================

# Generated outputs from tutorials (should be regenerated by running notebooks)
examples/static_models/outputs/*
!examples/static_models/outputs/.gitkeep
!examples/static_models/outputs/plots/.gitkeep
!examples/static_models/outputs/tables/.gitkeep
!examples/static_models/outputs/reports/.gitkeep

# Count models tutorial outputs
examples/count/outputs/figures/*/*.png
examples/count/outputs/tables/*/*.csv
examples/count/outputs/tables/*/*.tex
examples/count/outputs/tables/*/*.html
examples/count/outputs/results/model_objects/*.pkl
examples/count/outputs/results/diagnostics/*.json
examples/count/outputs/results/diagnostics/*.csv

# Keep directory structure with .gitkeep files
!examples/count/outputs/figures/*/.gitkeep
!examples/count/outputs/tables/*/.gitkeep
!examples/count/outputs/results/model_objects/.gitkeep
!examples/count/outputs/results/diagnostics/.gitkeep
!examples/count/outputs/.gitkeep

# LGD validation notebook (internal/server use only)
examples/gmm/notebooks/lgd_validacao_panelbox_vs_pydynpd.ipynb

# Jupyter notebook checkpoints
examples/**/.ipynb_checkpoints/

# Python cache in examples
examples/**/__pycache__/
examples/**/*.pyc
examples/**/*.pyo

# Solutions (optional - uncomment if keeping solutions private)
# examples/solutions/

# Visualization tutorial outputs (regenerated by running notebooks)
examples/visualization/outputs/charts/png/*
examples/visualization/outputs/charts/svg/*
examples/visualization/outputs/charts/pdf/*
examples/visualization/outputs/reports/html/*
examples/visualization/outputs/reports/latex/*
!examples/visualization/outputs/charts/png/.gitkeep
!examples/visualization/outputs/charts/svg/.gitkeep
!examples/visualization/outputs/charts/pdf/.gitkeep
!examples/visualization/outputs/reports/html/.gitkeep
!examples/visualization/outputs/reports/latex/.gitkeep

# Testing directory (local experiments, never commit)
testando_lib/
