# Development files
.git
.gitignore
.github
.vscode
.idea
*.log

# Python cache
__pycache__
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Testing and coverage
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/
.coverage
.pytest_cache/
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/

# Virtual environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

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

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

# Documentation
docs/
*.md

# Archive
archive/
!README.md
!CONTRIBUTING.md
!LICENSE

# Temporary files
tmp/
temp/
*.tmp
*.temp

# Node.js (if any)
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Jupyter Notebook
.ipynb_checkpoints

# Docker files (don't copy into container)
Dockerfile*
docker-compose*.yml
.dockerignore

# CI/CD
.github/workflows/
.gitlab-ci.yml
.travis.yml
.circleci/

# Configuration files that shouldn't be in container
.env.local
.env.*.local
config.local.toml
*.local.toml

# Cache directories
.cache/
.mypy_cache/
.ruff_cache/
.uv/

# Lock files that change frequently (better layer caching)
# Note: Commenting out uv.lock as it's needed for Docker builds
# uv.lock
poetry.lock
Pipfile.lock

# Test files
tests/
test_*.py
*_test.py

# Examples and scripts (not needed in container)
examples/
scripts/

# Large files
*.tar
*.tar.gz
*.zip
*.rar