Skip to main content

Installation

OpenRoIS is distributed as source during the alpha. Publication to PyPI, npm, NuGet, and the Unity Package Manager is planned. The package names below are reserved for that purpose.

Requirements​

StackVersion
Python3.12 or later
Node.js22 or later
.NET.NET Standard 2.1 (Unity 6.5 or later)
ROS 2 (optional)Jazzy Jalisco, for ROS 2 based components

Python​

The Python packages provide the RoIS types, the recursive engine, and the component framework. Install them into a virtual environment from a clone of the repository.

git clone https://github.com/openrois/openrois.git
cd openrois
python3 -m venv .venv
source .venv/bin/activate

pip install ./interfaces/python # openrois-interfaces: RoIS types
pip install ./core # openrois-core: Engine, WsServer, WsClient
pip install ./components/core # openrois-components-core: component decorators

Reference components are separate packages, for example pip install ./components/kachaka.

TypeScript​

The TypeScript SDK depends on the generated TypeScript types. Build both, then reference the SDK from your project.

(cd interfaces/typescript && npm install && npm run build)
(cd sdk/typescript && npm install && npm run build)
package.json
{
"dependencies": {
"@openrois/sdk": "file:../openrois/sdk/typescript"
}
}

The SDK ships both ESM and CommonJS builds and runs in browsers and in Node.js.

C#​

The generated C# types target .NET Standard 2.1. Reference the project directly:

MyApp.csproj
<ItemGroup>
<ProjectReference Include="../openrois/interfaces/csharp/src/OpenRoIS.Interfaces/OpenRoIS.Interfaces.csproj" />
</ItemGroup>

The C# client SDK for Unity installs from a Git URL:

Packages/manifest.json
{
"dependencies": {
"org.openrois.sdk": "https://github.com/openrois/openrois.git?path=sdk/csharp"
}
}

Package Names​

PackageRegistryContents
openrois-interfacesPyPIRoIS types (source of truth)
openrois-corePyPIRecursive engine, WebSocket server and client
openrois-components-corePyPIComponent decorators and result helpers
@openrois/interfacesnpmGenerated TypeScript types with runtime validation
@openrois/sdknpmTypeScript client SDK
OpenRoIS.InterfacesNuGetGenerated C# types
org.openrois.sdkUPMC# client SDK for Unity