Skip to content

Consume xDevSM as the xdevsm PyPI package instead of a submodule - #9

Open
Thecave3 wants to merge 1 commit into
devfrom
xdevsm-library
Open

Consume xDevSM as the xdevsm PyPI package instead of a submodule#9
Thecave3 wants to merge 1 commit into
devfrom
xdevsm-library

Conversation

@Thecave3

Copy link
Copy Markdown
Collaborator

Summary

Switch the example xApps off the xDevSM git submodule and consume it as the installable xdevsm PyPI package (paired with wineslab/xDevSM-dApp).

  • Remove the xDevSM submodule and the per-xApp setup_imports.py sys.path shims; add xdevsm>=0.1.0 to each xApp's requirements.txt.
  • Rewrite xDevSM. imports to the xdevsm.* namespace.
  • Docker: drop COPY xDevSM and the …/xDevSM/sm_framework/lib entry from LD_LIBRARY_PATH (encoders now load package-relative); bump the example images to python:3.11-slim-bullseye (xdevsm requires ≥ 3.11; bullseye/glibc 2.31 loads the exec-stack encoders without an interpreter patch). Update README.

Depends on wineslab/xDevSM-dApp (the xdevsm package) being published to PyPI.

Base branch: this targets main (the five xApps here), not dev. dev has diverged from main with additional xApps still on the submodule (digital_twin_prb_xapp, traffic_balancer_xapp, graphify-out/); migrating those needs a separate pass against dev's tree.

🤖 Generated with Claude Code

@Thecave3 Thecave3 self-assigned this Jul 24, 2026
@Thecave3
Thecave3 requested a review from aferaudo July 24, 2026 21:06
@Thecave3
Thecave3 changed the base branch from main to dev July 24, 2026 21:08
Migrate all seven example xApps (kpm_basic, kpm_prb, prb_control,
radio_bearer_control, ho, digital_twin_prb, traffic_balancer) off the
xDevSM git submodule onto the installable `xdevsm` package:

- Remove the xDevSM submodule and every per-xApp setup_imports.py shim;
  add `xdevsm` to each xApp's requirements.txt.
- Rewrite `xDevSM.` imports to the `xdevsm.*` namespace.
- Docker: drop `COPY xDevSM` and the xDevSM LD_LIBRARY_PATH entry
  (encoders now load package-relative); bump images to
  python:3.11-slim-bullseye (xdevsm requires >= 3.11; bullseye/glibc
  2.31 loads the exec-stack encoders without an interpreter patch);
  record the installed xdevsm version instead of XDEVSM_COMMIT.
- Update README and CLAUDE.md (submodule → pip package).

Note: graphify-out/ is a generated knowledge graph and still references
the old xDevSM/ paths; regenerate with `/graphify --update`.

Assisted-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Thecave3

Copy link
Copy Markdown
Collaborator Author

⚠️ Follow-up: regenerate graphify-out/.

This PR intentionally does not hand-edit the generated knowledge graph under graphify-out/. It is a graphify artifact and still references the old submodule paths (e.g. xDevSM/sm_framework/py_oran/...) and the removed setup_imports.py shims, so it is now stale.

After this PR merges, rebuild it so the graph/wiki reflects the xdevsm PyPI package layout:

/graphify --update

Then commit the regenerated graphify-out/ (graph.json, GRAPH_REPORT.md, wiki/, graph.html).

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