Skip to main content

zendev-review

zendev-review owns reusable pull-request title and body validation. It depends on zendev-commit so title checks reuse commit profiles instead of copying commit semantics.

$ uv add --dev zendev-review
$ uvx --from zendev-review zendev-validate-title --help
$ uvx --from zendev-review zendev-validate-body --help

Python API

from zendev.body import BodySection, validate_body

valid, headings = validate_body(
    "## Motivation\n\nWhy.\n\n## Solution\n\nHow.\n",
    [BodySection("Motivation"), BodySection("Solution")],
)
assert valid
assert headings == ["Motivation", "Solution"]

Title validation

The title CLI uses the same profiles and repository configuration as the commit hook:

$ uvx --from zendev-review zendev-validate-title --profile gitmoji ":sparkles: Add export support"

See zendev-commit for profile semantics.

Body validation

The body CLI reads H2 sections from the configured PR template:

$ uvx --from zendev-review zendev-validate-body "$PR_BODY" \
    --template .github/pull_request_template.md \
    --require-checklist

The section contract is:

  • every template H2 is required by default
  • <!-- pr-body:optional --> makes the following H2 optional
  • <!-- pr-body:required --> explicitly marks the following H2 as required
  • present sections must retain template order
  • undeclared, duplicate, ambiguous, and dangling sections or directives fail
  • directives and headings inside fenced code blocks are ignored

When --require-checklist is present, every checked - [x] row under the configured checklist H2 must occur in the PR body. --fail-on-empty-checklist makes an empty template checklist fail instead of becoming a no-op.

The composite Actions expose the same behavior for GitHub workflows.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zendev_review-0.2.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file zendev_review-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: zendev_review-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for zendev_review-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cdbbce62658ef54593a540c234634e3ad46b31d7ce934fb5de402c3a169cf9fb
MD5 f436e06f6fcc8ec91f47314af03079df
BLAKE2b-256 24a397158a5b1e31fd5a07491ea91339c4ba04c51de50394439a9b010188319b

See more details on using hashes here.

Provenance

The following attestation bundles were made for zendev_review-0.2.1-py3-none-any.whl:

Publisher: cd-release.yml on zendev-lab/zendev

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.4.0

1 file

0.3.0

1 file

0.2.2

1 file

This release

0.2.1 This release

1 file

0.2.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page