Skip to main content

Installation

Quick Start

See Custom Extractors for full extractor development guide.

Configuration

OptionEnvironment VariableDescription
--api-keyMIXPEEK_API_KEYYour Mixpeek API key
--base-urlMIXPEEK_BASE_URLAPI base URL (default: https://api.mixpeek.com)

Commands

mixpeek plugin init

Create a new plugin from template.
OptionDescription
--categorytext, image, video, audio, document, multimodal
--descriptionPlugin description
--authorAuthor name
--outputOutput directory

mixpeek plugin test

Validate and test plugin locally.
OptionDescription
--pathPlugin directory (default: .)
--sample-dataJSON/CSV file with test data
--verboseDetailed output
Validates:
  • 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.
OptionDescription
--pathPlugin directory
--namespaceTarget namespace ID
--dry-runValidate without uploading
What happens:
  1. Validates structure and schemas
  2. Runs security scan
  3. Creates .tar.gz archive
  4. Uploads to S3 via presigned URL
  5. Confirms and triggers deployment

mixpeek plugin list

List plugins in namespace.
OptionDescription
--namespaceNamespace ID
--sourceall, builtin, custom, community

Plugin Structure

manifest.py

processors/core.py

pipeline.py

realtime.py (Enterprise)

Resource Types

TypeUse For
ResourceType.CPUText embeddings, classification
ResourceType.GPULocal models (Whisper, CLIP)
ResourceType.APIExternal APIs (OpenAI, Vertex)

Row Conditions

Security Constraints

Plugins are scanned before deployment. Forbidden:
PatternReason
subprocess, os.systemShell execution
eval, execDynamic code
socketDirect network
ctypesMemory access
__import__Dynamic imports

Using Your Plugin

After publishing:

API Reference

EndpointMethodDescription
/v1/namespaces/{id}/plugins/uploadsPOSTGet presigned upload URL
/v1/namespaces/{id}/plugins/uploads/{id}/confirmPOSTConfirm upload
/v1/namespaces/{id}/pluginsGETList plugins
/v1/namespaces/{id}/plugins/{id}GETGet plugin details
/v1/namespaces/{id}/plugins/{id}DELETEDelete plugin
/v1/namespaces/{id}/plugins/{id}/deployPOSTDeploy for realtime (Enterprise)
/v1/namespaces/{id}/plugins/{id}/statusGETCheck deployment status

Troubleshooting

IssueSolution
Plugin not foundCheck namespace, wait for deployment
Import errorsEnsure __init__.py files exist
Security scan failsRemove forbidden patterns
Validation errorsCheck manifest.py exports metadata/schemas
Debug mode: