Installation
Quick Start
Configuration
| Option | Environment Variable | Description |
|---|---|---|
--api-key | MIXPEEK_API_KEY | Your Mixpeek API key |
--base-url | MIXPEEK_BASE_URL | API base URL (default: https://api.mixpeek.com) |
Commands
mixpeek plugin init
Create a new plugin from template.
| Option | Description |
|---|---|
--category | text, image, video, audio, document, multimodal |
--description | Plugin description |
--author | Author name |
--output | Output directory |
mixpeek plugin test
Validate and test plugin locally.
| Option | Description |
|---|---|
--path | Plugin directory (default: .) |
--sample-data | JSON/CSV file with test data |
--verbose | Detailed output |
- Structure (manifest.py, pipeline.py exist)
- Schemas (valid Pydantic models)
- Pipeline (
build_steps()callable) - Tests (runs pytest if tests/ exists)
mixpeek plugin publish
Upload and deploy plugin to Mixpeek.
| Option | Description |
|---|---|
--path | Plugin directory |
--namespace | Target namespace ID |
--dry-run | Validate without uploading |
- Validates structure and schemas
- Runs security scan
- Creates .tar.gz archive
- Uploads to S3 via presigned URL
- Confirms and triggers deployment
mixpeek plugin list
List plugins in namespace.
| Option | Description |
|---|---|
--namespace | Namespace ID |
--source | all, builtin, custom, community |
Plugin Structure
manifest.py
processors/core.py
pipeline.py
realtime.py (Enterprise)
Resource Types
| Type | Use For |
|---|---|
ResourceType.CPU | Text embeddings, classification |
ResourceType.GPU | Local models (Whisper, CLIP) |
ResourceType.API | External APIs (OpenAI, Vertex) |
Row Conditions
Security Constraints
Plugins are scanned before deployment. Forbidden:| Pattern | Reason |
|---|---|
subprocess, os.system | Shell execution |
eval, exec | Dynamic code |
socket | Direct network |
ctypes | Memory access |
__import__ | Dynamic imports |
Using Your Plugin
After publishing:API Reference
| Endpoint | Method | Description |
|---|---|---|
/v1/namespaces/{id}/plugins/uploads | POST | Get presigned upload URL |
/v1/namespaces/{id}/plugins/uploads/{id}/confirm | POST | Confirm upload |
/v1/namespaces/{id}/plugins | GET | List plugins |
/v1/namespaces/{id}/plugins/{id} | GET | Get plugin details |
/v1/namespaces/{id}/plugins/{id} | DELETE | Delete plugin |
/v1/namespaces/{id}/plugins/{id}/deploy | POST | Deploy for realtime (Enterprise) |
/v1/namespaces/{id}/plugins/{id}/status | GET | Check deployment status |
Troubleshooting
| Issue | Solution |
|---|---|
| Plugin not found | Check namespace, wait for deployment |
| Import errors | Ensure __init__.py files exist |
| Security scan fails | Remove forbidden patterns |
| Validation errors | Check manifest.py exports metadata/schemas |

