MT003: HasProjectDescription
Overview
| Property | Value |
|---|---|
| ID | MT003 |
| Name | HasProjectDescription |
| Group | metadata |
| Severity | ERROR |
Description
Checks that the [project].description field is defined in pyproject.toml.
The description provides a brief summary of your package that appears:
- On PyPI package pages
- In pip search results
- In IDE tooltips and documentation
What it checks
The check verifies that pyproject.toml contains:
[project]
description = "A brief description of what your package does"How to fix
Add the description field to your pyproject.toml:
[project]
description = "A comprehensive Python package checker inspired by R CMD check"Writing good descriptions
- Keep it short (one line, under 200 characters)
- Describe what the package does, not how
- Avoid marketing language
- Include key functionality
Good examples:
- “Fast, async HTTP client for Python”
- “Command-line tool for managing Python environments”
- “Type stubs for the requests library”
Avoid:
- “The best HTTP library ever!” (marketing)
- “A library” (too vague)
- Very long descriptions (use README for details)
Configuration
Skip this check
[tool.pycmdcheck]
skip = ["MT003"]CLI
pycmdcheck --skip MT003