- 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.
- I donated
resampyto typeshed: PyPI install. - I'm contributing work on
cytoolzandtoolztotoolz-stubs, which is incorporatingcytoolz-stubs, too.
- 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')
By law, authors retain their copyrights unless they grant exceptions. The Attribution-NonCommercial 4.0 International Deed outlines how you may use this work.
The restriction on commercial use (without a license) limits advantage-taking, unjust enrichment, and exploitation. You would be morally wrong if you were to enrich yourself by using this work while I am denied healthcare, housing, security of property, and the safety of my person.
To obtain and retain the right to use this work, you incur the cost of attributing the work to me. Your nominal cost might accrue as a benefit that mitigates my suffering or saves my life.
