From f500885f8c2ded4b866d42c7efbe74e0d7cec26e Mon Sep 17 00:00:00 2001 From: detachhead Date: Mon, 17 Jun 2024 17:07:03 +1000 Subject: [PATCH] document builtin docstrings --- README.md | 36 ++++++++++++++++++++++++++++++++++++ docs/img/basedDocs.gif | Bin 0 -> 55406 bytes docs/img/pylanceDocs.gif | Bin 0 -> 35719 bytes 3 files changed, 36 insertions(+) create mode 100644 docs/img/basedDocs.gif create mode 100644 docs/img/pylanceDocs.gif diff --git a/README.md b/README.md index 9f3919cc1a..5a9e1aa9c4 100644 --- a/README.md +++ b/README.md @@ -206,6 +206,42 @@ initial implementation of the semantic highlighting provider was adapted from th basedpyright contains several improvements and bug fixes to the original implementation adapted from [pyright-inlay-hints](https://github.com/jbradaric/pyright-inlay-hints). +#### docstrings for compiled builtin modules + +many of the builtin modules are written in c, meaning the pyright language server cannot statically inspect and display their docstrings to the user. unfortunately they are also not available in the `.pyi` stubs for these modules, as [the typeshed maintainers consider it to be too much of a maintanance nightmare](https://github.com/python/typeshed/issues/4881#issuecomment-1275775973). + +pylance works around this problem by running a "docstring scraper" script on the user's machine, which imports compiled builtin modules, scrapes all the docstrings from them at runtime, then saves them so that the language server can read them. however this isn't ideal for a few reasons: + +- only docstrings for modules and functions available on the user's current OS and python version will be generated. so if you're working on a cross-platform project, or code that's intended to be run on multiple versions of python, you won't be able to see docstrings for compiled builtin modules that are not available in your current python installation. +- it's (probably) slower because these docstrings need to be scraped either when the user launches vscode, or when the user hovers over a builtin class/function (disclaimer: i don't actually know when it runs, because pylance is closed source) + +in basedpyright's implementation, the docstrings for all compiled builtin modules for all python versions (except 3.8 for now, sorry!) and all platforms (macos, windows and linux) are bundled in the default typeshed stubs that come with the basedpyright package. +##### examples + +here's a demo of basedpyright's builtin docstrings when running on windows, compared to pylance: + +###### basedpyright + +![](docs/img/basedDocs.gif) + +###### pylance + +![](docs/img/pylanceDocs.gif) + +##### generating your own stubs with docstrings + +basedpyright uses [docify](https://github.com/AThePeanut4/docify) to add docstrings to its stubs. if you have third party compiled modules, you can use docify to add docstrings to its stubs: + +``` +python -m docify path/to/package_name --output typings/package_name +``` + +or if you're using a different version of typeshed, you can use the `--builtins-only` argument to replicate how basedpyright's version of typeshed is generated for your current platform and python version: + +``` +python -m docify path/to/typeshed/stdlib --builtins-only --in-place +``` + ### errors on invalid configuration in pyright, if you have any invalid config, it may or may not print a warning to the console, then it will continue type-checking and the exit code will be 0 as long as there were no type errors: diff --git a/docs/img/basedDocs.gif b/docs/img/basedDocs.gif new file mode 100644 index 0000000000000000000000000000000000000000..8f2e3969273731674dde25675110105006ad79b8 GIT binary patch literal 55406 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

S`yX;m3Pc(j*wgv|wGxI@ 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 literal 0 HcmV?d00001 diff --git a/docs/img/pylanceDocs.gif b/docs/img/pylanceDocs.gif new file mode 100644 index 0000000000000000000000000000000000000000..f72a19783fbaa030cc9b6962ad5920a90b86f023 GIT binary patch literal 35719 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%0DmVmLCuy|BOnBR32tQrq{*jS0w-`Qa9 zDT{DTlsPq>9(0V+ZQ2zSgq)XpVvHfD*vcI};;{+2Q>|w_kjCYkXv&o38-j9r5Q=c`hyvRZn2fyoXv;gVJiLkJFvwg&`cMt4@cNBA=Zs>U z5|EK3D@-TDAIr&%meUV*eKQDt7I>mgma{ZvEw#S)Be z5IJYnhA6z~-KFcZt8&%Vo~N8|4CW8(s5e)b3%l$J@U34WV;DPfQ}HP^F7ev&i4VPo z+pbsD&Qji^jH`02-(YgPGeY+K>?| z4bd$s@Ac8CdYa;cb+j0&>2%n3>2!8b797vL5K>{4!tB^_g*mUjvM^$h(OKt-e$IFZ zzxj;3@uf7H6R(8181k=K7@f;%Aoy1nX9&L(c_wxo>rxsPN>~tgG9XX!FQ%1iwgDZw zGnlJZ?PaaGWNZ3qR?oRgGVQUkse9Zw-mbi4_sQuSE-7XMimBU7LZ4^EvdSmPuJYHY zl|Xn?Xu9G{p33MbEJ$wD&3!)No0vp+BOzCH@^NC(6BqWSTTrt_xpvf0UL-hzD|XIC z=yiI*u>pEEx&A{pApJ~tZ_UxaYZnR?iyGt$(MNlnoUoPaQ580pj$s%{x?9QoigoSd zl@DF|!l+}Kik;1+kFnwx5AshoT1q_|T5*rRGi9vtw(H{5YI~bpSGCI_mG2(mImzlw zq9>M5^HyiKzRgFbbz4utJ{1H4PI#tX^OrZ0H*OY-`T~5Jt2Md_Equ`6qYS2sJ}wF16bl*Sug#|5Y^Z~J|Zd6&a*|6KQ-ZlYDjDei_V3y?o9-qKCnLq(l;3fS)zMa6c4u{y$ zfs*6_B8)*GT!4g8ko?YlnZzI^w7&u0S)h z^$8(xhv=h1yzD}Zc0ziyL(D+1qJ2bA&Y)1r1(>T(XfAiC z2P$;QCe&vqG$uRL4+I~sQ1|zN?_xbPf>H2O^bn*z=cD@?~gQcs(v0x_P{j z5!nJl))*l>P@%2p@TNp0mJ!*xgM6VL(t|?w7)3y-BXEfklAwqYhluf=2)s|gBrc+d zF>=u-a>JWc3r`iujvP{ttiw@EQ6H&?N51oUz>pWYz8txU3xA{jpbq}vpllS&A{A7U z9BN4k$v(D?iUiXhCs`p?3ywPB2qvVHktRhmk6r#A7un2sd^nw~&Vd4k4_{M{{(_JG zV)TGzEJnmp=QMvg^0t2z7e(|gI*Q9U23i(#;6se!huC)7*hUzKlDr9!)x&PT9g2P3}kul8xI!$6R7cuu9T^7R1&sQw42C8iXZ4)8m`@ zqFF!0S<623_yDaliq^PI8fppFPNzJs0k#W!$d3uXa68)bb|TzS?K3LTGAS|gL!u^- z-%gPfXPgA)P6~HSN?u7!9D9)RA<1(rX_GuT`@{VMz?9l9o%S^wTXt_p4+r+k*0*eJ NZ|L8II@*z(`yagck1PNH literal 0 HcmV?d00001