kailash-nexus


Namekailash-nexus JSON
Version 1.0.4 PyPI version JSON
download
home_pageNone
SummaryZero-configuration multi-channel workflow orchestration platform
upload_time2025-07-31 12:17:17
maintainerNone
docs_urlNone
authorKailash Team
requires_python>=3.8
licenseMIT
keywords workflow orchestration automation api cli mcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Kailash Nexus - Zero Configuration Workflow Orchestration

[![PyPI version](https://badge.fury.io/py/kailash-nexus.svg)](https://badge.fury.io/py/kailash-nexus)
[![Python Support](https://img.shields.io/pypi/pyversions/kailash-nexus.svg)](https://pypi.org/project/kailash-nexus/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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[![PyPI version](https://badge.fury.io/py/kailash-nexus.svg)](https://badge.fury.io/py/kailash-nexus)\n[![Python Support](https://img.shields.io/pypi/pyversions/kailash-nexus.svg)](https://pypi.org/project/kailash-nexus/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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"
}
        
Elapsed time: 0.41551s