Zero-configuration multi-channel workflow orchestration platform
Project description
Kailash Nexus - Zero Configuration Workflow Orchestration
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.pyworkflow_*.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
- SDK as Building Blocks: Uses existing Kailash SDK without modification
- Zero Config by Default: No parameters required for basic usage
- Progressive Enhancement: Add complexity only when needed
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kailash_nexus-1.0.8.tar.gz.
File metadata
- Download URL: kailash_nexus-1.0.8.tar.gz
- Upload date:
- Size: 35.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
295e36c7f71ff085233da3f0e0f974d36e0117249089984721f57394bac5d24e
|
|
| MD5 |
bd78a9070e3da6628ad508dca7c21b66
|
|
| BLAKE2b-256 |
5469279138d4f55914f15e960ed73f6cff227f8184d4e6fc8199a23415272b39
|
File details
Details for the file kailash_nexus-1.0.8-py3-none-any.whl.
File metadata
- Download URL: kailash_nexus-1.0.8-py3-none-any.whl
- Upload date:
- Size: 40.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a08a4579ae6aa9271ebb079ba60be56ce367157bd7749a38aa0f7aad0408e46e
|
|
| MD5 |
0bc53c1d87ebd7093334186d6deed049
|
|
| BLAKE2b-256 |
59ae37619a9ae3fc02868b96412bd73282dbb5cf77b749c83417a6c2d698812e
|