Skip to main content

A JupyterLab extension for rendering and editing xircuit files.

Project description

DocsInstallTutorialsContributeBlogDiscord

GitHub GitHub release Documentation Python

frontpage

Xircuits is a Jupyterlab-based extension that enables visual, low-code, training workflows. It allows anyone to easily create executable python code in seconds.

Features

Rich Xircuits Canvas Interface

Unreal Engine-like Chain Component Interface

Custom Nodes and Ports

Smart Link and Type Check Logic

Component Tooltips

Code Generation

Xircuits generates executable python scripts from the canvas. As they're very customizable, you can perform DevOps automation like actions. Consider this Xircuits template which trains an mnist classifier.

hyperpara-codegen

You can run the code generated python script in Xircuits, but you can also take the same script to train 3 types of models in one go using bash script:

TrainModel.py --epoch 5 --model "resnet50"
TrainModel.py --epoch 5 --model "vgg16"
TrainModel.py --epoch 5 --model "mobilenet"
Famous Python Library Support Xircuits is built on top of the shoulders of giants. Perform ML and DL using Tensorflow or Pytorch, accelerate your big data processing via Spark, or perform autoML using Pycaret. We're constantly updating our Xircuits library, so stay tuned for more!

Didn't find what you're looking for? Creating Xircuits components is very easy! If it's in python - it can be made into a component. Your creativity is the limit, create components that are easily extendable!

Effortless Collaboration Created a cool Xircuits workflow? Just pass the .xircuits file to your fellow data scientist, they will be able to load your Xircuits canvas instantly.

collab

Created a cool component library? All your colleagues need to do is to drop your component library folder in theirs and they can immediately use your components.

And many more.

Installation

You will need python 3.8+ to install xircuits. We recommend installing in a virtual environment.

$ pip install xircuits[full]

If you would like to install just the core functions, use:

$ pip install xircuits

Download Examples

$ xircuits-examples

Launch

$ xircuits

Development

For most use cases installing via pip install xircuits should be enough. If you would like to modify some of the Xircuits core functions (such as node and port logic) you may follow the following steps.

Prerequisites

Building Xircuits requires nodejs and yarn. The test nvm version is 14.15.3. You may also want to set yarn globally accessible by:

npm install --global yarn

Build

git clone https://github.com/XpressAI/xircuits

Make and activate python env. The tested python versions are 3.9.6

python -m venv venv
venv/Scripts/activate

Download python packages.

pip install -r requirements.txt

Run the following commands to install the package in local editable mode and install xircuits into the JupyterLab environment.

# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Enable the server extension
jupyter server extension enable xircuits

Running

Start up xircuits using:

xircuits

Xircuits will open automatically in the browser.

Rebuild

Rebuild Xircuits after making changes.

# Rebuild Typescript source after making changes
jlpm build
# Rebuild Xircuits after making any changes
jupyter lab build

Rebuild (Automatically)

You can watch the source directory and run Xircuits in watch mode to watch for changes in the extension's source and automatically rebuild the extension and application.

# Watch the source directory in another terminal tab
jlpm run watch
# Run Xircuits in watch mode in one terminal tab
jupyter lab --watch

Use Cases

Machine Learning

ML example

PySpark

spark submit

AutoML

automl

Anomaly Detection

anomaly-detection

NLP

nlp

Clustering

clustering

Developers Discord

Have any questions? Feel free to chat with the devs at our Discord!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xircuits-1.5.0.tar.gz (2.0 MB view hashes)

Uploaded Source

Built Distribution

xircuits-1.5.0-py3-none-any.whl (2.5 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page