feat(rebrand): rename Galileo* classes to SplunkAO* (HYBIM-716) [DO NOT MERGE]#598
Conversation
Mechanical hard cut-over renaming 23 classes from the Galileo* prefix to SplunkAO* as part of the Splunk Agent Observability rebrand. Class renames: - GalileoPythonConfig -> SplunkAOConfig - GalileoDecorator -> SplunkAODecorator - GalileoLogger -> SplunkAOLogger - GalileoLoggerSingleton -> SplunkAOLoggerSingleton - GalileoMetric -> SplunkAOMetric - GalileoMetrics -> SplunkAOMetrics - _GalileoScorersProxyMeta -> _SplunkAOScorersProxyMeta - _GalileoScorersProxy -> _SplunkAOScorersProxy - GalileoLoggerException -> SplunkAOLoggerException - GalileoAPIError -> SplunkAOAPIError - GalileoFutureError -> SplunkAOFutureError - GalileoOTLPExporter -> SplunkAOOTLPExporter - GalileoSpanProcessor -> SplunkAOSpanProcessor - GalileoBaseHandler -> SplunkAOBaseHandler - GalileoAsyncBaseHandler -> SplunkAOAsyncBaseHandler - _GalileoControlEventSink -> _SplunkAOControlEventSink - GalileoAgentControlBridge -> SplunkAOAgentControlBridge - GalileoCallback -> SplunkAOCallback - GalileoAsyncCallback -> SplunkAOAsyncCallback - GalileoMiddleware -> SplunkAOMiddleware - GalileoTracingProcessor -> SplunkAOTracingProcessor - GalileoCustomSpan -> SplunkAOCustomSpan - OpenAIGalileo -> OpenAISplunkAO Scope: 59 src files + 35 test files updated. Not renamed: GalileoScorers (out of scope per ticket). Tests: 2015 passed, 5 skipped. Co-authored-by: Cursor <cursoragent@cursor.com>
| class SplunkAOLoggerException(Exception): | ||
| """Exception raised by SplunkAOLogger.""" | ||
|
|
||
|
|
||
| class GalileoAPIError(Exception): | ||
| class SplunkAOAPIError(Exception): |
There was a problem hiding this comment.
Renaming the public base exceptions drops GalileoAPIError/GalileoLoggerException from galileo.__init__, so existing imports and try/except handlers stop matching immediately — can we keep the old names as aliases until callers migrate?
Want Baz to fix this for you? Activate Fixer
Other fix methods
Prompt for AI Agents
Before applying, verify this suggestion against the current code. In
src/galileo/exceptions.py around lines 22-26 where SplunkAOLoggerException and
SplunkAOAPIError are introduced (and where the legacy
GalileoLoggerException/GalileoAPIError are removed), re-add backward-compatible aliases
named GalileoLoggerException and GalileoAPIError that point to the new Splunk* classes.
Implement these aliases with a DeprecationWarning on import (or first use) so existing
try/except GalileoAPIError and from galileo import GalileoLoggerException continue to
work while callers migrate. Ensure all subclasses still inherit from SplunkAOAPIError,
but that the legacy names are exported from this module (and remain available via
galileo/__init__.py if applicable).
| class SplunkAOMetric(Metric): | ||
| """ |
There was a problem hiding this comment.
GalileoMetric was renamed to SplunkAOMetric, but galileo no longer exports a legacy alias so existing imports fail — should we keep GalileoMetric = SplunkAOMetric until consumers migrate?
Want Baz to fix this for you? Activate Fixer
Other fix methods
Prompt for AI Agents
Before applying, verify this suggestion against the current code. In
src/galileo/metric.py around lines 1164-1188 where `class SplunkAOMetric(Metric):` is
defined (the previous `GalileoMetric` class appears removed), add a backwards-compatible
alias `GalileoMetric = SplunkAOMetric` so any existing `GalileoMetric` imports keep
working. Then ensure the package-level exports still include `GalileoMetric` by updating
galileo/__init__.py (or the relevant export mechanism) to re-export that alias. Verify
that both import styles `from galileo import GalileoMetric` and `from galileo.metric
import GalileoMetric` succeed and point to the same class as `SplunkAOMetric`.
| from galileo.handlers.agent_control import SplunkAOAgentControlBridge, setup_agent_control_bridge | ||
| from galileo.integration import Integration | ||
| from galileo.log_stream import LogStream | ||
| from galileo.logger import GalileoLogger | ||
| from galileo.logger import SplunkAOLogger | ||
| from galileo.logger.control import ControlAppliesTo, ControlCheckStage, ControlResult, ControlSpan |
There was a problem hiding this comment.
The root package now only re-exports SplunkAO*, so legacy imports like GalileoLogger / GalileoDecorator / GalileoAgentControlBridge break; should we keep a compatibility alias or migrate the README/clients together?
Want Baz to fix this for you? Activate Fixer
Other fix methods
Prompt for AI Agents
Before applying, verify this suggestion against the current code. In
src/galileo/__init__.py around lines 20-24 (and the re-export block around lines
99-112), the package root now only exports SplunkAO* symbols, which breaks legacy
imports like GalileoLogger/GalileoDecorator/GalileoAgentControlBridge. Add
backward-compatible aliases in this __init__.py so GalileoLogger maps to SplunkAOLogger,
GalileoDecorator maps to SplunkAODecorator, and GalileoAgentControlBridge maps to
SplunkAOAgentControlBridge (and similarly for any other Galileo* classes now removed),
and ensure those names are included in __all__ if present. Then update README references
(README.md lines ~138/382/396) either to the new SplunkAO* names or (preferably if
supporting old consumers) to mention both old and new names clearly.
|
|
||
|
|
||
| class GalileoMetrics(str, Enum): | ||
| class SplunkAOMetrics(str, Enum): |
There was a problem hiding this comment.
GalileoMetrics was renamed to SplunkAOMetrics, but can we keep a GalileoMetrics = SplunkAOMetrics alias during the transition so existing imports and MetricSpec callers don't hit ImportError?
Want Baz to fix this for you? Activate Fixer
Other fix methods
Prompt for AI Agents
Before applying, verify this suggestion against the current code. In
src/galileo/schema/metrics.py around line 16 (the enum rename from `GalileoMetrics` to
`SplunkAOMetrics`), add a backward-compatibility alias so imports of `GalileoMetrics`
continue to work during the transition. Specifically, define `GalileoMetrics` as an
alias of `SplunkAOMetrics` (and, if feasible, emit a DeprecationWarning when
accessed/used), mirroring the existing deprecated-proxy pattern used for
`GalileoScorers` below. Also verify the `MetricSpec`/metric parsing logic in this file
accepts the legacy enum type by converting/coercing `GalileoMetrics` values to the
underlying `ScorerName`/`SplunkAOMetrics` representation so existing consumers don’t
hit ImportError or type-rejection.
User description
This PR is opened for early review only and is stacked on #597 (env var rename).
Merge #597 first, then this one.
Summary
Mechanical hard cut-over: renames 23 Python classes from
Galileo*toSplunkAO*as part of the Splunk Agent Observability rebrand.
Jira ticket: HYBIM-716
Stacked on: #597 — rename
GALILEO_*env vars toSPLUNK_AO_*Class renames
GalileoPythonConfigSplunkAOConfigGalileoDecoratorSplunkAODecoratorGalileoLoggerSplunkAOLoggerGalileoLoggerSingletonSplunkAOLoggerSingletonGalileoMetricSplunkAOMetricGalileoMetricsSplunkAOMetrics_GalileoScorersProxyMeta_SplunkAOScorersProxyMeta_GalileoScorersProxy_SplunkAOScorersProxyGalileoLoggerExceptionSplunkAOLoggerExceptionGalileoAPIErrorSplunkAOAPIErrorGalileoFutureErrorSplunkAOFutureErrorGalileoOTLPExporterSplunkAOOTLPExporterGalileoSpanProcessorSplunkAOSpanProcessorGalileoBaseHandlerSplunkAOBaseHandlerGalileoAsyncBaseHandlerSplunkAOAsyncBaseHandler_GalileoControlEventSink_SplunkAOControlEventSinkGalileoAgentControlBridgeSplunkAOAgentControlBridgeGalileoCallbackSplunkAOCallbackGalileoAsyncCallbackSplunkAOAsyncCallbackGalileoMiddlewareSplunkAOMiddlewareGalileoTracingProcessorSplunkAOTracingProcessorGalileoCustomSpanSplunkAOCustomSpanOpenAIGalileoOpenAISplunkAONot renamed:
GalileoScorers(out of scope per ticket).Key decisions
galileo-coreunaffected — core is an upstream dependency; it doesn't import from this SDKTest plan
poetry run pytest— 2015 passed, 5 skippedlangchain-agentexample —SplunkAOCallbackin use, exit 0strands-agentsexample — exit 0Made with Cursor
Generated description
Below is a concise technical summary of the changes proposed in this PR:
Complete Rebrand to Splunk Agent Observability APIs by renaming every Galileo-branded primitive to Splunk AO equivalents, rewiring configuration/exception flows, and aligning metrics, instrumentation helpers, and tests so the public SDK, tracing exporters, middleware, and agent-control plumbing uniformly expose the new SplunkAO* surface.
Modified files (60)
Latest Contributors(0)
Modified files (72)
Latest Contributors(0)
Modified files (46)
Latest Contributors(0)
Modified files (26)
Latest Contributors(0)
Modified files (28)
Latest Contributors(0)
Modified files (16)
Latest Contributors(0)