Skip to content

Installation

There are two ways to install the juiz command. Pick one based on the languages you use.

Languages Install with Rust toolchain
Python only pip install juiz-cli Not needed
Rust or C++ (Python can be mixed in) cargo install juiz_app Needed

Installing juiz-cli from PyPI gives you both the juiz command and pyjuiz (import juiz), the package you write Processes with. No Rust toolchain is needed.

Requirements:

  • Python 3.10 or later
  • Linux (x86_64, aarch64), macOS (Apple silicon, Intel), or Windows (x86_64)
Terminal window
python3 -m venv .venv
source .venv/bin/activate # on Windows: .venv\Scripts\activate
pip install juiz-cli
juiz --help

The juiz command is installed into the venv. Run juiz from a terminal where this venv is activated.

Requirements:

  • Linux or macOS
  • Rust 1.81 or later (install with rustup)
  • For C++ components: CMake and a C++17 compiler
  • For Python components as well: Python 3 with development headers (sudo apt install python3-dev python3-venv on Ubuntu)

Install juiz_app from crates.io.

Terminal window
cargo install juiz_app

The juiz command is installed into ~/.cargo/bin.

To run Python Processes with this juiz, add only pyjuiz from PyPI. The juiz command embeds the Python it found at build time, so create the venv with that same Python.

Terminal window
python3 -m venv .venv
source .venv/bin/activate
pip install pyjuiz

Write components with the juiz_sdk crate, built as a shared library. Use the same juiz_sdk version as the juiz you installed with cargo install juiz_app. A plugin built with a different version stops with an error when it is loaded.

[lib]
crate-type = ["cdylib"]
[dependencies]
juiz_sdk = "0.0.17"

Write components with the decorators in pyjuiz (from juiz import juiz_process and so on). pyjuiz comes with juiz-cli. With cargo install juiz_app, install only pyjuiz as shown above.

The C++ header juiz/juiz.h lives in bindings/cppjuiz/include of the juiz repository.

Terminal window
git clone https://github.com/OpenJUIZ/juiz.git
cd juiz
cargo build
cargo install --path juiz_app