# 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

# Virtual Environment
.venv
env/
venv/
ENV/

# Lock files (trade-off: size vs reproducibility)
# uv.lock (878KB) excluded to avoid GitHub's 500KB warning threshold
# Trade-off: Accepts potential dependency drift for smaller repo size
# CI regenerates from pyproject.toml - version constraints provide partial reproducibility
# Users generate locally via: uv sync
uv.lock
poetry.lock

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

# Testing
.coverage
htmlcov/
.tox/
.nox/
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
.mypy_cache/
.ruff_cache/
tests/integration/vcr_cassettes/**/*.yaml

# Build
*.manifest
*.spec
pip-log.txt
pip-delete-this-directory.txt

# Documentation build
site/

# Security reports
reports/

# Misc
.DS_Store

# Environment files (keep .env.example)
.env
.env.*
!.env.example

# Firecrawl example outputs
examples/firecrawl_app/outputs/
