# ======================================================================
# Docker Build Context Ignore File for Testing
# ======================================================================
# This file excludes unnecessary files from the Docker build context
# when building the test image, optimizing build speed and reducing context size.
# ======================================================================

# Build outputs and temporary files
output/
build/
dist/
*.egg-info/
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
pip-log.txt
pip-delete-this-directory.txt
.coverage
.tox/
.nox/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Version control
.git/
.gitignore
.gitattributes
.gitmodules

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

# Environment and configuration
.env
.env.*
venv/
.venv/
env/
ENV/

# Documentation (keep essential ones)
CHANGELOG.md
CONTRIBUTING.md
CODE_OF_CONDUCT.md
docs/

# Test outputs (we generate these in the container)
tests/__pycache__/
tests/.pytest_cache/
coverage.xml
htmlcov/

# Cache and temporary directories
.cache/
.tmp/
tmp/
temp/

# LaTeX build artifacts (we generate these)
output/*.aux
output/*.bbl
output/*.blg
output/*.fdb_latexmk
output/*.fls
output/*.log
output/*.out
output/*.toc
output/*.synctex.gz

# Large generated files
**/FIGURES/**/*.pdf
**/FIGURES/**/*.png
**/FIGURES/**/*.svg
MANUSCRIPT/*.pdf
EXAMPLE_MANUSCRIPT/*.pdf

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

# Node.js
node_modules/
npm-debug.log
yarn-error.log

# Docker files to avoid recursion
docker-compose*.yml
.dockerignore*

# Large data files
*.csv
*.json
*.xml
*.large

# Notebooks (not needed for testing)
notebooks/
*.ipynb

# Keep essential files:
# - src/ directory (source code)
# - pyproject.toml (dependencies)
# - Makefile (build system)
# - MANUSCRIPT/ and EXAMPLE_MANUSCRIPT/ directories (test data)
# - src/tex/ (LaTeX templates)
# - uv.lock (exact dependencies)
# - README.md and LICENSE (metadata)
# - tests/ (test files)
# - noxfile.py (test configuration)
