# Python-generated files
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info

# Virtual environments
.venv
venv/
env/

# Data files (runtime-generated, not version controlled)
# Ignore all subdirectories in data/ but keep the folder itself
data/*/

# Logs and runtime metadata (not version controlled)
*.log
logs/

# Static JSON configuration files (INCLUDE in version control):
# These are version controlled via negation patterns below
!src/aponyx/models/signal_catalog.json
!src/aponyx/backtest/strategy_catalog.json
!src/aponyx/data/bloomberg_securities.json
!src/aponyx/data/bloomberg_instruments.json

# Test and coverage artifacts
.pytest_cache/
.coverage
htmlcov/
.tox/
coverage.xml
*.cover

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
.VSCodeCounter/

# Jupyter Notebooks
.ipynb_checkpoints/

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

# Ruff
.ruff_cache/

# Environment variables
.env
.env.local

# Release checklists (internal use only)
PYPI_RELEASE_CHECKLIST.md
PYPI_RELEASE_AGENT_INSTRUCTIONS.md

# Internal TODO tracking (not version controlled)
TODO.md

# Specification and planning folders (internal use only)
.specify/
specs/
# GitHub internal files (only ignore speckit-generated .md files)
.github/**/speckit*.md