# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# macOS
.DS_Store
# Temporary files
*.tmp
*.temp
*.log
~*
# 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/
# 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/
# 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/
# PyTorch
*.pth
*.pt
# TensorFlow
*.pb
*.ckpt*
*.tfrecords
saved_model/
# Jupyter Lab
.jupyter
# IDE files
.idea/
.vscode/
*.swp
*.swo
*.kate-swp
.spyproject/
# OS specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
# Third-party libraries and dependencies
third_party/
node_modules/
bower_components/
# Scientific computing data files
*.h5ad
*.h5
*.hdf5
*.csv
*.csv.gz
*.tsv
*.tsv.gz
*.txt
*.txt.gz
*.xlsx
*.xls
*.parquet
*.zarr
*.loom
*.rds
*.RData
*.pkl
*.pickle
*.npy
*.npz
*.mat
*.mtx
*.mtx.gz
*.h5mu
# 10x Genomics and spatial data specific files
web_summary.html
scalefactors_json.json
**/spatial/*.json
**/filtered_feature_bc_matrix/
**/raw_feature_bc_matrix/
# Image and plot files
*.png
*.jpg
*.jpeg
*.gif
*.svg
*.pdf
*.eps
*.tiff
*.bmp
# Video files
*.mp4
*.avi
*.mov
*.wmv
*.flv
# Audio files
*.mp3
*.wav
*.flac
*.aac
# Archive files
*.zip
*.tar.gz
*.tar.bz2
*.rar
*.7z
# Large model files
*.model
*.bin
*.weights
# Logs and debugging
logs/
*.log
debug_scripts/
test_*.py
profile_output/
# Temporary files and directories
tmp/
temp/
debug_output/
test_outputs/
.tmp/
.temp/
# Config files that might contain secrets
config.ini
config.yaml
config.json
.env.local
.env.production
secrets.py
credentials.json
# Claude Code specific
.claude/
# MCP server specific
*.mcprc
.mcp/
.mcp.json
# Test configuration (should be in pyproject.toml)
pytest.ini
tox.ini
# Legacy setup files (use pyproject.toml instead)
setup.cfg
# Documentation build artifacts
docs/_build/
docs/build/
site/
# Unused documentation systems (project uses Jekyll, not MkDocs)
mkdocs.yml
mkdocs.yaml
# Exclude paper folder
paper/
# Development artifacts
experiments/
scratch/
notes/
dev_notebooks/
# Profiling data
*.prof
profile_*.txt
# Keep important example data files
!data/MOp_markers.csv
# Keep documentation images
!docs/**/*.png
!docs/**/*.jpg
!docs/**/*.svg
# Keep README images
!README_*.png
!README_*.jpg
!assets/*.png
!assets/*.jpg
!assets/*.svg
# Exclude internal development documentation and personal files
CLAUDE.md
GEMINI.md
claude.md
OVERLEAF_CLAUDE_SETUP.md
overleaf-setup.sh
claude-latex-helper.sh
latex-workflow.sh
*-latex-*.sh
*overleaf*.md
*overleaf*.sh
*_test_report.md
*_REPORT.md
*_PLAN.md
*_MIGRATION_GUIDE.md
*_REFACTOR_PLAN*.md
*_DEPENDENCY_*.md
*_SUMMARY.md
*SUMMARY*.md
*_ANALYSIS*.md
*ANALYSIS*.md
*_VERIFICATION*.md
*VERIFICATION*.md
*_IMPLEMENTATION*.md
*IMPLEMENTATION*.md
*_OPTIMIZATION*.md
*OPTIMIZATION*.md
*_FIX*.md
*FIX*.md
*_COMPLETE*.md
*COMPLETE*.md
*_GUIDE*.md
*GUIDE*.md
*_INDEX*.md
*_README.md
*README*.md
*_FINDINGS*.md
*FINDINGS*.md
*_PHASE*.md
*PHASE*.md
*_REPORT*.md
*REPORT*.md
*_FLOW*.md
*FLOW*.md
quick_reference.md
duplicate_code_analysis.md
check_*.md
MEMORY_PATTERN_SCANNER.py
docs/*_REPORT.md
docs/*_PLAN.md
docs/DOCUMENTATION_IMPROVEMENT_PLAN.md
docs/IMPROVEMENT_COMPLETION_REPORT.md
docs/WEBSITE_STRUCTURE_IMPROVEMENT_PLAN.md
# Exclude internal GitHub configuration docs
.github/*_CONFIG.md
.github/PAGES_CONFIG.md
# Exclude specific internal guides
ChatSpatial_Claude_Desktop_Testing_Guide.md
docs/examples/guides/ChatSpatial_Claude_Desktop_Testing_Guide.md
docs/examples/guides/GITHUB_ACTIONS_OPTIMIZATION.md
ChatSpatial_Claude_Desktop_Testing_Guide.md
DATASET_DOWNLOAD_REPORT.md
DATASET_SURVEY_REPORT.md
FINAL_MCP_DATASETS_REPORT.md
LLM_Parameter_Mismatch_Analysis.md
Spatial_Analysis_Parameter_Dependency_Fix_Plan.md
direct_tools_test_report.md
enrichment_analysis_test_report.md
tools_test_report.md
# Exclude temporary development files
=3.6
dataset_survey_code.py
deep_organize_data.py
download_reliable_datasets.py
download_standard_datasets.py
verify_*.py
analyze_*.py
investigate_*.py
demo_*.py
check_*.py
check_*.R
filter_*.py
sparse_matrix_*.py
convert_*.py
convert_*.R
fix_*.py
compare_*.py
prepare_*.py
quick_*.py
survey_*.py
# Exclude large data directories that shouldn't be in git
data/V1_*/
data/large_datasets/
data/merfish_large/
data/slideseq_large/
data/modern_spatial/
data/real_datasets/visium_*/
data/gaston_tutorial/
data/merfish_data/
# Exclude data verification scripts
data/verify_large_datasets.py
data/test_chatspatial_large_data.py
# Exclude internal data reports
data/BIG_DATASETS_FINAL_REPORT.md
data/QUICK_START_DEMO.py
data/STANDARD_DATASETS_GUIDE.md
data/*TESTING*.md
data/*LOG*.md
data/card_example/*.RData
# Personal development files (should never be committed)
Group*_Fixes_Summary.md
fallback_analysis_*.md
GEMINI.md
*_test_report.md
chatspatial.egg-info/
# Prevent site/ from being committed again
site/
# Development archives and personal files
archived_docs/
scripts/fixes/
scripts/tests/
tests/comprehensive_tools_testing/
# Visualization outputs (keep directory structure, ignore files)
outputs/*.png
outputs/*.jpg
outputs/*.jpeg
outputs/*.pdf
outputs/*.svg
exports/*.png
exports/*.jpg
exports/*.jpeg
exports/*.pdf
exports/*.svg
# Internal development files in outputs/
outputs/*.py
outputs/*.R
outputs/*.md
outputs/*/*.md
# Keep README files
!outputs/README.md
!exports/README.md