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 |
Python only
Section titled “Python only”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)
python3 -m venv .venvsource .venv/bin/activate # on Windows: .venv\Scripts\activatepip install juiz-clijuiz --helpThe juiz command is installed into the venv. Run juiz from a terminal where this venv is activated.
Rust or C++
Section titled “Rust or C++”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-venvon Ubuntu)
Install juiz_app from crates.io.
cargo install juiz_appThe juiz command is installed into ~/.cargo/bin.
Using Python Processes too
Section titled “Using Python Processes too”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.
python3 -m venv .venvsource .venv/bin/activatepip install pyjuizLanguage packages
Section titled “Language packages”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"Python
Section titled “Python”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.
Building from source
Section titled “Building from source”git clone https://github.com/OpenJUIZ/juiz.gitcd juizcargo buildcargo install --path juiz_app