Plugin Developer Documentation
Extend the functionality of Ango Hub with custom plugins.
Last updated
Extend the functionality of Ango Hub with custom plugins.
Last updated
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.
. 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.
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.
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.
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 .