- I usually run stubdefaulter.
- I sometimes add missing annotations.
- I sometimes use
Anyfor missing annotations so type checkers don't complain about "UNKNOWN". - Most changes are automated, but not sophisticated.
This is a useful tool for me, but I haven't really figured out how to make it useful for more people.
- Create or improve a stub file.
- Submit a Pull Request.
The following might work for you, but I don't really know for sure.
To use the stub files from this repository:
-
Clone the repository.
git clone https://github.com/hunterhogan/stubFileNotFound.git
-
Tell your type checker about the
stubsdirectory.
Relevant settings may include
python.analysis.stubPathmypy-type-checker.args"--custom-typeshed-dir=typings"
Virtual directories (symlinks)
(.venv) C:\apps\Z0Z_tools> MKLINK /D typings \apps\stubFileNotFound\stubs-
Copy and paste the signature into a stub file. Improve it.
-
stubgen --verbose --include-docstrings ^ --include-private --output typings ^ --package nameOfAnInstalledPackage
VS Code:
workbench.action.openGlobalKeybindingsFile{ "args": { "text": "stubgen --include-private --include-docstrings --output typings --verbose -p ${selectedText}\n" }, "command": "workbench.action.terminal.sendSequence", "key": "ctrl+shift+t" },2026-10-16: "Hey, thanks, old me! I wanted the keybinding information, and here it is!"
-
pyright --createstub nameOfAnInstalledPackage- "Quick Fix" in VS Code.
-
Pylance if
reportMissingTypeStubsis enabled and the stub is missing: "Quick Fix"
- MonkeyType
- stubgen-pyx:
stubgen-pyx /path/to/package - stub-generator
-
Nuitka-Stubgen:
pip install AST-Stubgenimport pathlib import Ast_Stubgen pathlib.Path('typings/Ast_Stubgen').mkdir(parents=True, exist_ok=True) Ast_Stubgen.generate_stub('.venv/Lib/site-packages/Ast_Stubgen/stubgen.py', 'typings/Ast_Stubgen/stubgen.pyi') Ast_Stubgen.generate_stub('.venv/Lib/site-packages/Ast_Stubgen/__init__.py', 'typings/Ast_Stubgen/__init__.pyi')
