The trove_classifiers package powers the PyPI browsing UI. While these don’t do anything to a pip install
solve (a sensible install_requires
, or even extras_require
are better), and are generally hard to get at programatically (there’s no API), can be straight up incorrect, etc… but are still useful for humans, and search engine robots, for finding things.
Thanks to @carrreau, we presently already represent:
Framework :: IPython
Framework :: Jupyter
On a deeper gaze into the existing ones, it looks like there is precedent for describing deeper parts of a stack and major X
(or even minor X.y
) versions.
Over on jupyterlab#9538 we’ve been talking about moving forward with at least getting some versioned sub-classifiers for JupyterLab
, but we may as well go all-in, and do it for everything we can think of:
Framework :: Jupyter :: Kernels
Framework :: Jupyter :: Widgets
Framework :: Jupyter :: nbconvert
Framework :: Jupyter :: nbconvert :: 5
Framework :: Jupyter :: nbconvert :: 6
Framework :: Jupyter :: nbconvert :: Templates
Framework :: Jupyter :: nbconvert :: Preprocessors
Framework :: Jupyter :: nbconvert :: Postprocessors
Framework :: Jupyter :: nbconvert :: Exporters
Framework :: Jupyter :: nbconvert :: Filters
Framework :: Jupyter :: JupyterHub
Framework :: Jupyter :: JupyterHub :: 1
Framework :: Jupyter :: JupyterHub :: Services
Framework :: Jupyter :: JupyterHub :: Authenticators
Framework :: Jupyter :: JupyterHub :: Spawners
Framework :: Jupyter :: JupyterLab :: 1
Framework :: Jupyter :: JupyterLab :: 2
Framework :: Jupyter :: JupyterLab :: 3
Framework :: Jupyter :: JupyterLab :: Themes
Framework :: Jupyter :: JupyterLab :: Extensions
Framework :: Jupyter :: JupyterLab :: Renderers
Framework :: Jupyter :: JupyterLab :: Applications
Framework :: Jupyter :: Server :: Extension
The requirement is generally that there are “enough” of these to make it worth it, but I’d wager there’s enough first party ones of these to warrant all of them.