MT006: HasClassifiers
Overview
| Property | Value |
|---|---|
| ID | MT006 |
| Name | HasClassifiers |
| Group | metadata |
| Severity | WARNING |
Description
Checks that the [project].classifiers field is defined in pyproject.toml.
Classifiers are standardized labels that describe your package:
- Used by PyPI for categorization and filtering
- Help users understand package maturity and compatibility
- Required for proper PyPI categorization
What it checks
The check verifies that pyproject.toml contains:
[project]
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3.11",
]How to fix
Add the classifiers field to your pyproject.toml:
[project]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]Common classifiers
Development Status:
| Classifier | When to use |
|---|---|
Development Status :: 1 - Planning |
Pre-development |
Development Status :: 2 - Pre-Alpha |
Early development |
Development Status :: 3 - Alpha |
Feature incomplete |
Development Status :: 4 - Beta |
Feature complete, testing |
Development Status :: 5 - Production/Stable |
Ready for production |
Development Status :: 6 - Mature |
Long-term stable |
License (use with your license):
License :: OSI Approved :: MIT LicenseLicense :: OSI Approved :: Apache Software LicenseLicense :: OSI Approved :: BSD LicenseLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)
Python versions:
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",Finding classifiers
The full list of valid classifiers is available at: https://pypi.org/classifiers/
Note: Only use classifiers from the official list. Invalid classifiers will cause PyPI upload failures.
Configuration
Skip this check
[tool.pycmdcheck]
skip = ["MT006"]CLI
pycmdcheck --skip MT006