A JupyterLab extension for rendering and editing xircuit files.
Project description
Docs • Install • Tutorials • Contribute • Blog • Discord
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.
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.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
PySpark
AutoML
Anomaly Detection
NLP
Clustering
Developers Discord
Have any questions? Feel free to chat with the devs at our Discord!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 157b64e384005edc9259b051bee996b05c51f0509107972ca38bceb66142f0da |
|
MD5 | 7c097f0587131d367931707e2533fa3d |
|
BLAKE2b-256 | 05c35a96aaf617b696cdd1c63d34b6ca47d4156a3004911a60eb011d56f81b79 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a146fce9e1e4cb3701a18ad666244f5dd16fd6523cbf5ab46cb068561b92da85 |
|
MD5 | 879bcfd29f6e4aa01ac3ee4723dadfe3 |
|
BLAKE2b-256 | ee8bd6f55b40618f0211450fac87cd4131bafc12d2cb07e158963a09adbb2082 |