Skip to content

fix(packaging): include py.typed and .pyi stubs in wheel#77

Merged
zeevdr merged 1 commit into
mainfrom
fix/wheel-py-typed
May 19, 2026
Merged

fix(packaging): include py.typed and .pyi stubs in wheel#77
zeevdr merged 1 commit into
mainfrom
fix/wheel-py-typed

Conversation

@zeevdr
Copy link
Copy Markdown
Member

@zeevdr zeevdr commented May 19, 2026

Summary

  • The wheel was missing py.typed and the generated .pyi stubs because [tool.setuptools.package-data] was not declared — silently breaking the Typing :: Typed classifier shipped in the metadata.
  • Adds the package-data declaration so both the marker file and all gRPC stub files are included in every wheel build.
  • Adds a CI wheel-check job that builds the wheel and asserts py.typed is present, preventing regression.

Test plan

  • CI wheel-check job passes — wheel contains py.typed
  • All existing CI jobs (lint, typecheck, test, examples) remain green
  • Typing :: Typed classifier is now accurately reflected in the distributed wheel

Closes #47

🤖 Generated with Claude Code

Without [tool.setuptools.package-data], setuptools omits non-Python
files from the built wheel. This means py.typed and the generated
.pyi stubs were never shipped, silently breaking the "Typing :: Typed"
classifier.

Add the package-data declaration, a CI wheel-check job that builds the
wheel and asserts py.typed is present, and a README Typing section that
documents the guarantee.

Closes #47

Co-Authored-By: Claude <noreply@anthropic.com>
@zeevdr zeevdr added this to the Beta Readiness milestone May 19, 2026
@zeevdr zeevdr added bug Something isn't working size: S Quick win — a few hours or less priority: P0 Blocks alpha or release labels May 19, 2026
@zeevdr zeevdr enabled auto-merge (squash) May 19, 2026 18:12
@zeevdr zeevdr merged commit e546392 into main May 19, 2026
13 checks passed
@zeevdr zeevdr deleted the fix/wheel-py-typed branch May 19, 2026 18:12
@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: P0 Blocks alpha or release size: S Quick win — a few hours or less

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Wheel packaging may exclude py.typed and .pyi stubs

1 participant