Context
Connectors-NET-SDK PR #210 regenerated all 97 .NET connector clients from current managed-connector Swagger using AzureUX-BPM PR 16421737. That generator PR:
- Replaced the ARMClient executable with Azure Identity
DefaultAzureCredential.
- Filters Swagger operations marked
deprecated (in C#, TypeScript, and Python).
- Preserves valid ARM JSON before applying malformed-response fallbacks.
- Handles connectors advertising both JSON and multipart content types.
- Sends binary Swagger bodies as raw
application/octet-stream bytes instead of JSON/base64.
Because both SDKs generate from the same wire contracts, the Python SDK now drifts from .NET on any connector touched by this refresh. This issue tracks regenerating the affected Python clients so the two SDKs stay contract-aligned. The generator changes already support --pythonDirectClient, so this is primarily a regenerate-and-validate pass, not new generator work.
Scope / affected connectors
Mirror the contract changes landed in .NET. Regenerate at minimum the connectors with behavioral/contract deltas:
Removed operations (multipart/formData bodies the transport can't compose):
cloudmersiveconvert — 75 multipart ops removed (e.g. convert_document_autodetect_to_pdf, convert_document_docx_to_pdf, merge_document_pdf, split_document_pdf_by_page); 53 non-multipart ops remain.
docuware — store_to_file_cabinet, import_to_document_tray, append_file, delete_file, replace_file removed.
zohosign — create_document removed (multipart file param).
Contract shape changes:
azurequeues — nested QueueMessagesList.QueueMessage[] wrapper; TimeNextVisible → NextVisibleTime; confirm DequeueCount handling (see risk below).
documentdb — dynamic document fields on each ObjectWithoutType item; synthetic envelope property removed.
eventhubs — send_events requires partition_key; generate_event_schema requires content_type.
docusign — deprecated ops removed; parameter renames (account_id, envelope_id); adds get_docgen_template_tabs, get_organizations.
teams — transcript/recording webhook trigger contracts removed; adds remove_member_from_chat, update_channel_properties.
sharepoint — adds get_day_of_week_options.
microsoftforms / wordonlinebusiness — internal discovery method contract corrections.
Binary upload transport:
signinghub — attachment_upload_attachment / documents_upload_stream now require raw file bytes sent as application/octet-stream. Requires the Python SDK's binary/raw request path to exist and be wired the same way as .NET's new CallConnectorAsync(byte[], contentType) overloads. Verify the Python ConnectorClient base supports an unencoded binary body before regenerating these.
Required changes (per connector)
For each regenerated connector, follow the add-connector / regeneration workflow:
- Regenerate
src/azure/connectors/<connector>.py via LogicAppsCompiler.exe <out> --pythonDirectClient --connectors=<name>.
- Copy output into
src/azure/connectors/; do not hand-edit generated files.
- Update
tests/test_<connector>.py for removed/renamed operations and new required params.
- Update sample files under
samples/sample_connector_usage/ if operation signatures changed.
- Update
README.md validated-connectors table (operation counts / status).
- Add a
CHANGELOG.md entry under [Unreleased] — mark breaking changes (removed ops, renamed params, required-param additions) explicitly.
- Verify:
py_compile clean + pytest green.
Risks / open questions
DequeueCount durability (Azure Queues): In .NET this field is kept even though AAPT Swagger omits it — a runtime-contract correction. Confirm whether that correction lives in the generator (survives regeneration) or was hand-patched into the .NET output. Python must inherit the same corrected generator behavior, otherwise the field silently drops on regeneration and the two SDKs diverge. Blocks azurequeues parity.
- Binary transport prerequisite:
signinghub (and any other binary-upload connector) parity depends on the Python base client having a raw-bytes request path equivalent to .NET's binary CallConnectorAsync overloads. If missing, that's a separate prerequisite task.
- Multipart exclusions: Multipart/
formData-only operations remain excluded in both SDKs pending Swagger 2.0 multipart transport support (.NET tracks this in issue #212). Python should reference the same limitation rather than attempt to expose those ops.
Acceptance criteria
Context
Connectors-NET-SDKPR #210 regenerated all 97 .NET connector clients from current managed-connector Swagger using AzureUX-BPM PR 16421737. That generator PR:DefaultAzureCredential.deprecated(in C#, TypeScript, and Python).application/octet-streambytes instead of JSON/base64.Because both SDKs generate from the same wire contracts, the Python SDK now drifts from .NET on any connector touched by this refresh. This issue tracks regenerating the affected Python clients so the two SDKs stay contract-aligned. The generator changes already support
--pythonDirectClient, so this is primarily a regenerate-and-validate pass, not new generator work.Scope / affected connectors
Mirror the contract changes landed in .NET. Regenerate at minimum the connectors with behavioral/contract deltas:
Removed operations (multipart/
formDatabodies the transport can't compose):cloudmersiveconvert— 75 multipart ops removed (e.g.convert_document_autodetect_to_pdf,convert_document_docx_to_pdf,merge_document_pdf,split_document_pdf_by_page); 53 non-multipart ops remain.docuware—store_to_file_cabinet,import_to_document_tray,append_file,delete_file,replace_fileremoved.zohosign—create_documentremoved (multipartfileparam).Contract shape changes:
azurequeues— nestedQueueMessagesList.QueueMessage[]wrapper;TimeNextVisible→NextVisibleTime; confirmDequeueCounthandling (see risk below).documentdb— dynamic document fields on eachObjectWithoutTypeitem; synthetic envelope property removed.eventhubs—send_eventsrequirespartition_key;generate_event_schemarequirescontent_type.docusign— deprecated ops removed; parameter renames (account_id,envelope_id); addsget_docgen_template_tabs,get_organizations.teams— transcript/recording webhook trigger contracts removed; addsremove_member_from_chat,update_channel_properties.sharepoint— addsget_day_of_week_options.microsoftforms/wordonlinebusiness— internal discovery method contract corrections.Binary upload transport:
signinghub—attachment_upload_attachment/documents_upload_streamnow require raw file bytes sent asapplication/octet-stream. Requires the Python SDK's binary/raw request path to exist and be wired the same way as .NET's newCallConnectorAsync(byte[], contentType)overloads. Verify the PythonConnectorClientbase supports an unencoded binary body before regenerating these.Required changes (per connector)
For each regenerated connector, follow the
add-connector/ regeneration workflow:src/azure/connectors/<connector>.pyviaLogicAppsCompiler.exe <out> --pythonDirectClient --connectors=<name>.src/azure/connectors/; do not hand-edit generated files.tests/test_<connector>.pyfor removed/renamed operations and new required params.samples/sample_connector_usage/if operation signatures changed.README.mdvalidated-connectors table (operation counts / status).CHANGELOG.mdentry under[Unreleased]— mark breaking changes (removed ops, renamed params, required-param additions) explicitly.py_compileclean +pytestgreen.Risks / open questions
DequeueCountdurability (Azure Queues): In .NET this field is kept even though AAPT Swagger omits it — a runtime-contract correction. Confirm whether that correction lives in the generator (survives regeneration) or was hand-patched into the .NET output. Python must inherit the same corrected generator behavior, otherwise the field silently drops on regeneration and the two SDKs diverge. Blocksazurequeuesparity.signinghub(and any other binary-upload connector) parity depends on the Python base client having a raw-bytes request path equivalent to .NET's binaryCallConnectorAsyncoverloads. If missing, that's a separate prerequisite task.formData-only operations remain excluded in both SDKs pending Swagger 2.0 multipart transport support (.NET tracks this in issue #212). Python should reference the same limitation rather than attempt to expose those ops.Acceptance criteria
azurequeues,documentdb,eventhubs) — not justoffice365/docuware/signinghub.DequeueCountand other manual corrections confirmed reproducible by generation (no hand-edits).pytestpasses; generated files compile.[Unreleased]entry references .NET PR #210 for traceability.