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 update
command with support for updating core libraries (bundled in the wheel) and introduces an--all
flag for batch updates. It also adds a--no-overwrite
flag to preserve files with local modifications.Key features:
base.py
and core component libraries (xai_events
,xai_template
,xai_controlflow
,xai_utils
) from the installed wheel--all
flag to update all installed libraries at once--core-only
and--remote-only
flags for targeted updates--no-overwrite
flag skips updating files with local modifications--respect-refs
honors pinned versions, otherwise pulls latest (for--all
)--exclude
flag to skip specific libraries during batch updatesReferences
This extends the
xircuits update
command (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 init
xircuits install flask
,xircuits install gradio
git 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
--all
flag updates all libraries to latest by default; use--respect-refs
to honor pinned versions--no-overwrite
flag marks preserved files with⊙
symbol in output--core-only
and--remote-only
are specified, the command raises an errorexclude
parameter accepts comma-separated library names (case-insensitive, with or withoutxai_
prefix)