Ango Hub Docs
Open Ango HubContact iMerit
  • Ango Hub Documentation
  • Video Guides
  • Changelog
  • FAQs & Troubleshooting
  • All Keyboard and Mouse Shortcuts
  • Core Concepts
    • Assets
    • Attachments
    • Batches
    • Benchmarks
    • Category Schema (Ontologies)
    • Frame Interpolation
    • Geofencing
    • Idle Time Detection & Time Tracking
    • Instructions
    • Issues
      • Issue Error Codes
    • Label Validation
    • Labeler Performance
    • Labeling
    • Labeling Queue
    • Multiple Classification
    • Notifications
    • Organizations
    • Projects
    • Requeuing
    • Reviewing
    • Review Queue
    • Skipping
    • Stage History
    • Tasks
    • Usage
    • User Roles
    • Workflow
      • Complete
      • Consensus
      • Hold
      • Label
      • Logic
      • Plugin
      • Review
      • Start
      • Webhook
  • Labeling
    • Managing Users in Projects
      • Profile Page
    • Managing the Project Ontology
    • Labeling Editor Interface
      • Audio Labeling Editor
      • Image Labeling Editor
      • Video Labeling Editor
      • DICOM Labeling Editor
      • Medical Labeling Editor
        • 3D Bounding Box
        • Fill Between Slices
        • Island Tools
        • Line (Tape Measure)
        • Smoothing
      • PDF Labeling Editor
      • Text (NER) Labeling Editor
      • LLM Chat Labeling Editor
      • Markdown Labeling Editor
      • 3D Multi-Sensor Fusion Labeling Editor
    • Labeling Classes
      • Tools
        • Bounding Box
        • Brush
        • Entity
        • Message
        • Nested Classifications
        • PCT
        • PDF Tool
        • Point
        • Polygon
        • Polyline
        • Rotated Bounding Box
        • Segmentation
        • Spline
        • Voxel Brush
      • Classification
        • Checkbox
        • Multiple Dropdown
        • Radio
        • Rank
        • Single Dropdown
        • Text
        • Tree Dropdown Tools (Single and Multiple Selection)
      • Relation
        • Single Relation
        • Group Relation
    • Magnetic Lasso
    • Performance & Compatibility Considerations
  • Data
    • Data in Ango Hub
      • Embedding Private Bucket Files in MD Assets
    • Importing Assets
      • Asset Builder
      • Bundled Assets
        • Importing Multiple Images as One Multi-Page Asset
        • Importing Multiple Single-Frame DICOM Files as One Multi-Page Asset
        • Importing multiple DICOM files to be annotated and displayed at once
        • Importing Multiple Single-Frame DICOM Files as a DICOM Series
        • Importing Multiple Markdown Files as One Multi-Page Asset
      • File Explorer
      • Supported Asset File Types & Codecs
      • Importing Cloud (Remote) Assets
      • Importing From Local Machine
      • Creating and Importing LLM Chat Assets
      • Importing Data in the 3D Multi-Sensor Fusion Labeling Tool
      • Bulk Importing Markdown/HTML Assets
      • Importing Attachments during Asset Import
      • Importing Annotations during Asset Import
      • contextData: Adding Extra Data to Assets
      • Importing Reference Images as Overlay
      • Importing Reference Medical Data During Asset Import
    • Importing and Exporting Annotations
      • Importing Annotations
        • Ango Import Format
        • Importing Brush Traces
        • Importing NRRD Annotations
      • Exporting Annotations
        • Ango Export Format
          • Asset
            • Task
              • Tools
              • Classifications
              • Relations
          • Stage History
    • Adding and Managing LLMs
    • Storages
      • Set up a storage integration with Azure
      • Set up a storage integration with AWS S3
      • Set up a storage integration with MinIO and S3-compatible custom storage services
      • Set up a storage integration with GCP (Google Cloud Platform)
      • Set up CORS
      • Validating Storage Integrations
    • Purging Data from Ango Hub
  • Plugins
    • Overview of Plugins in Ango Hub
      • Installing Plugins
      • Plugin Setting Presets
      • Monitoring Plugin Progress
    • First-Party Plugins
      • Ango Export Converter Plugins
      • Asset Converter Plugins
      • Ango to Mask Converter
      • Batch Assignment
      • ChatGPT
      • Column-Agnostic Markdown Generator
      • CSV Export for Classification
      • DALL-E
      • DALL-E (Model Plugin)
      • File Explorer Plugin
      • General Object Detector
      • General Object Segmenter
      • Markdown Generator
      • One-Click Segmentation
      • Open World Object Detection
      • Optical Character Recognition
      • TPT Export
      • YOLO | Instance Segmentation
      • YOLO | Pose Estimation
      • YOLO | Object Detection
      • YOLO | Image Classification
    • Plugin Developer Documentation
      • Export Plugins
      • Batch Model Plugins
      • Model Plugins
      • File Explorer Plugins
      • Markdown Generator Plugins
      • Plugin Logger
      • [WIP] Deploying your Plugin
      • Plugin 'Host' Information
  • SDK
    • SDK Documentation
      • Project Level SDK Functions
        • add_members_to_project
        • assign_batches
        • assign_task
        • create_attachment
        • create_batch
        • create_issue
        • create_label_set
        • create_project
        • delete_issue
        • export
        • exportV3
        • get_assets
        • get_batches
        • get_issues
        • get_metrics
        • get_project
        • get_project_performance
        • get_task
        • get_tasks
        • get_task_history
        • import_labels
        • list_projects
        • requeue_tasks
        • rerun_webhook
        • update_workflow_stages
        • upload_files
        • upload_files_cloud
        • upload_files_with_asset_builder
        • upload_chat_assets
      • Organization Level SDK Functions
        • create_storage
        • delete_organization_invites
        • delete_organization_members
        • delete_storage
        • get_organization_invites
        • get_organization_members
        • get_storages
        • invite_members_to_org
        • update_organization_members_role
    • SDK - Useful Snippets
    • SDK Changelog
  • API
    • API Documentation
  • How-To
    • Add Members
      • Add multiple users to a project
    • Annotate
      • Annotate 3D Point Cloud Files on Ango Hub
      • Perform targeted OCR on images
    • Export Data
      • Automatically send Ango Hub Webhook contents to Google Sheets, Email, Slack, and more with Zapier
      • Download a JSON of your project ontology
      • Download DICOM Segmentation Masks
      • Download your annotations in the COCO, KITTI, or YOLO format
      • Download your Segmentation Masks
      • Get your export as separate JSON files for each asset
    • Manage a Project
      • Get your API Key
      • Get your Organization ID
      • Mute your notifications
      • Open an asset provided the Asset ID
      • Pre-label assets
      • Share a filtered view of the Tasks table with others
      • Transfer project ontologies between projects
      • Transfer project workflows between projects
    • Perform Model Evaluation on Ango Hub
  • Troubleshooting
    • I get a "0 Tasks Labeled" alert when trying to pre-label tasks
    • I get a 'The data couldn't be loaded properly' error when opening certain assets
    • I get a "Unknown Classification" warning when opening a task
  • Feature Availability Status for projects of the 3D Multi-Sensor Fusion type
  • Comparison between QuickServe and Ango Hub
  • Changes from Ango Hub Legacy
  • Video V2 Breaking Changes and Transition
  • Data Access, Storage, and Security
  • Two-Factor Authentication
  • Single Sign-On (SSO) Support
  • Customer Support
  • Ango Hub Status Page
