Skip to content

docs: document the pygroup element - #1176

Merged
bwsw merged 2 commits into
developfrom
claude/blog-post-pr-1168-fiog9l
Jul 20, 2026
Merged

docs: document the pygroup element#1176
bwsw merged 2 commits into
developfrom
claude/blog-post-pr-1168-fiog9l

Conversation

@bwsw

@bwsw bwsw commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Adds documentation for the pygroup pipeline element (#1168), which colocates multiple sequential PyFuncs into a single GStreamer element while preserving a per-stage telemetry span for each colocated function.

  • savant_101/70_python.rst: new "Grouping PyFuncs Into a Single Element" section covering syntax, sequential execution, per-stage telemetry, dev-server support, and the sample.
  • reference/api/module_config.rst: register PyGroupElement in the PipelineElement inheritance diagram and autosummary.
  • getting_started/3_samples.rst: add a catalog entry for the sample.
  • samples/pygroup/README.md: add a README for the sample (run steps, stream URLs, and how to inspect the per-stage spans in Jaeger).

Claude-Session: https://claude.ai/code/session_01TbsaV4NhYriTyUqxuzKd8Q


Note

Low Risk
Documentation-only changes with no runtime, config parsing, or pipeline behavior modifications.

Overview
Documents the pygroup pipeline element for colocating sequential PyFuncs in one GStreamer element while keeping per-stage OpenTelemetry spans.

savant_101/70_python.rst adds Grouping PyFuncs Into a Single Element: YAML with an elements list, why colocation avoids inter-PyFunc queues, guidance on when to use groups vs standalone pyfunc, nested tracing layout, Development Server reload behavior, and a link to the sample. It also fixes the NvDsPyFuncPlugin cross-reference to savant.deepstream.pyfunc.

reference/api/module_config.rst registers PyGroupElement in the PipelineElement inheritance diagram and autosummary.

getting_started/3_samples.rst adds a PyGroup: Colocated PyFuncs catalog entry (features, adapters, sample link).

samples/pygroup/README.md is new: run steps (x86/L4T compose), RTSP/LL-HLS URLs, and how to inspect per-PyFunc spans in Jaeger.

Reviewed by Cursor Bugbot for commit 95f0e94. Bugbot is set up for automated code reviews on this repo. Configure here.

Adds documentation for the pygroup pipeline element (#1168), which
colocates multiple sequential PyFuncs into a single GStreamer element
while preserving a per-stage telemetry span for each colocated function.

- savant_101/70_python.rst: new "Grouping PyFuncs Into a Single Element"
  section covering syntax, sequential execution, per-stage telemetry,
  dev-server support, and the sample.
- reference/api/module_config.rst: register PyGroupElement in the
  PipelineElement inheritance diagram and autosummary.
- getting_started/3_samples.rst: add a catalog entry for the sample.
- samples/pygroup/README.md: add a README for the sample (run steps,
  stream URLs, and how to inspect the per-stage spans in Jaeger).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TbsaV4NhYriTyUqxuzKd8Q
Copilot AI review requested due to automatic review settings July 20, 2026 10:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds end-user documentation for the pygroup pipeline element (introduced in #1168) and documents the accompanying samples/pygroup demo, focusing on syntax, sequential execution semantics, and per-stage OpenTelemetry spans.

Changes:

  • Documented pygroup usage and behavior in the Python Function Unit guide, including telemetry span structure and dev-server behavior.
  • Registered PyGroupElement in the module configuration API docs (inheritance diagram + autosummary).
  • Added the PyGroup sample to the samples catalog and introduced a new sample README with run + telemetry inspection steps.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
samples/pygroup/README.md New sample README describing how to run the demo and inspect per-stage spans in Jaeger.
docs/source/savant_101/70_python.rst Adds a new section explaining how to configure and use pygroup, including telemetry details.
docs/source/reference/api/module_config.rst Updates API docs to include PyGroupElement in hierarchy and autosummary.
docs/source/getting_started/3_samples.rst Adds a catalog entry for the PyGroup sample.

Comment thread docs/source/savant_101/70_python.rst Outdated
Use the fully-qualified module path
`savant.deepstream.pyfunc.NvDsPyFuncPlugin` for the :py:class: reference.
`NvDsPyFuncPlugin` is defined in `savant.deepstream.pyfunc` and is not
re-exported from `savant.deepstream`, so `~savant.deepstream.NvDsPyFuncPlugin`
was an unresolved Sphinx reference. This matches how every other
deepstream class is referenced in the docs. Fixes both the newly added
occurrence and the pre-existing one in the same file.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TbsaV4NhYriTyUqxuzKd8Q

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

@bwsw
bwsw merged commit 48a5177 into develop Jul 20, 2026
2 checks passed
@bwsw
bwsw deleted the claude/blog-post-pr-1168-fiog9l branch July 20, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants