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.1

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.1
File Interpreter ABI Platform
kailash_enterprise-4.47.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
kailash_enterprise-4.47.1-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
kailash_enterprise-4.47.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 69.6 MB

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

Download URL kailash_enterprise-4.47.1-cp310-abi3-win_amd64.whl
Size 23.2 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b7893d4f2b4893aaf1d248411ef8684d47002f417e7ea64a09a14a23759408b0
BLAKE2b-256 checksum
How to use checksums
d065d4b8639265e8cd932b0552c11b86e4d8c08abc143891facc3f3c8dc2c538
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.1-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL kailash_enterprise-4.47.1-cp310-abi3-manylinux_2_28_x86_64.whl
Size 24.8 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
503f95dde0924ab0747559c03e26103aeb4c64ee78ba4b24cd25bd1bc65860f9
BLAKE2b-256 checksum
How to use checksums
37ef2c80f7465f6f24a26d53747a1270c53684f736feb6f7338bd19fd1ac86de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

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

Download URL kailash_enterprise-4.47.1-cp310-abi3-macosx_11_0_arm64.whl
Size 21.6 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9998cb819196fb0f1734c92b74b6b6e19778c14d4945a24eeb107882036a5bec
BLAKE2b-256 checksum
How to use checksums
9688e883477dc5439cb9d489bd0adf2bfbb8f3534117e8ae70784504eb744d50
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

4.47.2

2 release files

This release

4.47.1 This release

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