# =============================================================================
# Git Ignore
# =============================================================================
#
# Files and directories to exclude from version control.
# Documentation: https://git-scm.com/docs/gitignore
#
# Configured for: Python + Rust (PyO3/maturin) projects
#
# -----------------------------------------------------------------------------
# Pattern Syntax
# -----------------------------------------------------------------------------
#
#   pattern      Ignore files matching pattern
#   /pattern     Ignore only in root directory
#   pattern/     Ignore directory (and contents)
#   !pattern     Negate (re-include) a previously ignored pattern
#   *            Match any characters (except /)
#   **           Match any directories
#   ?            Match single character
#   [abc]        Match one of the characters
#
# =============================================================================


# =============================================================================
# Operating System Files
# =============================================================================

# macOS
.DS_Store
.AppleDouble
.LSOverride
._*

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini

# Linux
*~
.directory

# Editor swap files
*.swp
*.swo
.null-ls*
.~*


# =============================================================================
# IDE & Editor Configuration
# =============================================================================

.idea/
.project
.pydevproject
.settings/
*.suo
*.ntvs*
*.njsproj
*.sln

# VS Code - ignore all except shared configs
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/tasks.json


# =============================================================================
# Rust - Build Artifacts
# =============================================================================

/target/
target/
**/*.rs.bk
*.pdb

# Cargo.lock is committed for binaries but NOT for libraries
# Since glace-py is a library (cdylib), we commit it for reproducibility
# with maturin builds. Uncomment to ignore:
# Cargo.lock


# =============================================================================
# Rust - IDE & Tools
# =============================================================================

# RLS (Rust Language Server)
.rls/

# rust-analyzer
rust-analyzer-*.json

# rustfmt backup files
*.rs.bk

# LLVM coverage
*.profraw
*.profdata


# =============================================================================
# Python - Bytecode & Cache
# =============================================================================

__pycache__/
*.py[cod]
*$py.class
*.so


# =============================================================================
# Python - 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


# =============================================================================
# Python - Installers
# =============================================================================

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


# =============================================================================
# Python - Testing & Coverage
# =============================================================================

htmlcov/
.tox/
.nox/
.coverage
.coverage.*
coverage.json
coverage.xml
nosetests.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
tst/reports/


# =============================================================================
# Python - Type Checkers & Linters
# =============================================================================

.mypy_cache/
.dmypy.json
dmypy.json
.pyre/
.ruff_cache/
.pytype/
.pylint.d/


# =============================================================================
# Python - Virtual Environments
# =============================================================================

.env
*.env
.venv/
venv/
env/
ENV/
env.bak/
venv.bak/


# =============================================================================
# Python - PEP 582 & Task Runners
# =============================================================================

__pypackages__/
celerybeat-schedule
celerybeat.pid
*.sage.py


# =============================================================================
# Python - IDE Plugins
# =============================================================================

.spyderproject
.spyproject
.ropeproject


# =============================================================================
# Maturin - Build Artifacts
# =============================================================================

# Maturin generated files
*.whl
*.tar.gz


# =============================================================================
# Jupyter Notebooks
# =============================================================================

.ipynb_checkpoints/
profile_default/
ipython_config.py


# =============================================================================
# Logs
# =============================================================================

logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*


# =============================================================================
# Documentation - Generated
# =============================================================================

site/
doc/_build/
docs/_build/


# =============================================================================
# Databases
# =============================================================================

*.sqlite3
*.sqlite3-journal
*.db
*.glace/


# =============================================================================
# Secrets & Local Configuration
# =============================================================================

__secret__*
.env.development.local
.env.test.local
.env.production.local
.env.local
*.pem
*.key


# =============================================================================
# Temporary & Development
# =============================================================================

tmp/
/tmp/
bup/
wip/
*.tmp
*.temp
*.bak
*.backup
