chore(sdk)!: camelCase operationIds; generator 0.29, drop Py3.10#135
Merged
Conversation
Regenerate the SDK with openapi-python-client 0.29.0. The generator now parses date/datetime fields with stdlib datetime.fromisoformat instead of python-dateutil, so the python-dateutil runtime dependency is removed. Full ISO 8601 parsing via fromisoformat (e.g. the trailing 'Z') requires Python 3.11, which is why 3.10 support is dropped: - requires-python bumped to >=3.11 - remove the Python 3.10 classifier - remove the python-dateutil dependency - bump openapi-python-client floor to >=0.29.0 Regeneration also syncs incidental spec drift accumulated since v0.4.0: SubgraphType enum values (empty/knowledge/static) and a handful of endpoint/field docstrings. BREAKING CHANGE: drops support for Python 3.10.
Regenerated against the server's normalized operationIds: the redundant `op` prefix is dropped from the OperationEnvelope command endpoints and the snake_case read ids are camelCased. Git tracks all 64 as pure module renames (op_remember.py -> remember.py, op_create_agent.py -> create_agent.py, ...); generated function bodies are unchanged.
The hand-written facade clients imported the generated op_* api modules, which the regen renamed (op_index_document -> index_document, etc.). Point the imports at the new module paths and update the two test files that patched the old api module paths (op_materialize, op_delete_graph).
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
Updates the SDK generator to
openapi-python-client0.29.0 (dropping Python 3.10) and regenerates the SDK against the API's normalizedoperationIds. The server dropped the redundantopprefix from the OperationEnvelope command endpoints and camelCased the snake_case read ids, so the generated modules/functions now get clean names (op_remember.py→remember.py,op_create_agent.py→create_agent.py, …).Changes
openapi-python-clientto 0.29.0 and drop Python 3.10 support.op_prefix / camelCase source. Git tracks all 64 as pure renames (R100); generated function bodies are unchanged and the wire URLs are identical.clients/*.pyto the new module paths (api.content_operations.op_index_document→.index_document, etc.). Public facade method names are unchanged.@patchtargets intest_graph_client.py/test_materialization_client.pythat referenced the oldapi.graph_operations.op_materialize/op_delete_graphmodule paths.Testing
The repo's pre-commit gate ran on each commit and on a standalone run:
ruff check— passedruff format --check— passed (771 files)basedpyright— 0 errors, 0 warningspytest— 439 passed, 17 skippedBreaking changes
op_*→ clean names). Consumers importing the rawapi.<tag>.op_*modules must update their imports; the high-level facade client method names (e.g.investor.create_portfolio_block()) are unchanged.Notes / follow-ups
operationIdnormalization; the server-side change lives inrobosystems(branchrefactor/operation-id-naming). Once this is published,robosystemsbumps itsrobosystems-clientdependency and the custom-graph demo is rewritten to the clean module names.op_-prefixed internal aliases (e.g.sync_detailed as op_create_portfolio_block) in a few clients — cosmetic only, deferred.