Skip to main content

Kailash Enterprise — high-performance Rust-powered workflow engine, drop-in replacement for kailash

Project description

Kailash Enterprise

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kailash_enterprise-4.7.0-cp314-cp314-win_amd64.whl (17.8 MB view details)

Uploaded CPython 3.14Windows x86-64

kailash_enterprise-4.7.0-cp314-cp314-manylinux_2_28_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.7.0-cp314-cp314-manylinux_2_28_aarch64.whl (17.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.7.0-cp314-cp314-macosx_11_0_arm64.whl (16.6 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

kailash_enterprise-4.7.0-cp313-cp313-win_amd64.whl (17.8 MB view details)

Uploaded CPython 3.13Windows x86-64

kailash_enterprise-4.7.0-cp313-cp313-manylinux_2_28_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.7.0-cp313-cp313-manylinux_2_28_aarch64.whl (17.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.7.0-cp313-cp313-macosx_11_0_arm64.whl (16.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

kailash_enterprise-4.7.0-cp312-cp312-win_amd64.whl (17.8 MB view details)

Uploaded CPython 3.12Windows x86-64

kailash_enterprise-4.7.0-cp312-cp312-manylinux_2_28_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.7.0-cp312-cp312-manylinux_2_28_aarch64.whl (17.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.7.0-cp312-cp312-macosx_11_0_arm64.whl (16.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

kailash_enterprise-4.7.0-cp311-cp311-win_amd64.whl (17.9 MB view details)

Uploaded CPython 3.11Windows x86-64

kailash_enterprise-4.7.0-cp311-cp311-manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.7.0-cp311-cp311-manylinux_2_28_aarch64.whl (18.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.7.0-cp311-cp311-macosx_11_0_arm64.whl (16.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

kailash_enterprise-4.7.0-cp310-cp310-win_amd64.whl (17.9 MB view details)

Uploaded CPython 3.10Windows x86-64

kailash_enterprise-4.7.0-cp310-cp310-manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.7.0-cp310-cp310-manylinux_2_28_aarch64.whl (18.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.7.0-cp310-cp310-macosx_11_0_arm64.whl (16.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file kailash_enterprise-4.7.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 238ecc04743d2f88d7d7c0431be9547de03b65a0e9dec0364840d7650a30b801
MD5 d301792e2173b1e23e2676ad9d40f415
BLAKE2b-256 e476fc743d55b23af51c857153e7d58f490f3bad6130c91f03da73bbf216c4d1

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 408b88d2c51ccf50390c595d71d6097c30ef9d82ae8219aece0480bcfacf9e27
MD5 6f5b9725128bae92e06f99f7f9d8b3c8
BLAKE2b-256 3339618e939ace1089437956bd4b97a8904b0b8ae22f13e533f51c964bf9aba2

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a5daad6566542ae759c0457df6c56c2699a033afda01be47dfd4a3927ede1e1
MD5 9f846bc24406c446f5332a598a22d53e
BLAKE2b-256 c667ba1ca4dd0df82a40681fec0e7e66a72f8d31a9a34e8991a5211a280076ef

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 607c4e38818cafda2a1512c62e67b8ba0c74a75d13b86b0afd995e7c3bf46690
MD5 e432d71941568cac0a428f624b7712ee
BLAKE2b-256 4c16a330f63ab751f681ab3cac9f3c6e77a7bb29be8be987630a16534643cfe9

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dfd37984da70be06b8d43bcd6138e7c4221721196e0ebcb5e1b748046195b1d8
MD5 45816e2d85d5855012e28687c4bbf1d3
BLAKE2b-256 4d5b6e9cb9fff5f73dcb3f0a89ebaea8f16d5ab1de6e06745cf2fd926cacee9c

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52ac5e45aa4f10dc250afc846d1820e0c83d14d11685a78d1132d6755c4797ed
MD5 4db52ca50d529203ba6434b13e3c390c
BLAKE2b-256 6aa5ff874278e16c378d8b39c0f32c642ac2f70c1caa6bca7979740631ab60ec

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 58f1b57ee5132d6747b88453fc30d13681f4a0ff422be405b2e71bb1531b1788
MD5 dbd0d657863ece47978023c3bf3f4000
BLAKE2b-256 1c5fa1b42d25f51684778519af9c3db9f79cd9d74822a6341eec66ceab15e701

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf8c3167277128c499abf3ae8c555ef7829bc63577befb790e6c583da64ca7ea
MD5 d8e3c12b3432489e3e14b8ef607102cf
BLAKE2b-256 472136673d69ab6df5069f14db2aeba2292663138881e7bdc98748363f74532f

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 844d305844890473ec8cde3bf85cc886a964e20a71558c634a37ffaec45c2f31
MD5 6f5049d1c046b7c4b3de77244ae9ea63
BLAKE2b-256 4a4ed0590a12628cacb005be5b29fc1fcab9f6f14fe99bed64e4f17f84be5b6d

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 48e579bda04a7a41dcbd9e5045b9f5adeb00d56f3a15a0c810a0ba3cd364317f
MD5 a1b7d2ca1b946bf1effa1cb53f44fe00
BLAKE2b-256 4a8f55f0735909444caa83573a6d8beba4fccdd43514e99330df0f432e973762

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b5796996f17c85e9378fcad2ee210ee6ed65d6620d5077afd2ebc0e1ced2f281
MD5 a1ff893fe788c22f7b15a59d6bf02f24
BLAKE2b-256 9d0090df589a4cfdbb4170338f9275b485e0b4f904463441cfa12a2e1407e654

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 625b856f801784ecb148b043a89fb17fb8a4bb0137ca5f27e6e658f4d47aa094
MD5 b66783b2d9dd7c3242a8118ac35d93ab
BLAKE2b-256 5d719c48d17b1398c152eb435edaf79afc5e87a5c5231f10f4c80ee3842e9066

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 38500ec214c94bddacc7bf26b1e1e06b00851105d8ca781eefac76a92cb333b3
MD5 fea580b646e669b22704e90abb74f549
BLAKE2b-256 836c75daea9431f764712ff23e4ea9ff0ab399ef975d664ab6cbdf9851bb63f6

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c9dc196c79b2d065f86bb68b3d25ec541c366ad142612055a649f1a5e18abdf
MD5 4ece26220686a95d50287e113e731e9a
BLAKE2b-256 b2c363347b4563b7db2e72ea56bed8423968baf642fedda1cbc9a6176e0e761d

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cd92c5de228241085151dbaeb2a77309f56a09ce1ee02270b2615a4237ae937f
MD5 17411f68cc3bad51511f85413d22a556
BLAKE2b-256 8fc81250b7420720788e17ae950a897c56ec85f2175328a7c3e7ae1fd610c1a2

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d9bf688055250141541855ffe1433ce3f65dcdbaaedaecd803797700f8e0d91
MD5 57fc2fedde0d4d1c16cf2e88262e60de
BLAKE2b-256 1fab173abe3533e5aa3f56534fb2a3196067bc4d780e0fa63cae05053412a702

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 533c442944d1990bf653e86e151f1f2331e8786bff4655b22143200f8cebf654
MD5 a320a74d01ed3b46a79d31a1746f5092
BLAKE2b-256 2039fe77822510e7eb15c6c39cb3240e9ce465123ac60666f1d146c3f5af7a55

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e959dc7e3a1e08405be250e567f9d9451f8fcde1c978fcf299c1c98578e7004
MD5 0d7826c5eb1213f2c45439b9834fbe2a
BLAKE2b-256 f6fff8f74596f52b1c515cf9a7ccf438808f0e4d441006b842a8eec1ed301843

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8d10593bfb995908ca89afc9c4664de4bb91fb4bbd9904a6dfbb59e9e29125e
MD5 511ab1a8dc1665e77378901b977a2b98
BLAKE2b-256 97e4367c2169eade8a0013bacaceac8b5143b5ba683e037eb9b394ef521e07e8

See more details on using hashes here.

File details

Details for the file kailash_enterprise-4.7.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kailash_enterprise-4.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86c381957f924ae0f165f7c1d97ec206f7113f5137c0a8501ea80478115ddd87
MD5 5ea74365b7a832c13afea3e0bfb77496
BLAKE2b-256 a9687c18d87be06e04733324658096ca35aca7bbfa0fb83c6c7708577179718f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page