Skip to content

fix(galileo-a2a): Rebrand to SPLUNK_AO_* env vars and SplunkAOSpanProcessor and Rename package to splunk-ao-a2a and reset to v0.1.0#33

Merged
adityamehra merged 19 commits into
mainfrom
fix/splunk-ao-a2a-pyproject
Jun 29, 2026
Merged

fix(galileo-a2a): Rebrand to SPLUNK_AO_* env vars and SplunkAOSpanProcessor and Rename package to splunk-ao-a2a and reset to v0.1.0#33
adityamehra merged 19 commits into
mainfrom
fix/splunk-ao-a2a-pyproject

Conversation

@adityamehra

@adityamehra adityamehra commented Jun 16, 2026

Copy link
Copy Markdown
Member

Context

Rebrand to SPLUNK_AO_* env vars and SplunkAOSpanProcessor
Rename package to splunk-ao-a2a and reset to v0.1.0

Changes

Core package:

  • Rename GALILEO_OBSERVE_KEY -> SPLUNK_AO_OBSERVE_KEY in _constants.py
  • Rename GALILEO_* context vars to SPLUNK_AO_* in _context.py and _client_patches.py
  • Update pyproject.toml: galileo dependency -> splunk-ao, update classifiers

Examples:

  • examples/.env.example: replace SPLUNK_AO_CONSOLE_URL with SPLUNK_AO_API_URL (direct API host is required for self-hosted deployments)

galileo-a2a/pyproject.toml

  • Rename package: galileo-a2asplunk-ao-a2a
  • Reset version: 2.0.10.1.0
  • Update authors: Galileo Technologies Inc. → Splunk Inc.
  • Update Repository URL: rungalileo/galileo-pythonsplunk/splunk-ao-python
  • Replace runtime dependency: galileosplunk-ao
  • Update tool.uv.sources key: galileosplunk-ao
  • Update pytest.ini_options.env vars: GALILEO_*SPLUNK_AO_*
  • Update semantic_release tag format: galileo-a2a-v*splunk-ao-a2a-v*
  • Update ruff.lint.isort.known-first-party: galileosplunk_ao

galileo-a2a/src/galileo_a2a/_version.py

  • Reset __version__ from 2.0.10.1.0

galileo-a2a/README.md

  • Update package name heading, PyPI badges, license link, and pip install command to splunk-ao-a2a
  • Replace GalileoSpanProcessor -> SplunkAOSpanProcessor in all code examples
  • Replace GALILEO_* env vars -> SPLUNK_AO_* in configuration table
  • Add SPLUNK_AO_API_URL row (required for self-hosted)
  • Update all Galileo brand mentions to Splunk AO

.github/workflows/ci-tests-splunk-ao-a2a.yaml

  • Add pipeline to run unit tests during ci

Test plan

  • uv sync completes without errors
  • Package builds cleanly: uv build
  • pip install splunk-ao-a2a resolves after publishing to PyPI

adityamehra and others added 2 commits June 16, 2026 15:50
…ocessor (HYBIM-716)

Core package:
- Rename GALILEO_OBSERVE_KEY -> SPLUNK_AO_OBSERVE_KEY in _constants.py
- Rename GALILEO_* context vars to SPLUNK_AO_* in _context.py and _client_patches.py
- Update pyproject.toml: galileo dependency -> splunk-ao, update classifiers

Examples:
- examples/.env.example: replace SPLUNK_AO_CONSOLE_URL with SPLUNK_AO_API_URL
  (direct API host is required for self-hosted deployments)

Documentation (README.md):
- Replace GalileoSpanProcessor -> SplunkAOSpanProcessor in all code examples
- Replace GALILEO_* env vars -> SPLUNK_AO_* in configuration table
- Add SPLUNK_AO_API_URL row (required for self-hosted)
- Update all Galileo brand mentions to Splunk AO

Tests:
- Update all GALILEO_* env var references to SPLUNK_AO_* in conftest.py and test_context.py

