# Kubiya Control Plane API
Multi-tenant AI agent orchestration and management platform powered by Temporal workflows.
## Installation
### Basic Installation
```bash
pip install kubiya-control-plane-api
```
### Installation with Extras
Install with development dependencies:
```bash
pip install "kubiya-control-plane-api[dev]"
```
Install with test dependencies:
```bash
pip install "kubiya-control-plane-api[test]"
```
Install with all optional dependencies:
```bash
pip install "kubiya-control-plane-api[all]"
```
## Running for Development
### 1. Clone the repository
```bash
git clone https://github.com/kubiyabot/agent-control-plane.git
cd agent-control-plane
```
### 2. Set up environment variables
Create a `.env` file with the required variables (see below).
### 3. Build an image and run.
```bash
make build
make up
```
The API will be available at `http://localhost:7777/api/docs`
## Running the Worker
The worker processes Temporal workflows for agent execution.
### Using the CLI command
After installing the package, run:
```bash
kubiya-control-plane-worker
```
### Using Python module
```bash
python -m control_plane_api.worker
```
## Required Environment Variables
The following environment variables **must** be set to run the worker:
### Temporal Configuration (Required)
```bash
TEMPORAL_HOST=localhost:7233
TEMPORAL_NAMESPACE=default
```
- `TEMPORAL_HOST`: Address of your Temporal server
- `TEMPORAL_NAMESPACE`: Temporal namespace to use
### Database Configuration (Required)
**Option 1: Direct PostgreSQL**
```bash
DATABASE_URL=postgresql://user:password@localhost:5432/control_plane
```
**Option 2: Supabase**
```bash
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_KEY=your-service-role-key
SUPABASE_POSTGRES_URL=postgresql://user:password@host:5432/database
```
You need **either** `DATABASE_URL` **or** all three Supabase variables.
### Temporal Cloud Authentication (If using Temporal Cloud)
If connecting to Temporal Cloud instead of a self-hosted server, you also need **one** of:
**Option A: API Key**
```bash
TEMPORAL_API_KEY=your-temporal-cloud-api-key
```
**Option B: mTLS Certificates**
```bash
TEMPORAL_CLIENT_CERT_PATH=/path/to/cert.pem
TEMPORAL_CLIENT_KEY_PATH=/path/to/key.pem
```
### Quick Start Example
```bash
# 1. Install the package
pip install kubiya-control-plane-api
# 2. Set required environment variables
export TEMPORAL_HOST=localhost:7233
export TEMPORAL_NAMESPACE=default
export DATABASE_URL=postgresql://user:password@localhost:5432/control_plane
# 3. Run the worker
kubiya-control-plane-worker
```
The worker will connect to Temporal and start processing agent execution workflows.
Raw data
{
"_id": null,
"home_page": null,
"name": "kubiya-control-plane-api",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0.0,>=3.10",
"maintainer_email": null,
"keywords": "ai, agents, orchestration, temporal, fastapi, multi-tenant, workflow, automation",
"author": null,
"author_email": "Kubiya <support@kubiya.ai>",
"download_url": "https://files.pythonhosted.org/packages/8e/d1/bf45a024c0e296d3e1dabc33376bab451016f24b3eb8246a5140b2ad1528/kubiya_control_plane_api-0.3.2.tar.gz",
"platform": null,
"description": "# Kubiya Control Plane API\n\nMulti-tenant AI agent orchestration and management platform powered by Temporal workflows.\n\n## Installation\n\n### Basic Installation\n\n```bash\npip install kubiya-control-plane-api\n```\n\n### Installation with Extras\n\nInstall with development dependencies:\n\n```bash\npip install \"kubiya-control-plane-api[dev]\"\n```\n\nInstall with test dependencies:\n\n```bash\npip install \"kubiya-control-plane-api[test]\"\n```\n\nInstall with all optional dependencies:\n\n```bash\npip install \"kubiya-control-plane-api[all]\"\n```\n\n## Running for Development\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/kubiyabot/agent-control-plane.git\ncd agent-control-plane\n```\n\n### 2. Set up environment variables\n\nCreate a `.env` file with the required variables (see below).\n\n### 3. Build an image and run.\n\n```bash\nmake build\n\nmake up\n```\n\nThe API will be available at `http://localhost:7777/api/docs`\n\n## Running the Worker\n\nThe worker processes Temporal workflows for agent execution.\n\n### Using the CLI command\n\nAfter installing the package, run:\n\n```bash\nkubiya-control-plane-worker\n```\n\n### Using Python module\n\n```bash\npython -m control_plane_api.worker\n```\n\n## Required Environment Variables\n\nThe following environment variables **must** be set to run the worker:\n\n### Temporal Configuration (Required)\n\n```bash\nTEMPORAL_HOST=localhost:7233\nTEMPORAL_NAMESPACE=default\n```\n\n- `TEMPORAL_HOST`: Address of your Temporal server\n- `TEMPORAL_NAMESPACE`: Temporal namespace to use\n\n### Database Configuration (Required)\n\n**Option 1: Direct PostgreSQL**\n\n```bash\nDATABASE_URL=postgresql://user:password@localhost:5432/control_plane\n```\n\n**Option 2: Supabase**\n\n```bash\nSUPABASE_URL=https://your-project.supabase.co\nSUPABASE_SERVICE_KEY=your-service-role-key\nSUPABASE_POSTGRES_URL=postgresql://user:password@host:5432/database\n```\n\nYou need **either** `DATABASE_URL` **or** all three Supabase variables.\n\n### Temporal Cloud Authentication (If using Temporal Cloud)\n\nIf connecting to Temporal Cloud instead of a self-hosted server, you also need **one** of:\n\n**Option A: API Key**\n\n```bash\nTEMPORAL_API_KEY=your-temporal-cloud-api-key\n```\n\n**Option B: mTLS Certificates**\n\n```bash\nTEMPORAL_CLIENT_CERT_PATH=/path/to/cert.pem\nTEMPORAL_CLIENT_KEY_PATH=/path/to/key.pem\n```\n\n### Quick Start Example\n\n```bash\n# 1. Install the package\npip install kubiya-control-plane-api\n\n# 2. Set required environment variables\nexport TEMPORAL_HOST=localhost:7233\nexport TEMPORAL_NAMESPACE=default\nexport DATABASE_URL=postgresql://user:password@localhost:5432/control_plane\n\n# 3. Run the worker\nkubiya-control-plane-worker\n```\n\nThe worker will connect to Temporal and start processing agent execution workflows.\n",
"bugtrack_url": null,
"license": null,
"summary": "Agent Control Plane API - Multi-tenant AI agent orchestration and management platform",
"version": "0.3.2",
"project_urls": null,
"split_keywords": [
"ai",
" agents",
" orchestration",
" temporal",
" fastapi",
" multi-tenant",
" workflow",
" automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2bf6d5a1fdf7cfceb286060d5808d0b59b077069b14efe7c246fa7abbf965dc1",
"md5": "8547e3e61c06b65ff96f4632c31e891f",
"sha256": "129a0c2e0407b057ed8340dd1d5322cb0396b9572035cbe25bed70f89b0b88a7"
},
"downloads": -1,
"filename": "kubiya_control_plane_api-0.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8547e3e61c06b65ff96f4632c31e891f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.10",
"size": 326827,
"upload_time": "2025-11-05T18:54:10",
"upload_time_iso_8601": "2025-11-05T18:54:10.763947Z",
"url": "https://files.pythonhosted.org/packages/2b/f6/d5a1fdf7cfceb286060d5808d0b59b077069b14efe7c246fa7abbf965dc1/kubiya_control_plane_api-0.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8ed1bf45a024c0e296d3e1dabc33376bab451016f24b3eb8246a5140b2ad1528",
"md5": "a32fe05add118c60c5edc8a76dd13ff5",
"sha256": "faf40f622d5c3291f4145607dcc1961b613b60989bcf647eb46b149e4219abe2"
},
"downloads": -1,
"filename": "kubiya_control_plane_api-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "a32fe05add118c60c5edc8a76dd13ff5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.10",
"size": 263676,
"upload_time": "2025-11-05T18:54:12",
"upload_time_iso_8601": "2025-11-05T18:54:12.345448Z",
"url": "https://files.pythonhosted.org/packages/8e/d1/bf45a024c0e296d3e1dabc33376bab451016f24b3eb8246a5140b2ad1528/kubiya_control_plane_api-0.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-05 18:54:12",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "kubiya-control-plane-api"
}