A collection of Jupyter notebooks and Python examples for building with the Claude API.
# Install dependencies
uv sync --all-extras
# Install pre-commit hooks
uv run pre-commit install
# Set up API key
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEYmake format # Format code with ruff
make lint # Run linting
make check # Run format-check + lint
make fix # Auto-fix issues + format
make test # Run pytestOr directly with uv:
uv run ruff format . # Format
uv run ruff check . # Lint
uv run ruff check --fix . # Auto-fix
uv run pre-commit run --all-files- Line length: 100 characters
- Quotes: Double quotes
- Formatter: Ruff
Notebooks have relaxed rules for mid-file imports (E402), redefinitions (F811), and variable naming (N803, N806).
Branch naming: <username>/<feature-description>
Commit format (conventional commits):
feat(scope): add new feature
fix(scope): fix bug
docs(scope): update documentation
style: lint/format
-
API Keys: Never commit
.envfiles. Usedotenv.load_dotenv()then access keys viaos.environoros.getenv() -
Dependencies: Use
uv add <package>oruv add --dev <package>. Never edit pyproject.toml directly. -
Models: Use current Claude models. Check docs.anthropic.com for latest versions.
- Sonnet:
claude-sonnet-4-6 - Haiku:
claude-haiku-4-5 - Opus:
claude-opus-4-6 - Never use dated model IDs (e.g.,
claude-sonnet-4-6-20250514). Always use the non-dated alias. - Bedrock model IDs follow a different format. Use the base Bedrock model ID from the docs:
- Opus 4.6:
anthropic.claude-opus-4-6-v1 - Sonnet 4.5:
anthropic.claude-sonnet-4-5-20250929-v1:0 - Haiku 4.5:
anthropic.claude-haiku-4-5-20251001-v1:0 - Prepend
global.for global endpoints (recommended):global.anthropic.claude-opus-4-6-v1 - Note: Bedrock models before Opus 4.6 require dated IDs in their Bedrock model ID.
- Opus 4.6:
- Sonnet:
-
Notebooks:
- Keep outputs in notebooks (intentional for demonstration)
- One concept per notebook
- Test that notebooks run top-to-bottom without errors
-
Quality checks: Run
make checkbefore committing. Pre-commit hooks validate formatting and notebook structure.
These commands are available in Claude Code and CI:
/notebook-review- Review notebook quality/model-check- Validate Claude model references/link-review- Check links in changed files
capabilities/ # Core Claude capabilities (RAG, classification, etc.)
skills/ # Advanced skill-based notebooks
tool_use/ # Tool use and integration patterns
multimodal/ # Vision and image processing
misc/ # Batch processing, caching, utilities
third_party/ # Pinecone, Voyage, Wikipedia integrations
extended_thinking/ # Extended reasoning patterns
scripts/ # Validation scripts
.claude/ # Claude Code commands and skills
- Create notebook in the appropriate directory
- Add entry to
registry.yamlwith title, description, path, authors, categories - Add author info to
authors.yamlif new contributor - Run quality checks and submit PR