DC007: ReadmeBadges

Overview

Property Value
ID DC007
Name ReadmeBadges
Group documentation
Severity NOTE

Description

Checks that the README file includes status badges for CI, coverage, or package version.

Badges provide quick visual indicators of project health and status.

What it checks

The check looks for common badge patterns in your README:

  • CI status badges (GitHub Actions, Travis, CircleCI, etc.)
  • Coverage badges (Codecov, Coveralls)
  • PyPI version badges
  • Documentation status badges (Read the Docs)
  • License badges

It detects badges by looking for:

  • Image URLs from badge services (shields.io, img.shields.io, badge.fury.io)
  • Common badge markdown/RST patterns
  • CI status image URLs

Why it matters

  • Project Health - Shows users if tests are passing
  • Quality Indicators - Coverage badges show test coverage
  • Version Info - PyPI badges show current version
  • Professionalism - Well-maintained projects typically have badges
  • Trust - Passing CI badges build user confidence

How to fix

Add badges to the top of your README:

Markdown

# My Package

[![CI](https://github.com/username/my-package/actions/workflows/ci.yml/badge.svg)](https://github.com/username/my-package/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/username/my-package/branch/main/graph/badge.svg)](https://codecov.io/gh/username/my-package)
[![PyPI version](https://badge.fury.io/py/my-package.svg)](https://badge.fury.io/py/my-package)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python Version](https://img.shields.io/pypi/pyversions/my-package)](https://pypi.org/project/my-package)

A brief description of what your package does.

reStructuredText

My Package
==========

|CI| |codecov| |PyPI|

.. |CI| image:: https://github.com/username/my-package/actions/workflows/ci.yml/badge.svg
   :target: https://github.com/username/my-package/actions/workflows/ci.yml

.. |codecov| image:: https://codecov.io/gh/username/my-package/branch/main/graph/badge.svg
   :target: https://codecov.io/gh/username/my-package

.. |PyPI| image:: https://badge.fury.io/py/my-package.svg
   :target: https://badge.fury.io/py/my-package

Useful badge services

Configuration

Skip this check

[tool.pycmdcheck]
skip = ["DC007"]

CLI

pycmdcheck --skip DC007