pypa / trove-classifiers

Canonical source for classifiers on PyPI.
https://pypi.org/p/trove-classifiers/
Apache License 2.0
134 stars 95 forks source link

macOS classifiers are somewhat outdated and non-specific #172

Open glyph opened 7 months ago

glyph commented 7 months ago

Windows looks like this:

    "Operating System :: Microsoft :: Windows",
    "Operating System :: Microsoft :: Windows :: Windows 3.1 or Earlier",
    "Operating System :: Microsoft :: Windows :: Windows 7",
    "Operating System :: Microsoft :: Windows :: Windows 8",
    "Operating System :: Microsoft :: Windows :: Windows 8.1",
    "Operating System :: Microsoft :: Windows :: Windows 10",
    "Operating System :: Microsoft :: Windows :: Windows 11",
    "Operating System :: Microsoft :: Windows :: Windows 95/98/2000",
    "Operating System :: Microsoft :: Windows :: Windows CE",
    "Operating System :: Microsoft :: Windows :: Windows NT/2000",
    "Operating System :: Microsoft :: Windows :: Windows Server 2003",
    "Operating System :: Microsoft :: Windows :: Windows Server 2008",
    "Operating System :: Microsoft :: Windows :: Windows Vista",
    "Operating System :: Microsoft :: Windows :: Windows XP",

whereas macOS looks like this:

    "Operating System :: MacOS",
    "Operating System :: MacOS :: MacOS 9",
    "Operating System :: MacOS :: MacOS X",
    "Environment :: MacOS X",
    "Environment :: MacOS X :: Aqua",
    "Environment :: MacOS X :: Carbon",
    "Environment :: MacOS X :: Cocoa",

It's not clear to me why Environment exists for macOS and not Windows, nor why every major release of Windows gets a new classifier but no release of macOS for the last 20 years has a new one.

Also, for the last 8 years or so, "macOS" is the correct style.

It's not clear that there are a lot of Python packages that need to target precise macOS versions but it seems like this should be symmetrical just for aesthetic reasons?

I'm not sure what exact list to propose though. Is there any guidance for the structure of new classifiers? Is it important to maintain compatibility with the old hierarchy? Does case matter?