Open
Description
opened on May 31, 2024
(Or intentional choices to diverge from PEP 561 compliance.)
Subtasks:
- Vendor typeshed's stubs: [red-knot] Vendor typeshed's stdlib #11340
- Add automation for keeping typeshed's stubs up to date: Add automation for updating our vendored typeshed stubs #11427
- Implement
--custom-typeshed-dir
internally: [red-knot] Encapsulate module resolution logic inmodule.rs
#11767 - Implement the typing spec's module resolution order:
- [red-knot] Encapsulate module resolution logic in
module.rs
#11767 - Proposal for tweaking the spec posted at https://discuss.python.org/t/pep-561-s-module-resolution-order-seems-incorrect/55048/1
- [red-knot] Encapsulate module resolution logic in
- Make vendored typeshed stubs available from the built Ruff binary: [red-knot] Include vendored typeshed stubs as a zipfile in the Ruff binary #11779
- Use vendored typeshed stubs at runtime to resolve symbols to stdlib definitions if
--custom-typeshed-dir
is not passed- Add a
VendoredFileSystem
implementation: [red-knot]: Add a VendoredFileSystem implementation #11863 - Use the
VendoredFileSystem
implementation to resolve stdlib stubs: [red-knot] Use vendored typeshed stubs for stdlib module resolution #12224
- Add a
- Add support for stubs packages suffixed with
-stubs
installed intosite-packages
(must take priority over other packages installed intosite-packages
) - Add support for typeshed's
VERSIONS
file: we shouldn't fallback to a typeshed module if theVERSIONS
file specifies it does not exist with the--target-version
the user passes.- Add a parser for
VERSIONS
: [red-knot] Add a parser for typeshed's VERSIONS file #11836 - Use the
VERSIONS
file when resolving stdlib modules: [red-knot] Respect typeshed'sVERSIONS
file when resolving stdlib modules #12141
- Add a parser for
- Add support for editable installs that use static
._pth
files: - Fix [red-knot] Module resolver has incorrect behaviour if a single-file module and potential namespace package coexist #12278
- Add understanding of
py.typed
files withpartial
in them, which are used to explicitly mark a package's annotations as partially complete - Audit mypy's and pyright's module resolvers to see if there's anything that's not in the spec that still needs to be implemented
Activity