# 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/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.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/
.coverage_html/

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

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#   However, in case of collaboration, if having platform-specific dependencies or dependencies
#   having no cross-platform support, pipenv may install dependencies that don't work, or not
#   install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__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/

# IDEs and editors
.vscode/
.idea/
*.swp
*.swo
*~
.project
.pydevproject
*.sublime-project
*.sublime-workspace

# Vim
*.swp
*.swo
*.un~
Session.vim

# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
desktop.ini

# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db

# Linux
*~

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

# Security - NEVER commit sensitive files
.env*
!.env.example
*.key
*.pem
*.p12
*.pfx
*.crt
*.cer
config.json
settings.json
secrets.json
credentials.json
service-account*.json
*.token
api_keys.txt

# LLM and AI specific
model_cache/
.openai_cache/
.anthropic_cache/
huggingface_cache/
transformers_cache/
.cache/huggingface/
.cache/torch/
.litellm_cache/

# Data files (often large and sensitive)
*.csv
*.json
*.jsonl
*.parquet
*.pkl
*.pickle
*.hdf5
*.h5
*.db
*.sqlite
*.sqlite3

# But allow example/test data
!examples/*.json
!examples/*.csv
!examples/*.yaml
!examples/*.yml
!tests/fixtures/*.json
!tests/data/*.csv

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

# Logs
*.log
logs/
*.log.*

# Runtime data
pids/
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/
.nyc_output

# Dependency directories
node_modules/

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test
.env.production
.env.local
.env.development.local
.env.test.local
.env.production.local

# parcel-bundler cache (https://parceljs.org/)
.parcel-cache

# next.js build output
.next

# nuxt.js build output
.nuxt

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# Soplex specific
compiled_sops/
.soplex/
soplex_cache/
benchmarks/results/*.json
benchmarks/results/*.csv
benchmarks/results/*.log
output/
outputs/
generated/
graph_outputs/
mermaid_outputs/

# Testing artifacts
test-results/
test_outputs/
.coverage.*
.pytest_cache/
.cache/
.hypothesis/

# Documentation builds
docs/_build/
docs/build/
site/

# Package building
wheel/
*.whl

# Development tools
.ruff_cache/
.black_cache/
.mypy_cache/
.pylint.d/
.bandit
.pre-commit-config.yaml.bak

# Jupyter
.ipynb_checkpoints/
*.ipynb

# But allow example notebooks
!examples/*.ipynb
!docs/*.ipynb

# Large files that shouldn't be in git
*.zip
*.tar.gz
*.rar
*.7z
*.dmg
*.iso

# Terraform
*.tfstate
*.tfstate.*
.terraform/

# Local development overrides
local_config.py
local_settings.py
override.py
dev_config.py

# Performance profiling
*.prof
*.lprof
profile_output.*

# Memory dumps
*.dump
*.mdmp

# Binary files
*.exe
*.dll
*.dylib
*.a
*.lib

# Exclude compiled translations
*.mo

# Exclude macOS extended attributes
._*

# JetBrains IDEs
.idea/
*.iml
*.ipr
*.iws

# Visual Studio Code
.vscode/
*.code-workspace

# Spyder
.spyderproject
.spyproject

# PyCharm
.idea/

# Sublime Text
*.sublime-project
*.sublime-workspace

# Atom
.atom/

# Eclipse
.metadata/
.project
.pydevproject
.settings/

# NetBeans
nbproject/

# Android Studio
*.iml
.gradle/
local.properties

# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata/
*.xccheckout
*.moved-aside
DerivedData/
*.hmap
*.ipa

# CocoaPods
Pods/

# Firebase
.firebase/
firebase-debug.log*

# Sentry
.sentryclirc

# Vercel
.vercel

# Local Netlify folder
.netlify

# Terraform
.terraform
.terraform.lock.hcl
terraform.tfstate
terraform.tfstate.backup
*.tfplan

# Ansible
*.retry

# Vagrant
.vagrant

# Docker
docker-compose.override.yml
.dockerignore.bak

# Kubernetes
*.kubeconfig

# Cloud provider configs
.aws/
.azure/
.gcp/

# Monitoring and observability
.datadog/
.newrelic/
.splunk/

# Performance and benchmarking
benchmark_results/
performance_logs/
.benchmark/

# Miscellaneous
*.orig
*.rej
.DS_Store?
Icon?
.com.apple.timemachine.donotpresent

# File types that should generally not be committed
*.dmg
*.iso
*.img
*.msi
*.msm
*.msp

# Backup files
*~
*.bak
*.backup
*.old
*.orig
*.save
*.swp
*.tmp

# Lock files (include in most cases for reproducible builds)
# Uncomment if you want to ignore lock files
# poetry.lock
# Pipfile.lock
# package-lock.json
# yarn.lock