Extend MedICS with
powerful plugins

Browse official and community-built extensions. Install any extension with a single pip command — MedICS loads it automatically.

🔧 Build Your Own
Total Extensions
Official
Community
Categories
🔍
Loading extensions…

Build your own extension

Extensions are pip packages discovered automatically via Python entry points. Full access to the MedICS app_context — UI, workspace, agents, config.

01

Scaffold

Generate a ready-to-go extension project with one command:

medics --create-ext medics-ext-my-tool
02

Implement

Create your PySide6 widget and register it via extension.json and a pyproject entry point:

[project.entry-points."medics.extensions"]
my_tool = "medics_ext_my_tool:MyToolExtension"
03

Control access by plan

Use app_context.get_app_token() to gate features for Standard users:

def initialize(self, app_context) -> bool:
    if app_context.get_app_token() < 1:
        self._premium_btn.setVisible(False)
    return True
04

Build & Publish

Produce a Cython-protected wheel or a plain Python wheel, then push to PyPI:

# Protected (Cython-compiled, source-stripped)
medics --build-ext

# Build + upload to PyPI
medics --build-ext --upload

extension.json

{
  "name":        "My Tool",
  "version":     "1.0.0",
  "description": "Does XYZ",
  "author":      "Your Name",
  "category":    "Image Analysis",
  "enabled":     true,
  "windowed":    true,
  "icon":        null
}
Discovery pip entry-points & filesystem drop-in
Access Full app_context API
Protection Optional Cython compilation
CI Template GitHub Actions build included
View Extension Template ↗