Is there a process by which a new trove classifier can be added? (original) (raw)
September 27, 2024, 2:33pm 1
Hey everyone,
I was curious if there would be a way to add Chaos Toolkit as a trove classifier considering it would help categorizing and discovering chaostoolkit extensions?
The page at Classifiers · PyPI mentions the instructions should be detailed at Writing your pyproject.toml - Python Packaging User Guide but I couldn’t find anything about it.
Does anyone know if there is a process for this?
Thanks,
dustin (Dustin Ingram) September 27, 2024, 2:47pm 2
Lawouach (Sylvain Hellegouarch) September 27, 2024, 3:55pm 3
Thanks Dustin.
I saw this package but there is no documentation there either about the right process nor how a decision is made.
woodruffw (William Woodruff) September 27, 2024, 3:59pm 4
There’s no process besides a PR to that repository; previous recent discussions happened in the PRs themselves.
Here’s a recent example: Add Odoo 18 trove classifier by sbidoul · Pull Request #187 · pypa/trove-classifiers · GitHub
(There are no formal guidelines yet, but there are some informal ones mentioned here: Add Data Acquisition (DAQ) classifier by stephanlachnit · Pull Request #184 · pypa/trove-classifiers · GitHub)
Lawouach (Sylvain Hellegouarch) September 27, 2024, 4:27pm 5
Thank you William.
I guess I’ll have to try my luck then 
ofek (Ofek Lev) September 27, 2024, 4:41pm 6
This has me thinking, is there a concrete benefit to having trove classifiers rather than increasing the usefulness and search semantics of keywords?
woodruffw (William Woodruff) September 27, 2024, 6:47pm 7
I think the main advantage is in trove classifiers being curated/hierarchical, but this is arguably also their greatest disadvantage 
(Keywords reduce the bottleneck/curatorial overhead here, but they also rely on people using the same terms consistently/the index being able to normalize/equalize between keywords. cli versus command-line-interface versus cli-tool, etc.).
ofek (Ofek Lev) September 27, 2024, 9:16pm 8
I think a better path would be to allow communities/ecosystems themselves to dictate the proper naming for easier discoverability of packages on PyPI. Maintainers would then have an incentive to follow conventions of said communities.
I’d be in favor of a proposal to deprecate trove classifiers the more I think about it, should someone have the time 
flying-sheep (Philipp A.) September 28, 2024, 9:41am 9
Maybe I’m doing it wrong, but keywords have been almost completely useless to anything I ever did, exactly because there’s no canonical hierarchy of them.
On StackOverflow, they used to be moderately useful because the UX of that site recommended them based on frequency of usage. That would be completely gone when authoring a static text file in one of the myriad of editors out there.
I agree. I think the best path would be to hand off curating of certain trove subtrees to communities dedicated to that topic.
pitrou (Antoine Pitrou) September 28, 2024, 9:51am 10
This is the exact same problem that keywords have in any large non-coordinated repository of data.
As an example, the Apache Software Foundation provides a single JIRA instance for all its projects. On this JIRA instance, projects can add freeform tags to their issues. Unfortunately, the autocomplete for the tags field searchs through all tags used by all projects. It’s a horrible, unusable mess.
So, yes, a curated list of topics is the way to go for PyPI.
ofek (Ofek Lev) September 28, 2024, 2:14pm 11
I understand your desire for a curated enumeration rather than keywords but I think this is a poor example. I experience this issue as well and it is entirely due to Atlassian’s current implementation and they could fix it whenever they wish but haven’t. Within a project it is desirable to have scoped tags and search because other projects are of no concern to you.
In the case of PyPI there is no use case for a scoped search. Instead, it’s entirely about the global search.
As a counter example, are the classifiers for Python 3.12 used by anyone for search? Individual projects you’re already using could document support but I doubt anyone is searching for that in the hope of finding a package to use and therefore is not useful for search.
pitrou (Antoine Pitrou) September 28, 2024, 2:31pm 12
This is my entire point. Uncoordinated keywords do not work well with a global search. The Apache JIRA example was meant to illustrate that point.
Not in isolation, but people could use that keyword in combination with the full text search (and/or other classifiers) in order to narrow down results.
hugovk (Hugo van Kemenade) September 28, 2024, 2:49pm 13
Yes, it’s used programmatically by Python Readiness and I’ve recently been using the 3.13 list to find projects that aren’t yet testing on the upcoming release, and may also need more work to be compatible.
woodruffw (William Woodruff) September 28, 2024, 3:42pm 14
As a datapoint: other ecosystems (like Rust’s crates) use both classifier and keyword-type schemes at the same time, to get both benefits.
I don’t have a strong opinion on inclusion criteria for classifiers, but I do think they currently serve a valuable use case that keywords can’t currently (because of data quality issues).
matmair (Matthias Mair) September 7, 2025, 1:22pm 15
Are there any plans to formalize this process? I have submitted a PR a few weeks ago, and I am not sure in what way one could get eyes on it in an acceptable way. Having a statement where one should post, who to tag would be helpful.
dustin (Dustin Ingram) September 8, 2025, 1:53pm 16
Submitting a PR to that repo is sufficient, looks like we might need more people to be responsible for reviewing/merging PRs there though (I have been OOO for the last two weeks which is why you haven’t gotten a response yet).
matmair (Matthias Mair) September 9, 2025, 6:10pm 17
Thank you for your reply, review and merge;
What disoriented me that there was not that much documentation around the process. Working mostly with Django and it’s ecosystem, I am maybe a bit too used to have every process laid out in huge detail. Thank you again for your support!
dustin (Dustin Ingram) September 9, 2025, 6:38pm 18
Make sense! If you have any ideas about where we could use more documentation (i.e. where did you go to look for details?) please feel free to file an issue accordingly.