Co-authored-by: Cursor <cursoragent@cursor.com>
- Rename PyPI package: galileo-a2a -> splunk-ao-a2a
- Reset version to 0.1.0 (pyproject.toml + _version.py)
- Update description, authors (Splunk Inc.), repository URL
- Replace galileo dependency with splunk-ao>=2.0.0,<3.0.0
- Update tool.uv.sources key: galileo -> splunk-ao
- Update pytest env vars: GALILEO_* -> SPLUNK_AO_*
- Update semantic_release tags: galileo-a2a-v* -> splunk-ao-a2a-v*
- Update dev deps to splunk-ao[otel]
- Update ruff isort known-first-party to splunk_ao
- Update README: badges, pip install -> splunk-ao-a2a

Co-authored-by: Cursor <cursoragent@cursor.com>
@adityamehra adityamehra changed the title fix(galileo-a2a): rename package to splunk-ao-a2a and reset to v0.1.0 fix(galileo-a2a): Rebrand to SPLUNK_AO_* env vars and SplunkAOSpanProcessor and Rename package to splunk-ao-a2a and reset to v0.1.0 Jun 17, 2026
…nk_ao_a2a

- Rename top-level directory: galileo-a2a/ -> splunk-ao-a2a/
- Rename source package: src/galileo_a2a/ -> src/splunk_ao_a2a/
- Update all internal imports: galileo_a2a -> splunk_ao_a2a in all .py files
- Update pyproject.toml: packages, coverage.source, semantic_release.version_variables,
  ruff.isort.known-first-party to reference splunk_ao_a2a
- Update tests: all from/import/patch paths now use splunk_ao_a2a
- Move examples/ into splunk-ao-a2a/examples/

Co-authored-by: Cursor <cursoragent@cursor.com>
@fercor-cisco

Copy link
Copy Markdown
Collaborator

Running an automated review agent.

@fercor-cisco fercor-cisco left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 This review was generated by the Astra agent. It may contain mistakes.

Verdict: request_changes — Dependency constraint requires splunk-ao>=2.0.0 but the package is 0.1.0 (breaks install), and the newly-documented SPLUNK_AO_API_URL env var is not actually read by the SDK.

Follow-ups

Suggested follow-up work that could be tracked as Shortcut stories:

  • splunk-ao-a2a/examples/two_agent_demo.py:1-60: Leftover "Galileo" brand mentions in comments/docstring (lines 1, 6, 60) were not updated during the rebrand. Update these to "Splunk AO" for consistency. Not blocking since they are comments only and outside the changed import lines.

Comment thread splunk-ao-a2a/pyproject.toml Outdated
Comment thread splunk-ao-a2a/pyproject.toml Outdated
"mypy>=1.16.0",
"opentelemetry-instrumentation>=0.61b0",
"galileo[otel]>=1.47.0",
"splunk-ao[otel]>=2.0.0,<3.0.0",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🔴 critical (bug): Same version mismatch as the runtime dependency: splunk-ao[otel]>=2.0.0,<3.0.0 cannot resolve against the local splunk-ao 0.1.0 editable source. Update the floor to match the actual package version.

Suggested change
"splunk-ao[otel]>=2.0.0,<3.0.0",
"splunk-ao[otel]>=0.1.0,<1.0.0",

Comment thread splunk-ao-a2a/README.md Outdated
Comment thread splunk-ao-a2a/examples/.env.example Outdated
@@ -0,0 +1,5 @@
SPLUNK_AO_API_KEY=your-splunk-ao-key
SPLUNK_AO_API_URL=https://<splunk-ao-api-host>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🟠 major (bug): This replaces the previously-working GALILEO_CONSOLE_URL with SPLUNK_AO_API_URL, but SPLUNK_AO_API_URL is not read anywhere in the SDK (not in _CONFIGURATION_KEYS, not bridged in _bridge_env_vars()). SPLUNK_AO_CONSOLE_URL is bridged and would actually point the SDK at a self-hosted host. As written, a self-hosted user copying this example has no functioning way to set their endpoint. Use SPLUNK_AO_CONSOLE_URL here (or first add real support for SPLUNK_AO_API_URL).

Suggested change
SPLUNK_AO_API_URL=https://<splunk-ao-api-host>
SPLUNK_AO_CONSOLE_URL=https://<splunk-ao-console-host>

