# Python
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
*.egg-info/
*.egg
.eggs/

# Build / dist
dist/
build/
*.whl
*.tar.gz

# Virtual environments
.venv/
venv/
env/

# Testing
.pytest_cache/
.coverage
htmlcov/

# IDE
.vscode/
.idea/
*.suo
*.user

# OS
.DS_Store
Thumbs.db

# jdatamunch index data (never commit user data)
~/.data-index/

# uv creates this on `uv sync`; jdatamunch resolves fresh in CI (`uv sync`,
# not `uv sync --locked`), so a committed lock would silently change that.
uv.lock

# Generated by mcpb/build.py from pyproject.toml + server.json
mcpb/manifest.json

# mcp-publisher credentials. Written into the CWD by `mcp-publisher login`,
# which must be run from the repo root because `publish` reads server.json
# from the working directory. Untracked and unignored, one `git add -A` puts
# live auth tokens in a public repo.
.mcpregistry_github_token
.mcpregistry_registry_token
