docsig
Check signature params for proper documentation
What it is and what it does
Docsig is a documentation linter that automatically checks whether function and method parameters in Python code are properly documented in their docstrings. It parses function signatures and compares them against docstring documentation in reStructuredText (Sphinx), NumPy, and Google formats, flagging mismatches such as missing parameter documentation, documented parameters that don't exist in the signature, or undocumented parameters.
It runs as a standalone command-line tool, integrates with flake8 as a plugin, works as a pre-commit hook, and has IDE plugins for PyCharm, VS Code, and Neovim. Configuration is managed via command-line flags, pyproject.toml, or flake8 config files. The tool supports granular control over what to check—classes, dunder methods, nested functions, overridden methods, protected members—and which checks to disable or target.
Use it for:
- Enforce consistent docstring documentation standards in CI/CD pipelines via pre-commit hooks or flake8 integration.
- Catch documentation drift during code review by running docsig on pull requests to flag signature-docstring mismatches.
- Validate that all public API parameters are documented before release, reducing user-facing documentation gaps.
- Integrate into IDE workflows (PyCharm, VS Code, Neovim) to catch documentation issues in real-time during development.
- Audit existing codebases to identify undocumented or incorrectly documented function parameters at scale.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Lints Python function and method signatures to ensure their parameters are properly documented in docstrings, supporting reStructuredText, NumPy, and Google styles.
Yes. Docsig fills a real gap in Python documentation tooling—it's actively maintained, has zero known vulnerabilities, installs with low friction, and supports multiple docstring formats and integration points. Use it if you want to enforce documentation accuracy for function signatures as part of your development workflow or CI pipeline.
Install
docsig on PyPI
pip
pip install docsiguv
uv add docsigpoetry
poetry add docsigInstalling docsig
Before you install
Low friction installation with a pure-Python wheel. Active maintenance—released 6 days ago—and actively maintained dependencies (astroid, pathspec, tomli, wcmatch) with no known vulnerabilities.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations.
Quickstart
pip install docsig
from docsig import docsig
code = '''
def func(a, b):
"""Summary.
:param a: Description.
:param b: Description.
"""
'''
result = docsig(string=code, no_ansi=True)
print(result) # 0 if valid, error count otherwise
Requires Python 3.10 or later.
Verify before relying
- Whether flake8 and pre-commit integrations work out-of-the-box or require additional setup beyond installation.
- Performance characteristics when linting large codebases or deeply nested function structures.
- Exact behavior of the PyCharm, VS Code, and Neovim plugins and whether they require separate installation.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — astroid, pathspec, tomli, wcmatch |
| Maintenance | actively maintained — 6 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 431,177/month — #6,720 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: docsig-0.94.0-py3-none-any.whl
Keywords: check, docs, docstring, params, signature
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
sphinx-lintSphinx Lint checks reStructuredText and Python…
permissive · top 15,000 on PyPI
darglintDarglint is a docstring linter that checks…
permissive · top 15,000 on PyPI
funcsigsProvides Python function signature…
permissive · top 5,000 on PyPI
overridesProvides a @override decorator that validates…
permissive · top 1,000 on PyPI
pydoclintPydoclint is a Python docstring linter that…
permissive · top 5,000 on PyPI
docstring-parser-forkParses Python docstrings in ReST, Google,…
permissive · top 5,000 on PyPI
flake8-rst-docstringsA flake8 plugin that validates Python…
permissive · top 15,000 on PyPI
docstring-parserParses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
yamllintyamllint checks YAML files for syntax errors,…
copyleft · top 1,000 on PyPI
rstcheckValidates reStructuredText syntax and checks…
permissive · top 5,000 on PyPI