pypa/trove-classifiers

PEP 561 stub-only packages

ewjoachim opened this issue · 6 comments

Shouldn't there be a classifier for types-* or *-stubs packages such as defined by PEP 561 (actually PEP says stub packages MUST be named *-stubs but it seems every package is named types-*)?

I believe having a dedicated classifier for stub-only packages (and 🤞 widepsread adoption) would make things easier when searching for stub packages for a specific package.

Pinging @ethanhs, who was the author of PEP 561.

Do you know what the story is about the types-* packages vs *-stubs pacakges? Would having a dedicated classifier be particularly useful for such packages?

This is a package vs distribution issue. packages must be named -stubs since they are just stubs, but we decided types-* was a better naming scheme for what you install, plus it fits with warehouse's plans for namespacing.

There is already the Typing::Typed classifier, which is rather vague, but generally means "has types or provides types". I suppose it is a poor fit for stub only packages, but I don't feel strongly about it.

Yeah, the problem I see is that while typeshed's packages are named types-*, it's not the case for all types packages, and there's no way to search for a project that has a *-stubs package inside. When you have a non-typed package, and you're wondering if there are some stubs, there currently is no simple way. If we have a Typing :: Stubs or something, and it's used, it becomes slightly easier.

That makes sense to me. The only concern Id have is what if people had a package with stubs alongside their Python code, do they put the Typing :: Stubs classifier?

As a general rule, we can say that people are going to mis-use the classifier, whatever we do :D
In this case, I believe it's not that important, as this classifier will, I think, mostly be used by people looking for stubs for a package that has no stubs, so if their package already has everything, not many people will search for that package's stubs ? So whether they have the classifier or not will not make a huge difference ?

That said I'm ok with Typing :: Stubs only

Thank you !