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.8.0-cp314-cp314-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.14Windows x86-64

kailash_enterprise-4.8.0-cp314-cp314-manylinux_2_28_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.8.0-cp314-cp314-manylinux_2_28_aarch64.whl (18.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.8.0-cp314-cp314-macosx_11_0_arm64.whl (16.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

kailash_enterprise-4.8.0-cp313-cp313-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.13Windows x86-64

kailash_enterprise-4.8.0-cp313-cp313-manylinux_2_28_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.8.0-cp313-cp313-manylinux_2_28_aarch64.whl (18.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.8.0-cp313-cp313-macosx_11_0_arm64.whl (16.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

kailash_enterprise-4.8.0-cp312-cp312-win_amd64.whl (18.0 MB view details)

Uploaded CPython 3.12Windows x86-64

kailash_enterprise-4.8.0-cp312-cp312-manylinux_2_28_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.8.0-cp312-cp312-manylinux_2_28_aarch64.whl (18.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.8.0-cp312-cp312-macosx_11_0_arm64.whl (16.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

kailash_enterprise-4.8.0-cp311-cp311-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.11Windows x86-64

kailash_enterprise-4.8.0-cp311-cp311-manylinux_2_28_x86_64.whl (19.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.8.0-cp311-cp311-manylinux_2_28_aarch64.whl (18.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.8.0-cp311-cp311-macosx_11_0_arm64.whl (16.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

kailash_enterprise-4.8.0-cp310-cp310-win_amd64.whl (18.1 MB view details)

Uploaded CPython 3.10Windows x86-64

kailash_enterprise-4.8.0-cp310-cp310-manylinux_2_28_x86_64.whl (19.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

kailash_enterprise-4.8.0-cp310-cp310-manylinux_2_28_aarch64.whl (18.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

kailash_enterprise-4.8.0-cp310-cp310-macosx_11_0_arm64.whl (16.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 80858e48f84737a56d3df3d73644df19db3f4771fc7fea956d80afb5482a59d3
MD5 8197053690f911d867e7689bca148046
BLAKE2b-256 21e4a4c1c504a1b44aa73b9d92cba3ccd00d775bb78ede1cdf95fe4e954c5a17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ca2933436dcce5dfa79e1f06d13c127cb8547eb35160cd0def63e003a3f93f5
MD5 3f786eff489eb2d1a9baa9e58f960d7c
BLAKE2b-256 45321165d82564700041c237f9d264c045dc77d852c23d3c70811beca3eaf1b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dde28a4f6332f1505240f815380244d8bd17095330d57df84512bedd179b6821
MD5 1c8439072e51b592d6655133258179a1
BLAKE2b-256 9bb9b723957771d1c8a317f35a31775ae856b0b23309dd28349f38f69daba537

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef9df811d4a3a539076f5609d46d8da0be4e5d912a27afcf65296685c76ab17d
MD5 a216d3d8c4fa2092e222b2dea8f3e2b8
BLAKE2b-256 586c39f71365c1beb9bbc3cfcd22da6e1090b4984af43d1af673d94fd9ec9ddd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dbba5208a4f461a0490742f03cb78ef1307c3a86fce80b7444116a7ce5fa8b6e
MD5 369f09f5d318ee69291eb2a0fc9ade5a
BLAKE2b-256 7b74ebf119b9b0192b3177def13bb76d6d827851976ffe67cb51097fa54b1aaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec25633fb0d329920714c2cb4e686f6e6e06e17ead444aad74336975ca979788
MD5 88e8ee6c8f73153ed9d01d617871a468
BLAKE2b-256 535378555a7fa25efbc1ba0ab964a638bda9c673015176107fcc024de0a91705

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4bf6df56dd044e260645509859dd08fd2942af849f88e4e52dd6a2ecdee889bd
MD5 48d95968d27ffb68c756a8cf2e99cd28
BLAKE2b-256 4c6007ef5ac962bc328aa975768d91a5b501db76cbcb824e13c26ff44296c5e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bac715028a81c583ffb4abf5d671f1dc3020f6c2eeaf7b82e455714e987ec122
MD5 e52c9d1826224fd128a0afaf4ad071f0
BLAKE2b-256 9ea67c7bd9eee84b2d8dbd3d9d074d0fa6949b413bdb235fcded6aba80d52e9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9ede1760e9f7b7b9d30e92d60869ce266d774970079f8bf1604d7cec6903ecf8
MD5 07f6fe253c0e52900aa8da7a2a48c365
BLAKE2b-256 29b7c40c603e81288415040f997999c7b2b281921f7fe858518f8429b01cd82b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f746c9c308d9ac943d65df42cdea0868aefec09c70d93eb9ed319f44e088659
MD5 10271619df8a51172dd67f7e551b1ccf
BLAKE2b-256 9b9cc7a8dbc8feec580636469f790274d4f8028c25e0dacc9d2f13e32cb6d17c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ab3144a9311922a9cae424bd7758123dcb9756300a2e6987e5637521f510ba4d
MD5 144ceba6c5c8f76e54dd094d8c9aac3a
BLAKE2b-256 70cafdd7184a4239f176784d3287df51f9a0c55381e3b3e9ed923c5728cd8369

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d1194f4154259a34d983fd189cd7426c005f69c2fda2260ea80b93fae03dc64
MD5 d3b4573e7eab9e32615cfc41a5bed533
BLAKE2b-256 b4a35eacc76ce7791bd5e103d1629441a5701fda6a5db478d6e96bba1c5f076a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c91c57f4667cfc7ebaf472fd6abe922174123aed105561fa3bb155cd8a2425b5
MD5 053498fd977211e401403d5a1d58abef
BLAKE2b-256 cf0a168b717073a17aeefdd50a4a06065929355da969faabb9a5ba3fe679db6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d1b75171bd12b149baedbf660f1ef0e14b14596101e3d4ea8b79f3f4906df203
MD5 2886511aad22f8739d5a81237e8df1b7
BLAKE2b-256 7758acf55f69c3cd695a918f3fd76f987a002e8eab6197024df2eb5e9aae9ef2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 181fbf8b1402701053f3b29e2b0c2dff57d478f4f366fa8c33b3bf90cc26a8fd
MD5 e1f6d71d6434de5aeaec92563d1b0887
BLAKE2b-256 d50aa17e500cacad04daac111fe5314fd56e960d91c313a7607f10ae4619b8b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b74caf4a5b39ba79f1075cdae9dd9b8ee62816e2c975e1c0581f949c79d004ba
MD5 551a60d16290a0a33417f56667e84f55
BLAKE2b-256 4c9dc49c6638c71816227a45b14a17a4add71a91c8917aa1c7c4b76123f9fe73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3b9bc2132e9a86db651d9d1578c8f588ef8c5176d054b25ccd8e37c2006ccf99
MD5 e4590160a3a831a8c7548451201336f9
BLAKE2b-256 12e38b487d451c21a278b2de76e7e1ca791897dc3ad020e956e4589bce19d0af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b7d3e5822647068adc59a3949bb2efd8eef142a4483023f5cb57f33242d3643
MD5 9890b31ada4835f558e3201db1332996
BLAKE2b-256 805e2a71f414aaee71b7bba18f63d8edbd26745ead2d795f6ae2da8d05c27907

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11e4abb1b552015660e79e574cd6adf5c41f8915e623ab2c3a5c7c3582a6b9b9
MD5 429065f3c1b37e15bd5f13638c5cad92
BLAKE2b-256 a5322a3d296a6211157631c92ac201e791afa04f9a264718c0b718bd02cd37de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kailash_enterprise-4.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8767bef736411cc8dcee6eb4c305d7ab82a8a7f63d776e811133b908cf1ead7
MD5 6d2dfa52ad9c863dbc472f8ee60b14d0
BLAKE2b-256 cda1fec74d44f7311d2457880748375461d0f7ae1d0cdf966a4b69486f22ae6b

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