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.6.tar.gz (35.0 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.6-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kailash_nexus-1.0.6.tar.gz
  • Upload date:
  • Size: 35.0 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.6.tar.gz
Algorithm Hash digest
SHA256 8d7aa6d5c479d85fca1974121f401257250a4525c3c6cd0663def5f583133e9e
MD5 90eb6c897945a1392f99f720da28e0e9
BLAKE2b-256 68189110691b824af9ba674f06b015e70ea81fc1851b0f63c1f9df44de1ba092

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kailash_nexus-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 40.7 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ab2be956568d4b7d0ab58fd8ef98d5c2ae3ecd9f3993b01d63c97d9587fc4c6b
MD5 01f51b0184e3e95d848a577b8c64c965
BLAKE2b-256 898add31b9b594e67fd877972e9bcc1ff76893df7911eaf933a7b7a221b9cee0

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