Skip to content

Releases: XpressAI/xircuits

v1.8.1

31 May 10:06
Compare
Choose a tag to compare

Highlights

✨ 🐛 Improved Node Reloading Functionality and Bug Fixes in #251

  • Node reloading now preserves link points.
  • Multiple node selections can now be reloaded.
  • 'Reload All' button added on the toolbar.
  • Fixed node duplication on reload bug.
  • Error popout added for components that does not exist on reload.

✨ 🐛 Enhancing Copy-Paste Functionality and Keyboard Event in #253

  • Prevented multiple firing of keyboard events across multiple canvas tabs.
  • Enabled spawning on mouse coordinates and cross-canvas paste.
  • Enabled cut-copy-pasting from keyboard shortcuts.
  • Enabled links and link points for cut-copy-pasting.

Bug Fixes

  • 🐛 Fix Literal Integer and String Type Check in #249
  • 🐛 Update xircuits-components to fetch from local in #252

Other

  • 🔗 Reduce Resource Consumption for Link Animation in #250

Full Changelog: v1.8.0...v1.8.1

v1.8.0

12 May 08:43
Compare
Choose a tag to compare

We're excited to announce the release of Xircuits v1.8.0, which brings several enhancements and bug fixes to improve your Xircuits experience. This update from the 1.7.0 release includes automatic initialization of In/OutArgs, a new Compile Error Handler, and fixes for Literal List and Dict compile issues. We've also integrated an external XAI library with an installation command.

The display of long strings and canvas size effects on literal strings has been improved, and we've added support for multiple types of ports and input types.

We're also introducing new component libraries, including OpenAI, GPT Agent Toolkit, Slack and Discord! Lastly, we've added literal data validation to prevent compilation breaks and a new Literal Secret Component. We would like to extend a warm welcome to our new contributor @romina1601, who made their first contribution in this release.

What's Changed

Breaking Changes:

  • We've updated the way you initialize the In/OutArgs so it's automatic. If your ports are all None / empty() ports, you can remove it all together and let Xircuits auto-init it for you.

    Code

    Previous

    @xai_component
    class SaveTorchModelState(Component):
    
        model: InCompArg[nn.Module]
        model_path: InArg[str]
        
        def __init__(self):
            self.done = False
            
            self.model = InCompArg(None)
            self.model_path = InArg(None)
        
        def execute(self,ctx) -> None:
        # execution code
    

    Updated

    @xai_component
    class SaveTorchModelState(Component):
    
        model: InCompArg[nn.Module]
        model_path: InArg[str]
        
        def execute(self,ctx) -> None:
        # execution code
    
  • If you need to init a value, add super().__init__(), remove the empty ports, then update the value like this:

    Code

    Previous

    def __init__(self):
    
          self.model_in = InArg.empty()
          self.loss_in = InArg.empty()
          self.learning_rate = InArg(1e-3)
          self.optimizer_in = InArg.empty()
          self.should_flatten = InArg(False)
          self.model_config = OutArg.empty()
          self.loss_fn = OutArg.empty()
          self.optimizer = OutArg.empty()
    

    Updated

    def __init__(self):
        super().__init__()
        self.learning_rate.value = 1e-3
        self.should_flatten.value = False
    
  • We've removed the old debugger to prepare for the new one. For this one, all you need to do is update your xai_components/base.py to the new one. You can also remove all the self.done from your component codes.

Xircuits Core Features:

Component Library

Bug Fixes:

Other

New Contributors

Full Changelog: v1.7.0...v1.8.0

v1.7.1

17 Mar 17:14
Compare
Choose a tag to compare

What's Changed

Highlight

✨ Make initializing In/OutArgs automatic. by @wmeddie in #223

This PR simplifies component creation by using Python's annotations to auto-initialize InArg/OutArg arguments. Now, init functions are only required for setting default values. Say goodbye to repetitive and tedious typing when creating components!

Other New Features

Bug Fixes:

Other:

Full Changelog: v1.7.0...v1.7.1

v1.7.0

07 Mar 07:56
d58177b
Compare
Choose a tag to compare

It's been a few months since the last official update, but we're excited to finally release Xircuits 1.7! This release finally merges #193 which implements branch components as well as loop components. You can now create crazier workflows with do or if like logic.
We also have refactored our compiler to be python-based. Users can now compile .xircuits workflows outside Jupyterlab using xircuits-compile!
Finally we're also happy to add more component libraries to the collection - RPA, Streamlit, as well as RabbitMQ, and MQTT!

What's Changed

Xircuits Core Features:

Component Libraries:

  • Extend Xircuits to include RPA features by @yuenherny in #203 #204
  • Add layer definition for sequential models in pytorch component library. by @wmeddie in #205
  • 📖 XAI Learning -> XAI Tensorflow Keras by @MFA-X-AI in #217

Workflows:

Bug Fixes:

  • 🐛 Fix compulsory inPort args in new compiler by @MFA-X-AI in #211
  • 🐛 Fix Save and compile run from not compiling correctly by @MFA-X-AI in #215

Others:

New Contributors

Full Changelog: v1.6.1...v1.7.0

Upcoming Updates

We're planning on refactoring more of our core features, including merging #200 and #201. More Xircuits charging your way!

v1.6.1

