Conversation
- Rewrite programmatic client usage guide with Python examples alongside Java - Add Python sections to error handling patterns guide - Fix Python error handling doc: use response.is_server_error instead of response.status_code - Add Python testing patterns (pytest, pytest-httpx, async) to testing guide - Add Python configuration section to API key management guide - Create Python client configuration reference page - Add Python client to sidebar navigation - Update landing page to reference Python alongside Spring AI - Add Python client link to Next steps sections across all concept, protocol, quickstart, how-to, and incident docs - Fix quickstart Python doc link text (remove "(Java examples)" qualifier) https://claude.ai/code/session_01JR3CtJAL5geHGWkMSMj2WM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR significantly expands the documentation to provide comprehensive coverage of the Python
runcyclesclient alongside existing Java/Spring documentation. It adds a new Python client configuration reference and updates multiple how-to guides and quickstart docs to include Python-specific examples and patterns.Key Changes
New Python Configuration Reference (
configuration/python-client-configuration-reference.md): Complete reference forCyclesConfigincluding required fields, subject defaults, HTTP timeouts, retry configuration, environment variable mapping, and default client setup patterns.Multi-language Documentation Updates:
error-handling-patterns-in-cycles-client-code.md: Restructured to cover both Python (CyclesProtocolError) and Java (CyclesProtocolException) with parallel examples for DENY handling, degradation patterns, debt/overdraft errors, expired reservations, and web framework error handlers (FastAPI and Spring).using-the-cycles-client-programmatically.md: Added Python examples for client initialization, reservation creation, commit/release operations, full lifecycle example, preflight checks, balance queries, reservation listing, and event recording. Included async support documentation forAsyncCyclesClient.testing-with-cycles.md: Added comprehensive Python testing section covering unit testing with mocks, pytest-httpx integration tests, error handling tests, and async test patterns alongside existing Java/Spring tests.API Key Management: Added Python-specific configuration examples in
api-key-management-in-cycles.mdshowing both programmatic and environment variable approaches.Navigation Updates: Updated
.vitepress/config.tsto reference the new Python client configuration reference in the configuration section.Cross-references: Updated multiple concept and protocol documents with consistent "Next steps" sections linking to Python client documentation.
Notable Implementation Details
runcyclespackage with consistent patterns:CyclesClientcontext managers,CyclesConfigfor configuration, and exception hierarchy (BudgetExceededError,DebtOutstandingError, etc.).https://claude.ai/code/session_01JR3CtJAL5geHGWkMSMj2WM