Add py.typed marker for PEP 561 support (#116) - #125
Tarcio0211 wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds PEP 561 typing support metadata so type checkers (e.g., mypy) recognize permit as a typed package rather than reporting it as “missing library stubs or py.typed marker”.
Changes:
- Adds an empty
permit/py.typedmarker file. - Updates
setup.pyto includepy.typedin the distributed package viapackage_data.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| setup.py | Includes permit/py.typed in package distribution metadata (package_data). |
| permit/py.typed | Adds the PEP 561 marker file to declare the package as typed. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Thanks @Tarcio0211 for picking this up. The marker is exactly the right end state, and your packaging change does put When we tested it against the current code, though, declaring the package typed made things worse for type-checker users on its own. mypy and pyright started flagging correct code:
On a small sample app, that turned 3 import errors, which users can silence, into more than 20 errors on valid code. #126, now merged to main and shipping in permit 3.0.0, fixes those typing problems and ships |
Issue: #116
What this PR does:
py.typedfile to thepermitpackage.package_datainsetup.pyto includepy.typedin the distribution.Why:
This resolves the mypy error
Skipping analyzing 'permit': missing library stubs or py.typed markerreported in issue #116. Nowmypycorrectly recognizespermitas a typed package.Testing:
mypyno longer ignores thepermitpackage.pip install -e .) to confirm the marker is included.