# AgentUI
Visual workflow builder for computer vision and AI. Create image processing pipelines by connecting tools in a drag-and-drop interface, then export and run them programmatically.
**Part of the [Datamarkin](https://datamarkin.com) ecosystem** - Built on [PixelFlow](https://pixelflow.datamarkin.com) and [Mozo](https://mozo.datamarkin.com) for production-ready computer vision.
## What It Is
AgentUI is a web-first tool builder that lets you:
- **Build visually**: Drag and drop tools on a canvas to create workflows
- **Connect tools**: Wire outputs to inputs with type-safe connections
- **Execute**: Run workflows in the browser and see results instantly
- **Export**: Save workflows as JSON for version control and programmatic execution
- **Integrate**: Use as a Python library in your own applications
Think of it as a visual programming environment for computer vision tasks.
## Quick Start
```bash
# Install
pip install agentui
# Start the server
python -m agentui.api.server
# Open http://localhost:8000 in your browser
```
That's it. The UI is already bundled - no separate build step needed.
## What You Can Build
### ML-Powered Tools
- **Object Detection**: Detect objects using YOLOv8 or Detectron2 (80 COCO classes)
- **Instance Segmentation**: Get pixel-level masks for detected objects
- **Depth Estimation**: Generate depth maps from single images (Depth Anything)
### Image Processing
- **Transforms**: Resize, rotate, flip, crop images
- **Adjustments**: Brightness, contrast, sharpening
- **Effects**: Blur, edge detection, color analysis
- **Blending**: Combine multiple images
### Annotation & Privacy
- **Draw Detections**: Bounding boxes, labels, masks, polygons
- **Privacy Protection**: Blur or pixelate regions automatically
- **Object Tracking**: Track objects across video frames
- **Zone Analysis**: Monitor object presence in defined areas
### Input/Output
- **Load**: Images from files or base64 data
- **Save**: Export processed images to disk
- **Web Display**: Convert images to base64 for browser display
## Usage
### Web Interface
1. **Add tools**: Drag tools from the left palette onto the canvas
2. **Connect**: Click and drag from output ports to input ports
3. **Configure**: Select a tool to edit its parameters in the right panel
4. **Execute**: Click "Run Workflow" to process
5. **View Results**: See outputs in the results panel
6. **Export**: Save your workflow as JSON
### Programmatic Usage
```python
from agentui.core.workflow import Workflow
from agentui.core.registry import registry
# Load a workflow created in the UI
with open('my_workflow.json') as f:
workflow_json = f.read()
# Execute it
workflow = Workflow.from_json(workflow_json, registry.get_all_types())
results = workflow.execute()
# Access results from terminal tools (tools with no outgoing connections)
for tool_id, result in results.items():
if result['is_terminal']:
print(f"Tool {tool_id} outputs:")
for output_name, output_data in result['outputs'].items():
print(f" {output_name}: {type(output_data)}")
```
### Creating Workflows in Code
```python
from agentui.core.workflow import Workflow
from agentui.core.node import Connection
from agentui.nodes.base_nodes import MediaInputNode, ResizeNode, SaveImageNode
# Create tools
input_tool = MediaInputNode(path='input.jpg')
resize_tool = ResizeNode(width=800, height=600)
save_tool = SaveImageNode(path='output.jpg')
# Build workflow
workflow = Workflow()
workflow.add_node(input_tool)
workflow.add_node(resize_tool)
workflow.add_node(save_tool)
# Connect tools
workflow.add_connection(Connection(input_tool.id, "image", resize_tool.id, "image"))
workflow.add_connection(Connection(resize_tool.id, "image", save_tool.id, "image"))
# Execute
results = workflow.execute()
```
## The Datamarkin Ecosystem
AgentUI integrates two powerful libraries:
- **[PixelFlow](https://pixelflow.datamarkin.com)**: Computer vision primitives (annotation, tracking, spatial analysis)
- **[Mozo](https://mozo.datamarkin.com)**: Universal model serving (object detection, segmentation, depth estimation)
These libraries are maintained by the same team and designed to work together seamlessly.
## Development
### UI Development
Only needed if you're modifying the UI:
```bash
cd ui
npm install
npm run dev # Development server with hot reload at http://localhost:5173
# When done
npm run build # Builds to ../agentui/static/
```
### Adding Custom Tools
Tools are Python classes that inherit from `Node`:
```python
from agentui.core.node import Node, NodeOutput, Port, PortType
class MyCustomTool(Node):
@property
def node_type(self) -> str:
return "MyCustomTool"
@property
def input_ports(self) -> Dict[str, Port]:
return {"image": Port("image", PortType.IMAGE, "Input image")}
@property
def output_ports(self) -> Dict[str, Port]:
return {"image": Port("image", PortType.IMAGE, "Output image")}
def process(self) -> bool:
image = self.inputs["image"].data
# Do something with the image
self.outputs["image"] = NodeOutput(processed_image, PortType.IMAGE)
return True
```
Tools are automatically discovered by the registry. See `CLAUDE.md` for detailed development guidance.
## Installation for Development
```bash
git clone <repository-url>
cd agentui
# Python setup
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -e .
# Start server
python -m agentui.api.server
# Optional: UI development (only if modifying Svelte code)
cd ui
npm install
npm run build
```
## Roadmap
Future additions will focus on:
- Additional ML models (OCR, classification, keypoint detection)
- Vision-language models (GPT-4V, Claude, Gemini, Qwen-VL)
- Cloud storage integrations (S3, GCS, Azure)
- Advanced tracking and analytics
- Real-time streaming workflows
## Documentation
- **[CLAUDE.md](CLAUDE.md)**: Complete developer guide and architecture documentation
- **[INSTALLATION.md](INSTALLATION.md)**: Detailed installation and troubleshooting
- **[ARCHITECTURE.md](ARCHITECTURE.md)**: System design and component details
## Requirements
- Python 3.9+
- Optional: Node.js 18+ (only for UI development)
## License
MIT License - see LICENSE file for details
## Contributing
Contributions welcome! Please check `CLAUDE.md` for development guidelines and architecture overview.
---
**Built by [Datamarkin](https://datamarkin.com)** - Making computer vision accessible through visual workflows.
Raw data
{
"_id": null,
"home_page": null,
"name": "agentui",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "computer-vision, workflow, visual-programming, no-code, object-detection, image-processing, yolo, detectron2, segmentation, depth-estimation, annotation, tracking",
"author": null,
"author_email": "Emrah NAZIF <emrah@datamarkin.com>, Datamarkin <support@datamarkin.com>",
"download_url": "https://files.pythonhosted.org/packages/00/a9/53cd99d377de5f6e85c70e0e5d8cf1a9b96a95b72c6fb199cf18ad051640/agentui-0.1.1.tar.gz",
"platform": null,
"description": "# AgentUI\n\nVisual workflow builder for computer vision and AI. Create image processing pipelines by connecting tools in a drag-and-drop interface, then export and run them programmatically.\n\n**Part of the [Datamarkin](https://datamarkin.com) ecosystem** - Built on [PixelFlow](https://pixelflow.datamarkin.com) and [Mozo](https://mozo.datamarkin.com) for production-ready computer vision.\n\n## What It Is\n\nAgentUI is a web-first tool builder that lets you:\n- **Build visually**: Drag and drop tools on a canvas to create workflows\n- **Connect tools**: Wire outputs to inputs with type-safe connections\n- **Execute**: Run workflows in the browser and see results instantly\n- **Export**: Save workflows as JSON for version control and programmatic execution\n- **Integrate**: Use as a Python library in your own applications\n\nThink of it as a visual programming environment for computer vision tasks.\n\n## Quick Start\n\n```bash\n# Install\npip install agentui\n\n# Start the server\npython -m agentui.api.server\n\n# Open http://localhost:8000 in your browser\n```\n\nThat's it. The UI is already bundled - no separate build step needed.\n\n## What You Can Build\n\n### ML-Powered Tools\n- **Object Detection**: Detect objects using YOLOv8 or Detectron2 (80 COCO classes)\n- **Instance Segmentation**: Get pixel-level masks for detected objects\n- **Depth Estimation**: Generate depth maps from single images (Depth Anything)\n\n### Image Processing\n- **Transforms**: Resize, rotate, flip, crop images\n- **Adjustments**: Brightness, contrast, sharpening\n- **Effects**: Blur, edge detection, color analysis\n- **Blending**: Combine multiple images\n\n### Annotation & Privacy\n- **Draw Detections**: Bounding boxes, labels, masks, polygons\n- **Privacy Protection**: Blur or pixelate regions automatically\n- **Object Tracking**: Track objects across video frames\n- **Zone Analysis**: Monitor object presence in defined areas\n\n### Input/Output\n- **Load**: Images from files or base64 data\n- **Save**: Export processed images to disk\n- **Web Display**: Convert images to base64 for browser display\n\n## Usage\n\n### Web Interface\n\n1. **Add tools**: Drag tools from the left palette onto the canvas\n2. **Connect**: Click and drag from output ports to input ports\n3. **Configure**: Select a tool to edit its parameters in the right panel\n4. **Execute**: Click \"Run Workflow\" to process\n5. **View Results**: See outputs in the results panel\n6. **Export**: Save your workflow as JSON\n\n### Programmatic Usage\n\n```python\nfrom agentui.core.workflow import Workflow\nfrom agentui.core.registry import registry\n\n# Load a workflow created in the UI\nwith open('my_workflow.json') as f:\n workflow_json = f.read()\n\n# Execute it\nworkflow = Workflow.from_json(workflow_json, registry.get_all_types())\nresults = workflow.execute()\n\n# Access results from terminal tools (tools with no outgoing connections)\nfor tool_id, result in results.items():\n if result['is_terminal']:\n print(f\"Tool {tool_id} outputs:\")\n for output_name, output_data in result['outputs'].items():\n print(f\" {output_name}: {type(output_data)}\")\n```\n\n### Creating Workflows in Code\n\n```python\nfrom agentui.core.workflow import Workflow\nfrom agentui.core.node import Connection\nfrom agentui.nodes.base_nodes import MediaInputNode, ResizeNode, SaveImageNode\n\n# Create tools\ninput_tool = MediaInputNode(path='input.jpg')\nresize_tool = ResizeNode(width=800, height=600)\nsave_tool = SaveImageNode(path='output.jpg')\n\n# Build workflow\nworkflow = Workflow()\nworkflow.add_node(input_tool)\nworkflow.add_node(resize_tool)\nworkflow.add_node(save_tool)\n\n# Connect tools\nworkflow.add_connection(Connection(input_tool.id, \"image\", resize_tool.id, \"image\"))\nworkflow.add_connection(Connection(resize_tool.id, \"image\", save_tool.id, \"image\"))\n\n# Execute\nresults = workflow.execute()\n```\n\n## The Datamarkin Ecosystem\n\nAgentUI integrates two powerful libraries:\n\n- **[PixelFlow](https://pixelflow.datamarkin.com)**: Computer vision primitives (annotation, tracking, spatial analysis)\n- **[Mozo](https://mozo.datamarkin.com)**: Universal model serving (object detection, segmentation, depth estimation)\n\nThese libraries are maintained by the same team and designed to work together seamlessly.\n\n## Development\n\n### UI Development\n\nOnly needed if you're modifying the UI:\n\n```bash\ncd ui\nnpm install\nnpm run dev # Development server with hot reload at http://localhost:5173\n\n# When done\nnpm run build # Builds to ../agentui/static/\n```\n\n### Adding Custom Tools\n\nTools are Python classes that inherit from `Node`:\n\n```python\nfrom agentui.core.node import Node, NodeOutput, Port, PortType\n\nclass MyCustomTool(Node):\n @property\n def node_type(self) -> str:\n return \"MyCustomTool\"\n\n @property\n def input_ports(self) -> Dict[str, Port]:\n return {\"image\": Port(\"image\", PortType.IMAGE, \"Input image\")}\n\n @property\n def output_ports(self) -> Dict[str, Port]:\n return {\"image\": Port(\"image\", PortType.IMAGE, \"Output image\")}\n\n def process(self) -> bool:\n image = self.inputs[\"image\"].data\n # Do something with the image\n self.outputs[\"image\"] = NodeOutput(processed_image, PortType.IMAGE)\n return True\n```\n\nTools are automatically discovered by the registry. See `CLAUDE.md` for detailed development guidance.\n\n## Installation for Development\n\n```bash\ngit clone <repository-url>\ncd agentui\n\n# Python setup\npython -m venv venv\nsource venv/bin/activate # Windows: venv\\Scripts\\activate\npip install -e .\n\n# Start server\npython -m agentui.api.server\n\n# Optional: UI development (only if modifying Svelte code)\ncd ui\nnpm install\nnpm run build\n```\n\n## Roadmap\n\nFuture additions will focus on:\n- Additional ML models (OCR, classification, keypoint detection)\n- Vision-language models (GPT-4V, Claude, Gemini, Qwen-VL)\n- Cloud storage integrations (S3, GCS, Azure)\n- Advanced tracking and analytics\n- Real-time streaming workflows\n\n\n## Documentation\n\n- **[CLAUDE.md](CLAUDE.md)**: Complete developer guide and architecture documentation\n- **[INSTALLATION.md](INSTALLATION.md)**: Detailed installation and troubleshooting\n- **[ARCHITECTURE.md](ARCHITECTURE.md)**: System design and component details\n\n## Requirements\n\n- Python 3.9+\n- Optional: Node.js 18+ (only for UI development)\n\n## License\n\nMIT License - see LICENSE file for details\n\n## Contributing\n\nContributions welcome! Please check `CLAUDE.md` for development guidelines and architecture overview.\n\n---\n\n**Built by [Datamarkin](https://datamarkin.com)** - Making computer vision accessible through visual workflows.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Visual workflow builder for computer vision",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://github.com/datamarkin/agentui#readme",
"Homepage": "https://datamarkin.com",
"Issues": "https://github.com/datamarkin/agentui/issues",
"Repository": "https://github.com/datamarkin/agentui"
},
"split_keywords": [
"computer-vision",
" workflow",
" visual-programming",
" no-code",
" object-detection",
" image-processing",
" yolo",
" detectron2",
" segmentation",
" depth-estimation",
" annotation",
" tracking"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1b7281ffa79b052c28bfc39ce2337c1d4d73acd4b931e26da1e6bd40050d0933",
"md5": "b7f8064454de46fc332f0240a36953af",
"sha256": "6d36302ee56b4223ca9cff5501363364f45c21ab9089d682c4940edd4ffca094"
},
"downloads": -1,
"filename": "agentui-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b7f8064454de46fc332f0240a36953af",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 186165,
"upload_time": "2025-10-14T20:44:00",
"upload_time_iso_8601": "2025-10-14T20:44:00.235197Z",
"url": "https://files.pythonhosted.org/packages/1b/72/81ffa79b052c28bfc39ce2337c1d4d73acd4b931e26da1e6bd40050d0933/agentui-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "00a953cd99d377de5f6e85c70e0e5d8cf1a9b96a95b72c6fb199cf18ad051640",
"md5": "178089c7c78b0e99eaced9090add7cfa",
"sha256": "4fde0739f32bc721b41116ca8cc7a1051997dc7075fd5aa287bcdca43f771900"
},
"downloads": -1,
"filename": "agentui-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "178089c7c78b0e99eaced9090add7cfa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 185103,
"upload_time": "2025-10-14T20:44:01",
"upload_time_iso_8601": "2025-10-14T20:44:01.768965Z",
"url": "https://files.pythonhosted.org/packages/00/a9/53cd99d377de5f6e85c70e0e5d8cf1a9b96a95b72c6fb199cf18ad051640/agentui-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-14 20:44:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "datamarkin",
"github_project": "agentui#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "agentui"
}