feat(core): add external Python modules - #2985
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
❌ 4 Tests Failed:
View the top 3 failed test(s) by shortest run time
View the full list of 1 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
| @@ -0,0 +1,2 @@ | |||
| uv.lock | |||
There was a problem hiding this comment.
Why ignore lock files?
There was a problem hiding this comment.
should we keep them? I feel like there's no need to keep locks for example purpose
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. |
…thon # Conflicts: # dimos/core/coordination/module_coordinator.py # dimos/core/coordination/worker_manager.py # dimos/core/coordination/worker_manager_python.py
|
close in lieu of #3478 |
Problem
DimOS Python modules cannot use their own local dependency environment while preserving normal Blueprint, RPC, stream, module-reference, and restart behavior.
Closes DIM-1222
Solution
Add
ExternalPythonModuledeclarations backed by a sibling uv runtime project and a privateexternal-pythonworker manager. The declaration owns the RPC contract; the runtime imports that contract directly from the packaged example, withoutPYTHONPATHor a separate contract distribution.The implementation adds lifecycle diagnostics, process-group cleanup, restart-safe Blueprint overrides, a runnable example external package, and real end-to-end coverage.
How to Test
Contributor License Agreement