# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
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
.hypothesis/
.pytest_cache/
cover/

# 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
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
Pipfile.lock

# poetry
poetry.lock

# pdm
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

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

# 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/

# Cython debug symbols
cython_debug/

# PyCharm
.idea/

# UV
.uv/

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

# Project specific
storage/
query_logs/
*.log
sec_filings.db
sec_insiders.db
sec_insiders.db-shm
sec_insiders.db-wal
file_analysis_*.json
finviz_test_results_*.json
presentation_test_results*.json
*.bak

# SQLite temp directory
.sqlite_temp/


*.db
*.sqlite3
*.db-journal
*.db-shm
*.db-wal
*.db-shm.backup
*.db-wal.backup
*.db.new
*.db-shm.backup
*.db-wal.backup
*.db.new
coverage.json
logs/
.sqlite_temp/
.ruff_cache/
.mypy_cache/
.pytest_cache/
.coverage/
.coverage.*
.coverage.xml
.coverage.json
.coverage.html
.coverage.xml
.coverage.json
.coverage.html
tmp
.mypy_errors_by_file.txt
.index_migration_errors_*.json
.artifacts*
run_server_clean.sh.txt
vendor/*

# Benchmark results - exclude transient JSON output files
benchmarks/tmp_*
benchmarks/results/**/*.json
benchmarks/**/*.json
data/baselines/*
*.sqlite3
.env
.pytest_out/*
storage.sqlite3-shm
storage.sqlite3-wal
storage.sqlite3.old
*.bak.*
screenshots/gif_canvas_frames
screenshots/gif_canvas_frames_2k
screenshots/renamed
screenshots/gif_frames
temp.lock
temp.lock.owner.json
# Share export test output
out/

# MCP Mail - track messages.jsonl but ignore SQLite cache
!.mcp_mail/
!.mcp_mail/messages.jsonl
.mcp_mail/*.db
.mcp_mail/*.db-shm
.mcp_mail/*.db-wal
