Registry / azure / doc-warden

doc-warden

JSON →
library0.7.3pypypiunverified

Doc-Warden is an internal project developed by the Azure SDK Team (current version 0.7.3). It is primarily a command-line tool used in CI builds to enforce documentation standards, specifically for READMEs and Changelogs, across Azure SDK repositories. Its release cadence is irregular, driven by the needs and development cycle of the broader Azure SDK Tools project.

pip install doc-warden
INSTALL
IMPORT
SIG · DOC-WARDEN
D
doc-warden
azurepythonv0.7.3
Install
3.8s avg
Import
Disk
39MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.7.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 39.4MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 3.8s · import 0.000s · 41MB
39MB installed
● package 39MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ward
ward <command> [options]
Doc-Warden is primarily a command-line interface tool, executed via the 'ward' command. Direct programmatic imports are rare for typical usage.

This quickstart demonstrates how to use the `ward` command-line tool to perform documentation scans. The tool checks for README and Changelog standards based on a `.docsettings.yml` configuration file. It's designed to be run within a CI/CD pipeline, often targeting the source directory of a repository.

# Assume you have cloned a repository that needs documentation checks # and that a .docsettings.yml file is present at its root. # For example, let's use a placeholder for $(Build.SourcesDirectory) REPO_ROOT="/path/to/your/repo" # Install Doc-Warden (if not already installed) # pip install doc-warden # Example 1: Scan for Readme and Changelog standards (default .docsettings.yml at root) print(f"Running doc-warden scan on {REPO_ROOT}...") # In a real CI environment, this would be executed directly # import subprocess # subprocess.run(['ward', 'scan', '-d', REPO_ROOT], check=True) print("ward scan -d $REPO_ROOT") # Example 2: Scan with a custom .docsettings.yml path DOCSETTINGS_PATH="$REPO_ROOT/eng/.docsettings.yml" print(f"Running doc-warden scan on {REPO_ROOT} with custom config {DOCSETTINGS_PATH}...") # subprocess.run(['ward', 'scan', '-d', REPO_ROOT, '-c', DOCSETTINGS_PATH], check=True) print(f"ward scan -d $REPO_ROOT -c {DOCSETTINGS_PATH}")
doc-warden --version
Debug
Known issues
breakingDoc-Warden transitioned to Python 3-only starting with version 0.7.0. Older Python 2 environments are no longer supported.
fix
Ensure your environment uses Python 3 (preferably 3.4-3.8, as per historical testing, though newer Python 3 versions generally work).
affects: >=0.7.0
gotchaThe `omitted_paths` list in `.docsettings.yml` can be inconsistently applied, leading to unexpected files being scanned or ignored.
fix
Thoroughly test your `omitted_paths` configuration. Inspect verbose output (`-v` flag if available, or review logs) to ensure the correct files and directories are being excluded from checks. Refer to the official `azure-sdk-tools` repository for up-to-date `.docsettings.yml` examples.
affects: All versions
gotchaWhen working with .NET repositories, Doc-Warden's readme and changelog discovery logic requires `package_indexing_traversal_stops` to be configured in `.docsettings.yml`.
fix
For .NET projects, define `package_indexing_traversal_stops` in your `.docsettings.yml` to guide Doc-Warden's directory traversal, as .csproj files are often located differently from their documentation. Without this, indexing may not execute correctly.
affects: All versions
Upgrade
Version history
0.7.3latest on PyPI · released Jan 23, 2026
Audit
Dependencies
jsonschemarequiredUsed for schema validation of configuration files (e.g., .docsettings.yml).
PyYAMLrequiredRequired for parsing YAML configuration files (e.g., .docsettings.yml).
Agent activity
31 hits · last 30 days
node
28
OpenAI (training)
2
Resources
doc-warden — pip install doc-warden · libregistry