Skip to content

✨ Add uninstall support for component libraries in CLI and UI #427

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 23, 2025

Conversation

rabea-al
Copy link
Contributor

Description

This PR introduces the ability to uninstall component libraries:

  • UI: Added a new option to the context menu allowing users to uninstall a library directly from the sidebar.

  • CLI: Added a new uninstall command to remove a library via terminal.

Pull Request Type

  • Xircuits Core (Jupyterlab Related changes)
  • Xircuits Canvas (Custom RD Related changes)
  • Xircuits Component Library
  • Xircuits Project Template
  • Testing Automation
  • Documentation
  • Others (Please Specify)

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Tests

1. Test A - Uninstall via UI (Context Menu)

  1. Go to the Component Library sidebar.

  2. Right-click on an installed library (e.g. agent, flask).

  3. Click on Uninstall agent from the context menu.

  4. Confirm the uninstall prompt.

  5. Check that:

    • The library disappears immediately from the list.
    • A success notification appears.
    • Files are deleted from xai_components.

2. Test B - Uninstall via CLI

  1. Open terminal.

  2. Run:

    xircuits uninstall agent
  3. Confirm that:

    • The CLI outputs Library 'agent' uninstalled.
    • The library folder is removed from xai_components.
    • No errors appear if the library doesn't exist — a warning is printed instead.

Tested on? Specify Version.

  • Windows
  • Linux Fedora
  • Mac
  • Others (State here -> xxx )

Copy link

Binder 👈 Launch a binder notebook on branch rabea-al/xircuits/add-uninstall-feat

Copy link
Member

@MFA-X-AI MFA-X-AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks solid, great work!
One thing I'm noticing here is whether we should allow the baked-in components to be uninstalled or not. Technically yes it should, but if so users wouldn't have a way to reinstall it. Let me get back to you on this.
While waiting, since it's a new CLI feature, could you also add that to our CLI test suite? Thanks.

Copy link
Member

@MFA-X-AI MFA-X-AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works well too. I can confirm the uninstall for both cli and frontend. The core libs aren't allowed to be uninstalled either. Great work!

@MFA-X-AI MFA-X-AI merged commit 02f8177 into XpressAI:master Jul 23, 2025
15 checks passed
@MFA-X-AI MFA-X-AI changed the title Add uninstall support for component libraries in CLI and UI ✨ Add uninstall support for component libraries in CLI and UI Jul 24, 2025
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.

2 participants