✨ Core Library Update CLI #459
Open
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.
Description
This PR enhances the
xircuits updatecommand with support for updating core libraries (bundled in the wheel) and introduces an--allflag for batch updates. It also adds a--no-overwriteflag to preserve files with local modifications.Key features:
base.pyand core component libraries (xai_events,xai_template,xai_controlflow,xai_utils) from the installed wheel--allflag to update all installed libraries at once--core-onlyand--remote-onlyflags for targeted updates--no-overwriteflag skips updating files with local modifications--respect-refshonors pinned versions, otherwise pulls latest (for--all)--excludeflag to skip specific libraries during batch updatesReferences
This extends the
xircuits updatecommand (previous PR) to support core libraries bundled in the wheel, completing the update mechanism for all component types. It also addresses the need for batch update operations and better handling of local modifications.Pull Request Type
Type of Change
Tests
Setup:
xircuits initxircuits install flask,xircuits install gradiogit init && git add . && git commit -m "Initial setup"1. Core Library Update Test
2. Update All Test
3. Selective Update Test
4. Exclusion Test
5. No Overwrite Test
6. Respect Refs Test
7. .xircuits Diff Test
8. Error Handling Test
Tested on? Specify Version.
Notes
--allflag updates all libraries to latest by default; use--respect-refsto honor pinned versions--no-overwriteflag marks preserved files with⊙symbol in output--core-onlyand--remote-onlyare specified, the command raises an errorexcludeparameter accepts comma-separated library names (case-insensitive, with or withoutxai_prefix)