Skip to main content

Kailash Enterprise

free to use · proprietary · source withheld · not open source

High-performance Rust-powered workflow engine — a drop-in replacement for the kailash Python SDK.

kailash is the complete, open, Foundation-owned reference engine — build the whole protocol on it, free, forever. kailash-enterprise is Integrum's own optimized build of the same capability, also free to use; the one reserved right is reselling the engine itself as a rival engine.

Licence

kailash-enterprise is free to use under a proprietary, binary-only licence — you may install, run, build upon, and redistribute it bundled inside your own applications, for any purpose. It is proprietary and source-withheld (a compiled wheel; the Rust source is not distributed) and is not open source. The full terms are in LICENSE-EULA; the single reserved right is reselling the engine itself, standalone, as a rival governance engine.

Changelog

This repository's source is private, so there is no public URL to link here. Instead, CHANGELOG.md ships inside every wheel (its own file, next to LICENSE-EULA): after pip install kailash-enterprise, run python -c "import importlib.metadata as m, pathlib; print(pathlib.Path(m.distribution('kailash-enterprise').locate_file('CHANGELOG.md')))" or unzip the wheel directly. It is a headline-only summary (version, date, one line per change) generated from this SDK's internal engineering changelog — if you are upgrading to resolve a specific report, search it for the issue number or symptom before assuming a fix is not yet released.

Capability parity

The "same capability as kailash" statement above is a maintained fact, not a slogan: the Foundation's kailash implements the full governance/trust capability in the open (pure Python, native-independent), and parity between the two implementations is held by the cross-implementation conformance vectors under tests/parity/ and the PACT conformance vectors under crates/kailash-pact/tests/conformance/. A divergence in either is treated as a narrative-integrity incident, not merely a test failure.

Installation

pip install kailash-enterprise

Replaces pip install kailash. Existing code works without changes.

Usage

# Existing kailash code — no changes needed
from kailash.runtime import LocalRuntime
from kailash.workflow.builder import WorkflowBuilder

builder = WorkflowBuilder()
builder.add_node("NoOpNode", "step1")
workflow = builder.build()

runtime = LocalRuntime()
results, run_id = runtime.execute(workflow)

Why Enterprise?

  • 22–261x faster execution via compiled Rust engine
  • 100–300x less memory than the pure Python SDK
  • Same API — zero migration effort
  • Binary-only — source code stays protected

Compatibility

Full backward compatibility with kailash v0.12. The legacy API emits deprecation warnings to guide migration to the new v2 API.

New v2 API:

import kailash

reg = kailash.NodeRegistry()
builder = kailash.WorkflowBuilder()
builder.add_node("NoOpNode", "step1")
workflow = builder.build(reg)

runtime = kailash.Runtime(reg)
result = runtime.execute(workflow)
# result["results"], result["run_id"], result["metadata"]

Domain event bus (kailash.events)

A pluggable publish/subscribe event bus for cross-service domain events, with structured envelopes (correlation/causation tracking, schema version, JSON payload). Distinct from kailash.EventBus (which is the Nexus lifecycle broadcast bus and is unchanged).

from kailash.events import EventBus, DomainEvent

bus = EventBus()
received = []
bus.subscribe("orders", lambda e: received.append(e))

event = DomainEvent(
    "order.created", "orders", "checkout-service", {"order_id": 42}
).with_correlation("44444444-4444-4444-8444-444444444444")
bus.publish(event)

time.sleep(0.05)

Each subscriber receives a dict with the event's fields (id, event_type, topic, actor, schema_version, correlation_id, causation_id, timestamp, payload, metadata).

Choosing an event-bus backend

kailash.events ships two backends. They are not unified — the choice is a deployment-topology decision, not a convenience toggle:

Backend Delivery scope Durability When to use
InMemoryEventBus Same Python process ONLY None Dev / test / single-process. EventBus is an alias for this.
NatsEventBus Cross-process, cross-host At-least-once Multi-process / multi-service production (requires a NATS JetStream broker).

Cross-process divergence is deliberate and silent if mis-chosen: a subscriber registered in one process on InMemoryEventBus will NEVER see events published from a different process — that is a no-delivery, not a degraded delivery. Pick NatsEventBus whenever publisher and subscriber are not the same OS process:

import os
from kailash.events import NatsEventBus, DomainEvent

# URL threaded in explicitly — the binding never reads the environment
# itself. TLS is required by default; allow_plaintext=True is only for a
# localhost test broker.
bus = NatsEventBus(os.environ["KAILASH_NATS_URL"])
bus.subscribe("kailash.events.acme.orders.created", lambda e: ...)
bus.publish(
    DomainEvent("order.created", "kailash.events.acme.orders.created",
                "checkout-service", {"order_id": 42})
)
bus.shutdown()

NatsEventBus delivers at-least-once via JetStream durable consumers; subjects MUST live under kailash.events.<tenant>.<domain>.<event> (the broker's stream captures that subtree for tenant-isolated routing).

Metadata

Release files for kailash-enterprise 4.47.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for kailash-enterprise 4.47.2
File Interpreter ABI Platform
kailash_enterprise-4.47.2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
kailash_enterprise-4.47.2-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 45.0 MB

Release files / kailash_enterprise-4.47.2-cp310-abi3-win_amd64.whl

Download URL kailash_enterprise-4.47.2-cp310-abi3-win_amd64.whl
Size 23.3 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
dad21b506744f57153e22c9bb6953ee10e10e380c42126e850b4dbe129f9f506
BLAKE2b-256 checksum
How to use checksums
7e51a7f96fdde68d20627d80a0d8a4b75ba01635d2f73aa35ae89c3de8c21b5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release files / kailash_enterprise-4.47.2-cp310-abi3-macosx_11_0_arm64.whl

Download URL kailash_enterprise-4.47.2-cp310-abi3-macosx_11_0_arm64.whl
Size 21.7 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3d0cebb3c04fca8ffd54db0ed93a66d59981d35cd47e7fefa5266f69e582ab28
BLAKE2b-256 checksum
How to use checksums
121751e8ad651ec7d41d66c56d96261bb32380a4f8fa0e6192d4efb0f53e9d19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

4.47.2 This release

2 release files

4.47.1

3 release files

4.47.0

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page