core:services:helper: Migrate helper to secondary venv and update its dependencies#3729
Merged
patrickelectric merged 3 commits intobluerobotics:masterfrom Jan 31, 2026
Merged
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideMigrates the helper service from the primary core workspace into the secondary python-venv2 environment and refreshes its dependency stack (FastAPI, Pydantic, etc.), including lockfiles and startup wiring, with one minor model default tweak for compatibility. Updated class diagram for ServiceInfo model default changeclassDiagram
class ServiceMetadata
class ServiceInfo {
+str name
+List~str~ versions
+int port
+Optional~str~ path
+Optional~ServiceMetadata~ metadata = None
+int __hash__()
}
ServiceInfo --> ServiceMetadata
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
* Update all libraries to latest * Move helper to venv2
* Allow ServiceInfo model to receive optional metadata field to avoid validation error
ee1e1f9 to
2030971
Compare
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- With the bump to FastAPI 0.125 and Pydantic 2.12, review helper service code for any Pydantic v1-style APIs (e.g.,
.dict(),.json(),Configclasses,arbitrary_types_allowed) and FastAPI behaviors that changed (e.g., response_model handling,jsonable_encoder) to ensure they’re updated to the v2 patterns. - Now that
metadataonServiceInfois explicitly defaulted toNone, verify any callers that relied on it being required or always present so they don’t break onNoneand adjust type hints or runtime checks accordingly.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- With the bump to FastAPI 0.125 and Pydantic 2.12, review helper service code for any Pydantic v1-style APIs (e.g., `.dict()`, `.json()`, `Config` classes, `arbitrary_types_allowed`) and FastAPI behaviors that changed (e.g., response_model handling, `jsonable_encoder`) to ensure they’re updated to the v2 patterns.
- Now that `metadata` on `ServiceInfo` is explicitly defaulted to `None`, verify any callers that relied on it being required or always present so they don’t break on `None` and adjust type hints or runtime checks accordingly.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
patrickelectric
approved these changes
Jan 31, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
API calls can be validated at
http://blueos.local:81/v1.0/docsSummary by Sourcery
Migrate the helper service into the secondary Python virtual environment and align its configuration and dependencies with the updated workspace layout.
Bug Fixes:
Enhancements: