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.1.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

xircuits-1.5.1-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file xircuits-1.5.1.tar.gz.

File metadata

  • Download URL: xircuits-1.5.1.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for xircuits-1.5.1.tar.gz
Algorithm Hash digest
SHA256 157b64e384005edc9259b051bee996b05c51f0509107972ca38bceb66142f0da
MD5 7c097f0587131d367931707e2533fa3d
BLAKE2b-256 05c35a96aaf617b696cdd1c63d34b6ca47d4156a3004911a60eb011d56f81b79

See more details on using hashes here.

File details

Details for the file xircuits-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: xircuits-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for xircuits-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a146fce9e1e4cb3701a18ad666244f5dd16fd6523cbf5ab46cb068561b92da85
MD5 879bcfd29f6e4aa01ac3ee4723dadfe3
BLAKE2b-256 ee8bd6f55b40618f0211450fac87cd4131bafc12d2cb07e158963a09adbb2082

See more details on using hashes here.

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