Skip to main content

Zero-configuration multi-channel workflow orchestration platform

Project description

Kailash Nexus - Zero Configuration Workflow Orchestration

PyPI version Python Support License: MIT

A truly zero-configuration platform that allows enterprise users to focus on creating workflows without learning infrastructure complexity.

Installation

pip install kailash-nexus

What is Nexus?

Nexus embodies the zero-config philosophy: just create Nexus() and start!

  • Zero Parameters: No configuration files, environment variables, or setup required
  • Progressive Enhancement: Start simple, add features as needed
  • Multi-Channel: API, CLI, and MCP access unified
  • Simple Registration: Use app.register(name, workflow) to add workflows
  • Enterprise Ready: Built-in auth, monitoring, and rate limiting

Quick Start

from nexus import Nexus

# That's it! Zero configuration needed.
app = Nexus()
app.start()

Core Features

1. Zero Configuration Initialization

from nexus import Nexus

# Create and start with zero parameters
app = Nexus()

# Optional: Configure enterprise features
app = Nexus(
    api_port=8000,      # Default: 8000
    mcp_port=3001,      # Default: 3001
    enable_auth=False,  # Default: False
    enable_monitoring=False,  # Default: False
    rate_limit=None,    # Default: None
    auto_discovery=True # Default: True
)

app.start()

# Check health
print(app.health_check())

2. Automatic Workflow Discovery

Place workflows in your directory using these patterns:

  • workflows/*.py
  • *.workflow.py
  • workflow_*.py
  • *_workflow.py

Example workflow file (my_workflow.py):

from kailash.workflow.builder import WorkflowBuilder

workflow = WorkflowBuilder()
workflow.add_node("LLMAgentNode", "agent", {"model": "gpt-4"})

Nexus automatically discovers and registers it!

3. Workflow Registration

Register workflows with the simple register() method:

from nexus import Nexus
from kailash.workflow.builder import WorkflowBuilder

app = Nexus()

# Create a workflow
workflow = WorkflowBuilder()
workflow.add_node("CSVReaderNode", "reader", {"file_path": "data.csv"})
workflow.add_node("PythonCodeNode", "process", {"code": "result = len(data)"})
workflow.add_connection("reader", "data", "process", "data")

# Register the workflow
app.register("data_processor", workflow.build())

app.start()

4. Multi-Channel Access

Your workflows are automatically available via:

  • REST API: http://localhost:8000/workflows/{name}
  • CLI: nexus run {name}
  • MCP: Model Context Protocol integration

5. Smart Defaults

  • API server on port 8000 (auto-finds available port)
  • MCP server on port 3001 (auto-finds available port)
  • Health endpoint at /health
  • Auto CORS and documentation enabled
  • Graceful error handling and isolation

Architecture

Nexus is built as a separate application using Kailash SDK components:

┌─ kailash_nexus_app/
├── core.py          # Zero-config wrapper around SDK
├── discovery.py     # Auto-discovery of workflows
├── plugins.py       # Progressive enhancement system
├── channels.py      # Multi-channel configuration
└── __init__.py      # Simple Nexus class

Key Principles

  1. SDK as Building Blocks: Uses existing Kailash SDK without modification
  2. Zero Config by Default: No parameters required for basic usage
  3. Progressive Enhancement: Add complexity only when needed
  4. Smart Defaults: Everything just works out of the box

Plugin System

Built-in plugins include:

  • Auth Plugin: Authentication and authorization
  • Monitoring Plugin: Performance metrics and health checks
  • Rate Limit Plugin: Request rate limiting

Create custom plugins:

from kailash_nexus_app.plugins import NexusPlugin

class MyPlugin(NexusPlugin):
    @property
    def name(self):
        return "my_plugin"

    @property
    def description(self):
        return "My custom plugin"

    def apply(self, nexus_instance):
        # Enhance nexus functionality
        nexus_instance.my_feature = True

Testing

Comprehensive test suite with 52 tests:

# Run all tests
python -m pytest tests/ -v

# Unit tests only (45 tests)
python -m pytest tests/unit/ -v

# Integration tests only (7 tests)
python -m pytest tests/integration/ -v

Use Cases

Data Scientists

# Just start and focus on workflows
from nexus import Nexus
app = Nexus()
app.start()

DevOps Engineers

# Add production features progressively
from nexus import Nexus

app = Nexus(enable_auth=True, enable_monitoring=True)
app.start()

AI Developers

# Register AI workflows automatically
from nexus import Nexus
from kailash.workflow.builder import WorkflowBuilder

app = Nexus()

# Manual registration
workflow = WorkflowBuilder()
workflow.add_node("LLMAgentNode", "ai", {"model": "gpt-4"})
app.register("ai-assistant", workflow.build())

app.start()

Comparison with v1

Feature Nexus v1 Nexus v2 (This Implementation)
Configuration 200+ lines 0 lines
Startup Complex setup Nexus().start()
Channels Manual config Auto-configured
Discovery None Automatic
Enhancement Built-in complexity Progressive plugins

Implementation Status

Core Features Implemented:

  • Zero-config initialization
  • Workflow discovery and auto-registration
  • Plugin system for progressive enhancement
  • Channel configuration with smart defaults
  • Comprehensive test suite (52 tests passing)

Future Enhancements:

  • Real SDK gateway integration
  • Production deployment patterns
  • Advanced enterprise features

This implementation demonstrates the true zero-config vision: a platform where enterprise users can focus on creating workflows without infrastructure complexity.

Project details


Download files

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

Source Distribution

kailash_nexus-1.0.9.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

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

kailash_nexus-1.0.9-py3-none-any.whl (43.2 kB view details)

Uploaded Python 3

File details

Details for the file kailash_nexus-1.0.9.tar.gz.

File metadata

  • Download URL: kailash_nexus-1.0.9.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for kailash_nexus-1.0.9.tar.gz
Algorithm Hash digest
SHA256 a60b8c52bba80c8d575ddda930fb23a5e2452266fd46fceea7c0ae70a6076f54
MD5 94383b2885cb945f46b50011aadb9be2
BLAKE2b-256 db7e7f908a2699b4efc10513f12e5a7fcff434b5f080692c1ee17b7c87d4c65f

See more details on using hashes here.

File details

Details for the file kailash_nexus-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: kailash_nexus-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 43.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for kailash_nexus-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 7b9ae15c8ec0e0b9387d7a8c975bef0242c6635e29be7dda7c121e1397ea5237
MD5 87c94ed26cdc3522eebc42ce46bb5271
BLAKE2b-256 1439909470cf3e5aa6eb0e79980dd4f5ae16714f7f7fe27727f4ebb085403b56

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