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 License
  • License :: OSI Approved :: Apache Software License
  • License :: OSI Approved :: BSD License
  • License :: 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