31 Oct 09:02
Compare
Choose a tag to compare

What's Changed

  • ✨Directly connect parameter inPort to its literal node by @AdrySky in #196

Full Changelog: v1.6.0...v1.6.1

v1.6.0

14 Sep 07:18
Compare
Choose a tag to compare

Xircuits Project Template Release

With the Xircuits 1.6 update, we are excited to showcase the Xircuits Project Templates.
A Xircuits template is a project repository that utilizes Xircuits as its engine. Unlike Xircuits component libraries which are framework focused, a Xircuits project template is more focused on use case implementation.

The following are some open source Xircuits template projects by our developers and open source contributors.

Use Case Author
Image Classification MansourAlawi
Iris Classification ThurgaShri
Handwritten Digit Recognition ThurgaShri
Speech Recognition ThurgaShri
Face Detection annabelle1217
Chatbot annabelle1217
Semantic Segmentation quietrex

For more information, checkout our documentation on how to use Xircuits project templates or how to create your own project from our template.

What's Changed

  • 🎨 Truncate long strings by @AdrySky in #190
  • 🐛Fix links not rendering for unopened xircuits tab by @AdrySky in #191
  • 🐛 Fix Extra Ports for Start and Finish Nodes by @MFA-X-AI in #192

Full Changelog: v1.5.1...v1.6.0

v1.5.1

16 Aug 05:36
Compare
Choose a tag to compare

What's Changed

Xircuits Core Features:

Bug Fixes:

  • 🐛Disable canvas scrolled when scrolling description tooltip by @AdrySky in #185
  • 🐛Fix delete multiple nodes at the same time by @AdrySky in #186
  • 🐛Fix hyperparameter dialog handling by @AdrySky in #188

Full Changelog: v1.5.0...v1.5.1

v1.5.0

01 Aug 09:54
Compare
Choose a tag to compare

What's Changed

Xircuits Core Features:

  • ⚡️Open node's script at specific line by @AdrySky in #160
  • ⚡️Compatibility with python 3.8 and above versions by @mansouralawi in #161
  • 🎨 Replace window prompt() with dialog for Literal and Hyperparameter nodes by @AdrySky in #167
  • ✨Add toolbar dropdown to do remote run options by @AdrySky in #164
  • ✨Able save points on link and add listener when moving node by @AdrySky in #165
  • ⚡️Optimize xircuits workflow save file by @AdrySky in #170
  • ✨Render python component descriptions as markdown by @AdrySky in #171
  • 🎨Update port error tooltip to display expected type. Add timer and default port type symbols. by @AdrySky in #173
  • ⚡ Enable Dynamic Component Library Installation from Wheel by @MFA-X-AI in #181

Component Libraries:

  • 📖 Quick Start Pytorch Components & Workflows by @MFA-X-AI in #177
  • 📖 Library Component Descriptions Update by @MFA-X-AI in #180
  • Transfer learning support with tensorflow keras models and tensorflow datasets by @yusufraji in #176

Bug Fixes:

  • ✏️ typo fix for pycaret component library by @annabelle1217 in #157
  • 🐛Fix adding node via link by @AdrySky in #162
  • 🐛Fix comment component not rendering the content by @AdrySky in #166
  • 🐛Fix nodes being de-selected due to dirty state by @AdrySky in #168
  • 🐛Fix context menu and components panel spawn coordinates by @AdrySky in #169
  • 🐛Fix node position changes by @AdrySky in #174
  • 🐛Update spawn point when component panel is open by @AdrySky in #179

Others:

Full Changelog: v1.4.0...v1.5.0

v1.4.0

29 Apr 07:45
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.3.0...v1.4.0

v1.3.0

31 Mar 03:26
Compare
Choose a tag to compare

What's Changed

  • ✨Remember last input of added arguments for spark submit by @AdrySky in #116
  • Don't compile when doing spark submit by @AdrySky in #117
  • 🎨Create optional python compiler code generator by @AdrySky in #118
  • 🎨Add string msg when running xircuits by @AdrySky in #119
  • 📖 xai lib utils zip component by @MFA-X-AI in #120
  • 🐛Skip category when error occurred during components parsing by @AdrySky in #123
  • ✨Enable to do pip installation in different version by @AdrySky in #122
  • Bump minimist from 1.2.5 to 1.2.6 by @dependabot in #124
  • 💥Dropped link to add node and automatically connect its link via components panel by @AdrySky in #121
  • 🐛 Fix Xircuits start in Linux by @MFA-X-AI in #125
  • ✨Add context menu option to open node's script by @AdrySky in #127
  • ♻️Refactor customDeserializeModel by @AdrySky in #128
  • 🐛Fix any type input doesn't accept literal by @AdrySky in #130
  • ✨ Pull components from repo by @MFA-X-AI in #131
  • ⚡️Dynamic positioning of panel from going off canvas by @AdrySky in #129
  • 🎨Create custom and triangle link animation by @AdrySky in #134
  • ✨ Add console command to download examples + datasets by @MFA-X-AI in #132
  • 🪨 Pycaret classification components + examples by @mansouralawi in #133
  • Bump jupyter-server from 1.10.2 to 1.15.4 by @dependabot in #135

New Contributors

Full Changelog: v1.2.0...v1.3.0