我应该使用哪些Python-Trove分类器?

我应该使用哪些Python-Trove分类器?,python,setup.py,pypi,Python,Setup.py,Pypi,Trove Classifiers的列表位于: 当我创建PyPI包时,我不确定是否需要将“父级”包含到trove分类器中,这些分类器显然适用于我的项目 例如,如果我已经在Windows XP上测试了我的项目,那么我应该包括以下哪项: 'Operating System :: Microsoft', 'Operating System :: Microsoft :: Windows', 'Operating System :: Microsoft :: Windows :: Windows NT/

Trove Classifiers的列表位于:

当我创建PyPI包时,我不确定是否需要将“父级”包含到trove分类器中,这些分类器显然适用于我的项目

例如,如果我已经在Windows XP上测试了我的项目,那么我应该包括以下哪项:

'Operating System :: Microsoft',
'Operating System :: Microsoft :: Windows',
'Operating System :: Microsoft :: Windows :: Windows NT/2000',
我只在Windows7上测试过,有时也在WindowsXP上测试过。但这两个都不是分类器列表中的选项,所以我选择“NT/2000”作为结束匹配,并包括“父”分类器。这样做对吗

类似地,如果我的项目是在Python 2.7下测试的,那么我显然包括分类器:

'Programming Language :: Python :: 2.7',
我是否还需要包括:

'Programming Language :: Python',
'Programming Language :: Python :: 2',
第一个是一个严格的“父级”,如果是原始分类器,那么是否包含它大概与是否包含上面的“窗口”父级相同


但是,请注意,“Python::2”不是“2.7”分类器的父级,而是同级。如果它是为了表明我的项目在某些2.x Python版本下工作,那么包含它是有意义的,但如果它是为了暗示我的项目在所有2.x版本下工作,则不包含它。

从技术上讲,您不需要包含父标记。例如,列出了这些标记(但没有它们的父标记):

并浏览到分类的软件包列表,包括lxml

包括父标签是否会让用户更清楚,我不确定

我认为
编程语言::Python::2
是指一些python2.x版本,而不是所有的python2.x版本,而且似乎许多项目都这样使用它(例如再次)

至于操作系统,我会用它来定义软件包应该在什么环境下工作,而不仅仅是您能够测试的环境。因此,我只会将Windows分类器用于无法在其他操作系统上运行的特定于Windows的工具。它不构成支持合同


到目前为止,Windows和Windows NT/2000标记可能大致相当。

有意义,并且与我自己在提出问题后浏览现有项目的情况相对应。唯一的缺点是“Python::2”和“Python::3”分类器,它们不是“Python::2.7”和“Python::3.2”条目的严格父项(它们是兄弟项),因此可能需要显式指定您是否希望项目在搜索“Python 2”或“Python 3”时显示。嗯,我以前从未注意到这种缺点。是的,你说得对,除了更具体的分类器之外,我还设置了“Python::2”和/或“Python::3”。
Topic :: Text Processing :: Markup :: HTML
Topic :: Text Processing :: Markup :: XML