You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Python] Model-only TypeSpec project rejected by no-sdk-clients #11794
EventGridSystemEvents is intentionally a model-only system-events catalog. It defines an @service namespace and event models but no HTTP operations or SDK client interfaces.
Its Python output contributes models to sdk/eventgrid/azure-eventgrid.
Regression boundary
Generation succeeds with:
@azure-tools/typespec-python 0.61.3
@typespec/http-client-python 0.28.3
typespec-client-generator-cli 0.32.1
Generation fails with:
@azure-tools/typespec-python 0.63.3
@typespec/http-client-python 0.35.1
typespec-client-generator-cli 0.33.1
The old, previously successful specification also fails under the newer toolchain, so this is independent of the Go changes in PR #44723.
The rejecting check appears to have been added by #10203, commit 755fe9a0974439e8c14abc0c2ddf0302e70d9e25.
Previously, model-only packages were explicitly re-enabled by #7348.
Requested resolution
Please restore Python generation support for model-only TypeSpec packages, or provide an approved mechanism for model-only projects to avoid the no-sdk-clients diagnostic.
This currently blocks an otherwise Go-only Azure SDK specification PR.
The no-sdk-clients diagnostic introduced in #10203 now rejects model-only TypeSpec packages (e.g., EventGridSystemEvents) that previously worked fine, breaking Python SDK generation for specs that intentionally have no HTTP operations.
Category: Bug
Area: emitter:client:python
⚠️ No reproduction provided. A minimal repro would help diagnose this issue.
🔍 Analysis
Regression boundary: Worked with @typespec/http-client-python 0.28.3 / typespec-client-generator-cli 0.32.1; fails from 0.35.1 / 0.33.1 onward.
Root cause: Enable Python Emitter in TypeSpec Playground #10203 added the no-sdk-clients lint rule, which enforces that every TypeSpec program must yield at least one SDK client. This breaks intentional model-only packages (e.g., event catalog packages that expose only data models, not HTTP clients).
Yuchao Yan (@msyyc) That was added because TypeSpec would fail to compile in the playground without an SDK client, so it provided a clearer error message to users. If it's a regression I can revert the part, the scope of that PR was just enabling Python SDK generation in the playground
Activity
github-actions commentedon Aug 31, 2026
🎯 Issue Triage
The
no-sdk-clientsdiagnostic introduced in #10203 now rejects model-only TypeSpec packages (e.g.,EventGridSystemEvents) that previously worked fine, breaking Python SDK generation for specs that intentionally have no HTTP operations.Category: Bug
Area:
emitter:client:python🔍 Analysis
@typespec/http-client-python0.28.3 /typespec-client-generator-cli0.32.1; fails from 0.35.1 / 0.33.1 onward.no-sdk-clientslint rule, which enforces that every TypeSpec program must yield at least one SDK client. This breaks intentional model-only packages (e.g., event catalog packages that expose only data models, not HTTP clients).specification/eventgrid/data-plane/EventGridSystemEventsin azure-rest-api-specs (PR [EventGrid] Fix Go ACS naming for system events (APIView feedback) Azure/azure-rest-api-specs#44723).📝 Suggested next steps
no-sdk-clientsrule introduced in Enable Python Emitter in TypeSpec Playground #10203 to understand if model-only packages should be exempt.@iscai-msft,@msyyc,@tadelesh) should evaluate whether the rule should be relaxed or made suppressible.msyyc commentedon Aug 31, 2026
It seems be regression caused by #10203 but not sure whether the regression is intended.
jenny (@JennyPng) Could you provide more context about https://github.com/microsoft/typespec/pull/10203/changes#r3892620265?
CC iscai-msft
JennyPng commentedon Aug 31, 2026
Yuchao Yan (@msyyc) That was added because TypeSpec would fail to compile in the playground without an SDK client, so it provided a clearer error message to users. If it's a regression I can revert the part, the scope of that PR was just enabling Python SDK generation in the playground
msyyc commentedon Sep 2, 2026
Will fix the issue in #11823
Allow suppressing Python no-client warnings (microsoft#11823)
lirenhe commentedon Sep 17, 2026
Close it as completed.