Skip to content

Release 6.2.18: report specs by registered name and the pyegeria.report_specs entry points (ISSUE-173) - #523

Merged
dwolfson merged 3 commits into
odpi:mainfrom
dwolfson:feat/analytic-registered-names
Oct 31, 2026
Merged

dwolfson merged 3 commits into
odpi:mainfrom
dwolfson:feat/analytic-registered-names

Conversation

@dwolfson

Copy link
Copy Markdown
Member

Release 6.2.18 (ISSUE-173). It has two commits plus the version bump, all on top of 6.2.17 (#522).

Report specs from installed packages. refresh_report_specs() now reads a pyegeria.report_specs entry-point group, and also trellis.report_specs as an alias.

  • An entry point names a callable that returns a FormatSetDict (or a dict of label to FormatSet), or names such a dict directly.
  • Each entry point loads on its own: if one fails or clashes, it is skipped, logged, and returned from refresh_report_specs(), and the rest still load.
  • pyegeria's own analytic demo specs now load through its own entry point (analytic_demos), so the "Pyegeria Report Spec Modules" key is gone from config/config.json.

Deprecated, and removed in 6.2.19. These still load in this release:

  • config.json's "Pyegeria Report Spec Modules"
  • PYEGERIA_REPORT_SPEC_MODULES
  • PYEGERIA_REPORT_FORMATS_JSON
  • PYEGERIA_REPORT_FORMATS_MODULES

When any of them is set, each refresh raises one DeprecationWarning and logs one WARNING line naming the replacement. If a config entry names the same loader as an installed entry point, it is treated as that entry point rather than as a clash.

Registered names in report specs. This applies to a report spec's analytic_function and to metric_trend's metric_path.

Docs updated: output-formats-and-report-specs.md, CLAUDE.md, AGENTS.md, the view README, and ISSUE-173.

Tests: new tests/micro-tests/test_issue_173_*.py. The full micro-test suite passes on Python 3.13 (1722 collected, 0 failed).

Downstream:

  • egeria-workspaces report_specs_handler.py switches to count_elements and metric_trend.
  • trellis-analytics registers its tile function and declares the pyegeria.report_specs entry point (already on trellis main, df407a6c).

🤖 Generated with Claude Code

https://claude.ai/code/session_015pdMuPkqttD1yKAKJLS9Fc

… deprecated (ISSUE-173)

A dotted analytic_function, or metric_trend's metric_path, still resolves
under the ISSUE-169 checks but now raises a DeprecationWarning and logs once,
naming the registered name to use. metric_path previously imported any
caller-supplied dotted path with no allowlist check; it now goes through the
same resolver. pyegeria's own specs (the SoA summary and the analytic demos)
now use registered names.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
… group; deprecate the env-var sources (ISSUE-173)

refresh_report_specs() reads the pyegeria.report_specs group (alias
trellis.report_specs) first, each entry point isolated like any other
CONFIG source. pyegeria's own analytic demo specs move to that group and
leave config.json. config.json's "Pyegeria Report Spec Modules",
PYEGERIA_REPORT_SPEC_MODULES and PYEGERIA_REPORT_FORMATS_JSON/_MODULES still
load in 6.2.18 with one DeprecationWarning per refresh, and go in 6.2.19.
Docs, CLAUDE.md, AGENTS.md and ISSUE-173 updated.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson merged commit 0bf3186 into odpi:main Oct 31, 2026
6 checks passed
@dwolfson
dwolfson deleted the feat/analytic-registered-names branch October 31, 2026 14:02
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.

1 participant