Powered by GitBook
On this page
  • Types of Custom Plugins Available
  • How to Create a New Plugin
  • Step 1: Create a new Plugin on Hub
  • Step 2: Create and Run your Python Script
  • Plugin Info
  1. Plugins

Plugin Developer Documentation

Extend the functionality of Ango Hub with custom plugins.

PreviousYOLO | Image ClassificationNextExport Plugins

Last updated 1 year ago

Custom plugins allow you to extend what Ango Hub can do. With custom plugins you can automatically convert outputs, integrate your own models, and more.

This page will cover general information about creating plugins. Visit each plugin's page for more on how to create and run each plugin type.

In short, you'll create a plugin on Hub. This will provide you with a plugin ID and secret, which you'll use in your Python script to connect your script to the plugin on Hub. For the plugin to run, your Python code will need to be running, either locally on or a cloud.

Types of Custom Plugins Available

  • . Create a script to automatically convert Ango Hub's export to the format of your choice.

  • . Integrate your ML model into Ango Hub, pass in assets and pre-label with its results. Run the model for a batch of assets.

  • . Integrate your ML model into Ango Hub, pass in assets and pre-label with its results.

  • . Link your cloud storage of choice to Ango Hub and navigate its file structure directly within Hub itself. Then, bulk import assets from a folder with a single click.

  • . Get a Markdown and a .csv file. Process them with a Python script, and upload the results to Hub as a markdown asset.