Comment thread splunk-ao-a2a/src/splunk_ao_a2a/_constants.py Outdated
…review)

- Lower splunk-ao runtime dep floor: >=2.0.0 -> >=0.1.0,<1.0.0 to match
  actual package version (was unsatisfiable from PyPI)
- Lower splunk-ao[otel] dev dep floor: >=2.0.0 -> >=0.1.0,<1.0.0
- Fix stale module docstring in _constants.py: galileo-a2a -> splunk-ao-a2a

Note: SPLUNK_AO_API_URL bridge (SPLUNK_AO_API_URL -> GALILEO_API_URL) is
already added in src/splunk_ao/config.py via PR #32.

Co-authored-by: Cursor <cursoragent@cursor.com>
@adityamehra

Copy link
Copy Markdown
Member Author

Addressing review comments from @fercor-cisco (commit a739344):

Comments 1 & 2 — version ranges (lines 18 and 41)
Fixed: splunk-ao>=2.0.0,<3.0.0splunk-ao>=0.1.0,<1.0.0 for both runtime and dev deps.

Comments 3 & 4 — SPLUNK_AO_API_URL not bridged (README line 71, .env.example line 2)
Verified: SPLUNK_AO_API_URL is already wired up in src/splunk_ao/config.py via PR #32 — the entry ("SPLUNK_AO_API_URL", "GALILEO_API_URL") was added to _bridge_env_vars() in that PR's diff. No change needed here; the documentation is correct once PR #32 merges.

Comment 5 — stale docstring in _constants.py
Fixed: updated module docstring from galileo-a2a instrumentationsplunk-ao-a2a instrumentation.

@adityamehra
adityamehra requested a review from fercor-cisco June 18, 2026 18:16
adityamehra and others added 9 commits June 18, 2026 16:09
Adds test-splunk-ao-a2a.yaml to run unit tests on pull requests and pushes
to main that touch the splunk-ao-a2a package.

Key differences from the galileo-python reference workflow:
- Removes galileo-version min/latest matrix; splunk-ao is always installed as
  a local editable from the monorepo root via [tool.uv] sources in pyproject.toml
- Python matrix: 3.10, 3.12, 3.13, 3.14 (drops 3.11, adds 3.14)
- Coverage upload pinned to Python 3.13 (replaces 3.11 + latest axis)

Co-authored-by: Cursor <cursoragent@cursor.com>
…rsions step

Co-authored-by: Cursor <cursoragent@cursor.com>
… step

Co-authored-by: Cursor <cursoragent@cursor.com>
…L_ENV pip routing

Co-authored-by: Cursor <cursoragent@cursor.com>
…n global uv config

Co-authored-by: Cursor <cursoragent@cursor.com>
…index

Project-level uv.toml with [[index]] replaces (not merges with) the list
in ~/.config/uv/uv.toml, so the Splunk Artifactory mirror that does not
carry all public PyPI packages is bypassed for this subpackage.

Also fix the ci-tests workflow path trigger to reference the correct filename,
and revert the ineffective [[tool.uv.index]] approach from pyproject.toml.

Co-authored-by: Cursor <cursoragent@cursor.com>

@fercor-cisco fercor-cisco left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 This review was generated by the Astra agent. It may contain mistakes.

Verdict: request_changes — README and .env.example document/ship SPLUNK_AO_API_URL as required for self-hosted, but it is not wired into the SDK on this branch, so self-hosted users following the docs silently fail.

Follow-ups

Suggested follow-up work that could be tracked as Shortcut stories:

  • splunk-ao-a2a/src/splunk_ao_a2a/_constants.py:12-12: AGNTCY_OBSERVE_KEY = "observe" and the fallback logic are retained for AGNTCY interop. Worth confirming whether AGNTCY compatibility is still in scope under the Splunk AO branding, or whether this legacy interop path should be documented/removed in a follow-up.

