On Sun, Nov 12, 2017 at 11:21 AM, Ethan Smith <et...@ethanhs.me> wrote: > > > On Sun, Nov 12, 2017 at 9:53 AM, Jelle Zijlstra <jelle.zijls...@gmail.com> > wrote: >> >> 2017-11-12 3:40 GMT-08:00 Ethan Smith <et...@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 _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com