pydocstyle
Python docstring style checker
What it is and what it does
pydocstyle is a static docstring checker that enforces PEP 257 conventions across your Python codebase. It scans files and reports violations like missing docstrings, incorrect quote styles, and improper blank line placement around docstrings. The tool runs from the command line and integrates into CI/CD pipelines or development workflows to catch documentation style issues early.
The package depends on snowballstemmer for linguistic processing and importlib-metadata for runtime metadata access. It supports Python 3.6 and later, though the project itself has been archived and is no longer actively maintained—the last release was 2023-01-17 and the repository received its final commit on 2023-11-03.
Use it for:
- Enforce consistent docstring formatting across a team's Python codebase during code review or CI/CD checks.
- Identify missing or malformed docstrings in existing projects before documentation generation.
- Validate that public APIs and functions meet PEP 257 documentation standards automatically.
- Integrate into pre-commit hooks to catch docstring style violations before commits are pushed.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pydocstyle is a static analysis tool that checks Python docstrings for compliance with PEP 257 conventions, reporting style violations in your code.
Yes, but with caution. pydocstyle remains functional for enforcing PEP 257 docstring conventions and has low install friction. However, the project is archived and abandoned—no maintenance since 2023-11-03. Install it if you need a stable, lightweight docstring linter for existing codebases, but be aware that compatibility with future Python versions is not guaranteed and no bug fixes or updates will be released.
Install
pydocstyle on PyPI
pip
pip install pydocstyleuv
uv add pydocstylepoetry
poetry add pydocstyleInstalling pydocstyle
Before you install
Low install friction with only two lightweight runtime dependencies (snowballstemmer and importlib-metadata). However, the project is archived and abandoned as of 2023-11-03, with no releases since 2023-01-17—maintenance has stopped.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution in your own projects.
Quickstart
pip install pydocstyle
# Run from command line
pydocstyle mymodule.py
# Or import and use programmatically
from pydocstyle import checker
results = checker.check(['mymodule.py'])
Requires Python 3.6 or later; the project is no longer maintained, so compatibility with Python versions released after 2023-01-17 is not guaranteed.
Verify before relying
- Whether pydocstyle still works correctly with Python 3.10, 3.11, and later versions given the project's abandoned status.
- Whether the tool's PEP 257 implementation remains aligned with current best practices or if newer docstring standards have emerged.
- Active community forks or maintained alternatives that may have superseded this package.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — snowballstemmer, importlib-metadata |
| Maintenance | abandoned — 1,305 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 4,949,358/month — #2,190 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pydocstyle-6.3.0-py3-none-any.whl
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
flake8-docstringsIntegrates pydocstyle docstring checking into…
permissive · top 5,000 on PyPI
pydocstringformatterAutomatically formats Python docstrings to…
permissive · top 15,000 on PyPI
pydoclintPydoclint is a Python docstring linter that…
permissive · top 5,000 on PyPI
docformatterAutomatically formats Python docstrings to…
permissive · top 5,000 on PyPI
pycodestylepycodestyle checks Python code against PEP 8…
permissive · top 1,000 on PyPI
docstr-coverageMeasures docstring coverage in Python source…
permissive · top 15,000 on PyPI
flake8-rst-docstringsA flake8 plugin that validates Python…
permissive · top 15,000 on PyPI
pep8Checks Python code against PEP 8 style…
permissive · top 5,000 on PyPI
pylint-quotesA Pylint plugin that enforces consistent use of…
permissive · top 15,000 on PyPI
pydoctorpydoctor generates API documentation from…
permissive · top 15,000 on PyPI