MT007: HasHomepage
Overview
| Property | Value |
|---|---|
| ID | MT007 |
| Name | HasHomepage |
| Group | metadata |
| Severity | WARNING |
Description
Checks that project URLs are defined in pyproject.toml.
Project URLs provide important links for users:
- Help users find documentation, source code, and issue tracker
- Build trust by showing active maintenance
- Displayed prominently on PyPI package pages
What it checks
The check verifies that pyproject.toml contains either:
[project.urls]
Homepage = "https://github.com/user/project"Or other standard URL fields like Repository, Documentation, etc.
How to fix
Add the [project.urls] section to your pyproject.toml:
[project.urls]
Homepage = "https://example.com/my-package"
Documentation = "https://my-package.readthedocs.io"
Repository = "https://github.com/user/my-package"
Issues = "https://github.com/user/my-package/issues"
Changelog = "https://github.com/user/my-package/blob/main/CHANGELOG.md"Common URL types
| Key | Description |
|---|---|
Homepage |
Main project website or landing page |
Documentation |
Full documentation (ReadTheDocs, etc.) |
Repository |
Source code repository |
Issues |
Bug tracker / issue tracker |
Changelog |
Release notes or changelog |
Funding |
Sponsorship or donation page |
Download |
Direct download location |
Minimum recommended URLs
At a minimum, include:
[project.urls]
Homepage = "https://github.com/user/my-package"
Repository = "https://github.com/user/my-package"
Issues = "https://github.com/user/my-package/issues"PyPI display
PyPI displays these URLs on your package page sidebar. Well-organized URLs help users:
- Find documentation quickly
- Report bugs in the right place
- Contribute to the project
- Understand the project’s ecosystem
Configuration
Skip this check
[tool.pycmdcheck]
skip = ["MT007"]CLI
pycmdcheck --skip MT007