# Kailash Nexus - Zero Configuration Workflow Orchestration
[](https://badge.fury.io/py/kailash-nexus)
[](https://pypi.org/project/kailash-nexus/)
[](https://opensource.org/licenses/MIT)
A truly zero-configuration platform that allows enterprise users to focus on creating workflows without learning infrastructure complexity.
## Installation
```bash
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
```python
from nexus import Nexus
# That's it! Zero configuration needed.
app = Nexus()
app.start()
```
## Core Features
### 1. Zero Configuration Initialization
```python
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`):
```python
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:
```python
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:
```python
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:
```bash
# 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
```python
# Just start and focus on workflows
from nexus import Nexus
app = Nexus()
app.start()
```
### DevOps Engineers
```python
# Add production features progressively
from nexus import Nexus
app = Nexus(enable_auth=True, enable_monitoring=True)
app.start()
```
### AI Developers
```python
# 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.
Raw data
{
"_id": null,
"home_page": null,
"name": "kailash-nexus",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "workflow, orchestration, automation, api, cli, mcp",
"author": "Kailash Team",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d8/98/617ba29acb70cdbb8992660cf7292dc55205ce4cd2626cf254513de7456e/kailash_nexus-1.0.4.tar.gz",
"platform": null,
"description": "# Kailash Nexus - Zero Configuration Workflow Orchestration\n\n[](https://badge.fury.io/py/kailash-nexus)\n[](https://pypi.org/project/kailash-nexus/)\n[](https://opensource.org/licenses/MIT)\n\nA truly zero-configuration platform that allows enterprise users to focus on creating workflows without learning infrastructure complexity.\n\n## Installation\n\n```bash\npip install kailash-nexus\n```\n\n## What is Nexus?\n\nNexus embodies the zero-config philosophy: **just create `Nexus()` and start!**\n\n- **Zero Parameters**: No configuration files, environment variables, or setup required\n- **Progressive Enhancement**: Start simple, add features as needed\n- **Multi-Channel**: API, CLI, and MCP access unified\n- **Simple Registration**: Use `app.register(name, workflow)` to add workflows\n- **Enterprise Ready**: Built-in auth, monitoring, and rate limiting\n\n## Quick Start\n\n```python\nfrom nexus import Nexus\n\n# That's it! Zero configuration needed.\napp = Nexus()\napp.start()\n```\n\n## Core Features\n\n### 1. Zero Configuration Initialization\n```python\nfrom nexus import Nexus\n\n# Create and start with zero parameters\napp = Nexus()\n\n# Optional: Configure enterprise features\napp = Nexus(\n api_port=8000, # Default: 8000\n mcp_port=3001, # Default: 3001\n enable_auth=False, # Default: False\n enable_monitoring=False, # Default: False\n rate_limit=None, # Default: None\n auto_discovery=True # Default: True\n)\n\napp.start()\n\n# Check health\nprint(app.health_check())\n```\n\n### 2. Automatic Workflow Discovery\nPlace workflows in your directory using these patterns:\n- `workflows/*.py`\n- `*.workflow.py`\n- `workflow_*.py`\n- `*_workflow.py`\n\nExample workflow file (`my_workflow.py`):\n```python\nfrom kailash.workflow.builder import WorkflowBuilder\n\nworkflow = WorkflowBuilder()\nworkflow.add_node(\"LLMAgentNode\", \"agent\", {\"model\": \"gpt-4\"})\n```\n\nNexus automatically discovers and registers it!\n\n### 3. Workflow Registration\nRegister workflows with the simple `register()` method:\n\n```python\nfrom nexus import Nexus\nfrom kailash.workflow.builder import WorkflowBuilder\n\napp = Nexus()\n\n# Create a workflow\nworkflow = WorkflowBuilder()\nworkflow.add_node(\"CSVReaderNode\", \"reader\", {\"file_path\": \"data.csv\"})\nworkflow.add_node(\"PythonCodeNode\", \"process\", {\"code\": \"result = len(data)\"})\nworkflow.add_connection(\"reader\", \"data\", \"process\", \"data\")\n\n# Register the workflow\napp.register(\"data_processor\", workflow.build())\n\napp.start()\n```\n\n### 4. Multi-Channel Access\nYour workflows are automatically available via:\n\n- **REST API**: `http://localhost:8000/workflows/{name}`\n- **CLI**: `nexus run {name}`\n- **MCP**: Model Context Protocol integration\n\n### 5. Smart Defaults\n- API server on port 8000 (auto-finds available port)\n- MCP server on port 3001 (auto-finds available port)\n- Health endpoint at `/health`\n- Auto CORS and documentation enabled\n- Graceful error handling and isolation\n\n## Architecture\n\nNexus is built as a separate application using Kailash SDK components:\n\n```\n\u250c\u2500 kailash_nexus_app/\n\u251c\u2500\u2500 core.py # Zero-config wrapper around SDK\n\u251c\u2500\u2500 discovery.py # Auto-discovery of workflows\n\u251c\u2500\u2500 plugins.py # Progressive enhancement system\n\u251c\u2500\u2500 channels.py # Multi-channel configuration\n\u2514\u2500\u2500 __init__.py # Simple Nexus class\n```\n\n### Key Principles\n\n1. **SDK as Building Blocks**: Uses existing Kailash SDK without modification\n2. **Zero Config by Default**: No parameters required for basic usage\n3. **Progressive Enhancement**: Add complexity only when needed\n4. **Smart Defaults**: Everything just works out of the box\n\n## Plugin System\n\nBuilt-in plugins include:\n\n- **Auth Plugin**: Authentication and authorization\n- **Monitoring Plugin**: Performance metrics and health checks\n- **Rate Limit Plugin**: Request rate limiting\n\nCreate custom plugins:\n```python\nfrom kailash_nexus_app.plugins import NexusPlugin\n\nclass MyPlugin(NexusPlugin):\n @property\n def name(self):\n return \"my_plugin\"\n\n @property\n def description(self):\n return \"My custom plugin\"\n\n def apply(self, nexus_instance):\n # Enhance nexus functionality\n nexus_instance.my_feature = True\n```\n\n## Testing\n\nComprehensive test suite with 52 tests:\n\n```bash\n# Run all tests\npython -m pytest tests/ -v\n\n# Unit tests only (45 tests)\npython -m pytest tests/unit/ -v\n\n# Integration tests only (7 tests)\npython -m pytest tests/integration/ -v\n```\n\n## Use Cases\n\n### Data Scientists\n```python\n# Just start and focus on workflows\nfrom nexus import Nexus\napp = Nexus()\napp.start()\n```\n\n### DevOps Engineers\n```python\n# Add production features progressively\nfrom nexus import Nexus\n\napp = Nexus(enable_auth=True, enable_monitoring=True)\napp.start()\n```\n\n### AI Developers\n```python\n# Register AI workflows automatically\nfrom nexus import Nexus\nfrom kailash.workflow.builder import WorkflowBuilder\n\napp = Nexus()\n\n# Manual registration\nworkflow = WorkflowBuilder()\nworkflow.add_node(\"LLMAgentNode\", \"ai\", {\"model\": \"gpt-4\"})\napp.register(\"ai-assistant\", workflow.build())\n\napp.start()\n```\n\n## Comparison with v1\n\n| Feature | Nexus v1 | Nexus v2 (This Implementation) |\n|---------|----------|--------------------------------|\n| Configuration | 200+ lines | 0 lines |\n| Startup | Complex setup | `Nexus().start()` |\n| Channels | Manual config | Auto-configured |\n| Discovery | None | Automatic |\n| Enhancement | Built-in complexity | Progressive plugins |\n\n## Implementation Status\n\n\u2705 **Core Features Implemented**:\n- Zero-config initialization\n- Workflow discovery and auto-registration\n- Plugin system for progressive enhancement\n- Channel configuration with smart defaults\n- Comprehensive test suite (52 tests passing)\n\n\u23f3 **Future Enhancements**:\n- Real SDK gateway integration\n- Production deployment patterns\n- Advanced enterprise features\n\nThis implementation demonstrates the true zero-config vision: a platform where enterprise users can focus on creating workflows without infrastructure complexity.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Zero-configuration multi-channel workflow orchestration platform",
"version": "1.0.4",
"project_urls": null,
"split_keywords": [
"workflow",
" orchestration",
" automation",
" api",
" cli",
" mcp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2cea2258f40cb1ee2cfa16e8d5bc286eed3052e438e18487ee3a1575e5d0e387",
"md5": "29ce06292cf5ba9c54df2de66c9e41ba",
"sha256": "b8e5e029953bc6a15b17959151b4b857bfafb37f13d6ef6111c2c91e4647bc1d"
},
"downloads": -1,
"filename": "kailash_nexus-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "29ce06292cf5ba9c54df2de66c9e41ba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 35077,
"upload_time": "2025-07-31T12:17:15",
"upload_time_iso_8601": "2025-07-31T12:17:15.559784Z",
"url": "https://files.pythonhosted.org/packages/2c/ea/2258f40cb1ee2cfa16e8d5bc286eed3052e438e18487ee3a1575e5d0e387/kailash_nexus-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d898617ba29acb70cdbb8992660cf7292dc55205ce4cd2626cf254513de7456e",
"md5": "dacd0727b710bfd7f94ec413e664c6e1",
"sha256": "8da72313869067d43dd2ba7ba4bca3ff11900d766b8a6f96ee60593d6e202fbb"
},
"downloads": -1,
"filename": "kailash_nexus-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "dacd0727b710bfd7f94ec413e664c6e1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 29946,
"upload_time": "2025-07-31T12:17:17",
"upload_time_iso_8601": "2025-07-31T12:17:17.004734Z",
"url": "https://files.pythonhosted.org/packages/d8/98/617ba29acb70cdbb8992660cf7292dc55205ce4cd2626cf254513de7456e/kailash_nexus-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-31 12:17:17",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "kailash-nexus"
}