The 3rd party package listing is getting unwieldy, making discoverability difficult. It also requires creating & merging a PR that manually changes the page.
Proposal
Pypa has classifiers users can filter on. 3rd party package devs could add the classifier to their packaging, and then users could filter on PyPA for domain specific Matplotlib packages. The 3rd party package page would then be updated to link out to the PyPa list and document how to add the matplotlib classifier to the package. Optimally, conda would also adopt tags and a link to that list could also be added to the page.
Downsides
Might create a moderation load in terms of making sure packages tagged matplotlib are actually matplotlib & not trying to park at the tag, but there's probably a low risk of this.
Also loses some of the community flavor of the third party package page, but that could maybe be rectified by intermittently scraping the pypi and conda pages to populate a sort of gallary of packages.
link to PyPa list of packages with Framework :: Matplotlib
link to conda & conda forge list of packages w/ matplotlib tag
explain how to add Framework :: Matplotlib to setup.py
explain how to register w/ conda
stress that they should have a picture and explanation in their readme
deprecation plan
open PRs on packages listed on third party package pages (sprint or good-first issues):
add Framework :: Matplotlib classifier to setup.py
add whatever conda's standard is
heavily advertise new policy
discourse/mailing lists/tweets
blog post stressing ecosystems
deprecate current 3rd party package page
amendment
This does not have to wait on conda adopting the feature, especially as many of the projects currently listed on the 3rd party package page have registered the classifier.
changed the title [-]Move 3rd party package list handeling to pypa/conda channels[/-][+]Move keeping track of 3rd party packages to pypa/conda[/+]on Feb 27, 2020
Independent of this, there is some value in having a curated 3rd-party-package site:
Sectioning: There‘s quite a few packages and it helps to group them by topic.
Images: in many cases is more informative than an image showing what the package does.
One option would be to list 3rd-party-packages as a separate github project (matplotlib/3rd-party-projects or similiar) with a simple index.rst. That‘s easier to contribute to than the docs in our main repo since you don‘t need a complete matplotlib environment setup. Also the images don‘t blow up the main repo size further. Our docs would then just link to that page.
This idea was a refinement of an older idea to turn the 3rd party package page into a sphinx gallery so that adding/pruning packages becomes more like managing the gallery.
My main worry with a hand curated site is it's inherently endorsing some packages and I worry indicates that those packages are up to date/maintained (which I have no idea). A secondary advantage of the PyPA/Conda approach is that they keep track of releases and the like for their own purposes.
I think we can get sectioning & images even with a PyPA approach. PyPA has Topic:: classifiers like science and visualization and I think finer grained domain specific stuff & the instructions on the 3rd party page would be to add an image to the readme (which they should do anyway) which is what PyPA displays on their site.
Are there other packages that do this? I'm having trouble understanding what the end product would look like. I wasn't really aware that there was a particular problem with the 3rd party page.
The thing w/ the 3pp page is that folks have to custom edit the rst and then wait on the PR process and I think that adds an unnecessary barrier to getting stuff listed. Also Tom and I have been manually inviting folk so submit which inherently limits the submissions to projects we know about & I don't want folk to feel like they have to clear some bar to get added. In this new system, all they'd have to do is add Framework :: Matplotlib to their setup.py file.
Pitching this to PyPA means folk still get to opt into being listed as a 3rd party package, but w/out the burden of going through the mpl PR system and waiting for our docs to build.
Just found this, but I think the endproduct would look something like djangos page: https://djangopackages.org/
Activity
timhoffm commented on Mar 2, 2020
👍 on adding a PyPA classifier.
Independent of this, there is some value in having a curated 3rd-party-package site:
One option would be to list 3rd-party-packages as a separate github project (matplotlib/3rd-party-projects or similiar) with a simple index.rst. That‘s easier to contribute to than the docs in our main repo since you don‘t need a complete matplotlib environment setup. Also the images don‘t blow up the main repo size further. Our docs would then just link to that page.
story645 commented on Mar 2, 2020
This idea was a refinement of an older idea to turn the 3rd party package page into a sphinx gallery so that adding/pruning packages becomes more like managing the gallery.
My main worry with a hand curated site is it's inherently endorsing some packages and I worry indicates that those packages are up to date/maintained (which I have no idea). A secondary advantage of the PyPA/Conda approach is that they keep track of releases and the like for their own purposes.
I think we can get sectioning & images even with a PyPA approach. PyPA has Topic:: classifiers like science and visualization and I think finer grained domain specific stuff & the instructions on the 3rd party page would be to add an image to the readme (which they should do anyway) which is what PyPA displays on their site.
jklymak commented on Mar 3, 2020
Are there other packages that do this? I'm having trouble understanding what the end product would look like. I wasn't really aware that there was a particular problem with the 3rd party page.
story645 commented on Mar 3, 2020
The thing w/ the 3pp page is that folks have to custom edit the rst and then wait on the PR process and I think that adds an unnecessary barrier to getting stuff listed. Also Tom and I have been manually inviting folk so submit which inherently limits the submissions to projects we know about & I don't want folk to feel like they have to clear some bar to get added. In this new system, all they'd have to do is add Framework :: Matplotlib to their setup.py file.
Pitching this to PyPA means folk still get to opt into being listed as a 3rd party package, but w/out the burden of going through the mpl PR system and waiting for our docs to build.
Just found this, but I think the endproduct would look something like djangos page:
https://djangopackages.org/
Added framework matplotlib classifier to setup.py
story645 commented on Apr 21, 2021
closing since the classifier is done & third party package is moving to https://github.com/matplotlib/mpl-third-party