How to Create a New Plugin

Step 1: Create a new Plugin on Hub

From Hub, click on Plugins on the top navbar, then enter the Development section and click on Create a Plugin.

A dialog will appear:

  • Name. The name of your plugin.

  • Description. A description for your plugin. This will always appear next to the plugin's name.

  • Details: A longer description of your plugin which users will see when they open it to run it. As this field supports rich text, this is a good opportunity to add links to docs pages or other detailed information on how to run the plugin.

  • Banner URL: A link to a square image which will be used to represent your plugin. Leave blank for default.

  • Public: Makes this plugin accessible to the Plugin Directory.

  • Scope: If the plugin is private, it will be listed for the organization picked in the Organizations dropdown. If public, it will be listed on the Directory for all Ango Hub users.

  • Organizations. If the plugin was marked as private, the plugin will only be visible for the organizations listed here. You can only see organizations where you are an admin.

  • Default Config: When running a plugin, users will have the option to input custom JSON in this field. The JSON will be passed to your callback function with other parameters. Here, you can input JSON that will be shown and pre-filled by default to users running the plugin. This is a good way to show users a sample of what you expect from the custom JSON config from users.

Click on OK to create the plugin and add it to your Development list.

Step 2: Create and Run your Python Script

From the Development section of the Plugins page on Hub, find the plugin you've just created in Step 1. You'll see a field called ID and a field called Secret. Take note of these.

At this point, you will need to create a Python script and run it. When you run your Python script, the plugin's liveness indicator (e.g., the red light) on Hub will turn green, meaning that the plugin is live.

Plugin Info

Once you create a plugin, it will be visible in the Development section of the Plugins page.

ID: The plugin's unique ID.

Secret: The Plugin Secret is what, when necessary, you will use to authenticate with Ango Hub's servers to run your custom script. More information below. Treat this secret as a password and do not share it with anyone else.

Live: When your plugin is running, this change will instantly turn green. When you stop execution of your plugin, the light will turn back to red in a couple of minutes.

As mentioned above, each plugin type has a different way of being set and run. Please check each plugin's page for more:

Type: The type of your plugin. See for the types available.

Class Names (only appears if selecting "Model" as the plugin type.) Add your model's class names, which will then be mapped to Ango Hub category names when being run. More on the page for .

Status: Lists the plugin on the .

Depending on the type of plugin you've chosen earlier (, , , , or ), please visit each type's docs page where you will be able to find sample code. You will need to integrate your plugin's ID and Secret in the code for your plugin to work. Everything is shown in the linked docs pages.

/: Whether the plugin has been added to the Directory.

: Appears when the plugin has been made public.

Type: The type of plugin, as mentioned in .

Model Plugins
Directory
Export
Batch Model
Model
File Explorer
Markdown Generator
Export Plugins
Batch Model Plugins
Model Plugins
File Explorer Plugins
Markdown Generator Plugins
the section above
this section
Export
Batch Model
Model
File Explorer
Markdown Generator