On Sun, Nov 12, 2017 at 11:21 AM, Ethan Smith <ethan at ethanhs.me> wrote: > > > On Sun, Nov 12, 2017 at 9:53 AM, Jelle Zijlstra <jelle.zijlstra at gmail.com> > wrote: >> >> 2017-11-12 3:40 GMT-08:00 Ethan Smith <ethan at ethanhs.me>: >>> The name of the stub >>> package >>> MUST follow the scheme ``pkg_stubs`` for type stubs for the package named >>> ``pkg``. The normal resolution order of checking ``*.pyi`` before >>> ``*.py`` >>> will be maintained. >> >> This is very minor, but what do you think of using "pkg-stubs" instead of >> "pkg_stubs" (using a hyphen rather than an underscore)? This would make the >> name illegal to import as a normal Python package, which makes it clear that >> it's not a normal package. Also, there could be real packages named >> "_stubs". > > I suppose this makes sense. I checked PyPI and as of a few weeks ago there > were no packages with the name pattern, but I like the idea of making it > explicitly non-runtime importable. I cannot think of any reason not to do > it, and the avoidance of confusion about the package being importable is a > benefit. I will make the change with my next round of edits. PyPI doesn't distinguish between the names 'foo-stubs' and 'foo_stubs' -- they get normalized together. So even if you use 'foo-stubs' as the directory name on sys.path to avoid collisions at import time, it still won't allow someone to distribute a separate 'foo_stubs' package on PyPI. If you do go with a fixed naming convention like this, the PEP should probably also instruct the PyPI maintainers that whoever owns 'foo' automatically has the right to control the name 'foo-stubs' as well. Or maybe some tweak to PEP 541 is needed. -n -- Nathaniel J. Smith -- https://vorpus.org
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4