Comment thread splunk-ao-a2a/examples/.env.example Outdated
@@ -0,0 +1,5 @@
SPLUNK_AO_API_KEY=your-splunk-ao-key
SPLUNK_AO_API_URL=https://<splunk-ao-api-host>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🟠 major (bug): SPLUNK_AO_API_URL is not read anywhere in the SDK on this branch. I verified src/splunk_ao/config.py _bridge_env_vars() bridges only SPLUNK_AO_API_KEY/CONSOLE_URL/PROJECT/... to their GALILEO_* equivalents — there is no SPLUNK_AO_API_URL -> GALILEO_API_URL entry, and _CONFIGURATION_KEYS in src/splunk_ao/configuration.py has no api_url key (only SPLUNK_AO_CONSOLE_URL). A grep for SPLUNK_AO_API_URL/GALILEO_API_URL across src/ returns no matches. This example previously shipped GALILEO_CONSOLE_URL (which mapped to a bridged var); replacing it with SPLUNK_AO_API_URL leaves a self-hosted user copying this file with no functioning way to point at their host. Use the var that is actually bridged, or first add real support for SPLUNK_AO_API_URL.

Note: the PR thread reply asserts this was already wired up in _bridge_env_vars() by PR #32 — that is not true of the code on this branch.

Suggested change
SPLUNK_AO_API_URL=https://<splunk-ao-api-host>
SPLUNK_AO_CONSOLE_URL=https://<splunk-ao-console-host>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I checked the original file and it has GALILEO_CONSOLE_URL=http://localhost:8088.

It seems to make sense to rename it to SPLUNK_AO_CONSOLE_URL.

Comment thread splunk-ao-a2a/README.md Outdated
adityamehra and others added 4 commits June 26, 2026 11:58
…URL in docs and example

SPLUNK_AO_API_URL is not read anywhere in the SDK - it is not in
_CONFIGURATION_KEYS and not bridged in _bridge_env_vars(). The effective
override for self-hosted deployments is SPLUNK_AO_CONSOLE_URL, which is
bridged to GALILEO_CONSOLE_URL. Update README env var table and
.env.example to use the correct variable.

Co-authored-by: Cursor <cursoragent@cursor.com>
update python version
revert to galileo docs link
@adityamehra
adityamehra requested a review from fercor-cisco June 26, 2026 21:14

@fercor-cisco fercor-cisco left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 This review was generated by the Astra agent. It may contain mistakes.

Verdict: approve — Rebrand is consistent across code/tests/config; prior critical/major review concerns are resolved on HEAD. Only minor stale-brand doc leftovers remain.

General Comments

  • 🔵 nit (documentation): The PR description's Changes section references .github/workflows/ci-tests-splunk-ao-adk.yaml ("Add pipeline to run unit tests during ci"), but the file actually added is .github/workflows/ci-tests-splunk-ao-a2a.yaml. Update the description to avoid confusion.

Comment thread splunk-ao-a2a/README.md
## Resources

- [Galileo Documentation](https://v2docs.galileo.ai)
- [Splunk AO Documentation](https://docs.galileo.ai)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🟡 minor (documentation): This link was rebranded to "Splunk AO Documentation" but the URL still points at Galileo (https://docs.galileo.ai), and it was changed from the original v2docs.galileo.ai to docs.galileo.ai in the process. The label and target are now inconsistent, and the new host may not resolve. Point this at the actual Splunk AO docs (or revert the URL to the working Galileo one until a Splunk docs site exists).

Suggested change
- [Splunk AO Documentation](https://docs.galileo.ai)
- [Splunk AO Documentation](https://docs.splunk.com/observability)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@fercor-cisco this is in line with the discussion and what has been already done for examples and adk

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

agreed, we're keeping the previous URL for now

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

splunk-ao-a2a/examples/two_agent_demo.py:1-6 (line not in diff)

🟡 minor (documentation): Stale Galileo brand references remain in this example's module docstring (lines 1 and 6) and in the inline comment at line 60 ("# Galileo tracing setup"), even though the imports and package were rebranded to Splunk AO. Since this PR is the rebrand, update these to "Splunk AO" for consistency.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@fercor-cisco fixed!

@adityamehra
adityamehra merged commit 1c9d9c0 into main Jun 29, 2026
17 checks passed
@adityamehra
adityamehra deleted the fix/splunk-ao-a2a-pyproject branch June 29, 2026 04:44
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants