Skip to content

Concepts

The Concepts section explains how the MINT plugin model is organized, what runs where, and why. Read these pages first if you're new to MINT plugin development; everything in Tutorials, Recipes, and API Reference assumes the vocabulary introduced here.

Reading order

#PageWhat you'll learn
1Plugin typesAnalysis vs experiment-design plugins; what each owns and writes
2Plugin lifecycleThe phases a plugin moves through, from registration to uninstall
3IsolationHow conflicting plugins run in their own venvs and subprocesses
4PlatformContextThe single object that gives a plugin access to platform services
5Data modelExperiments, projects, design data, analysis results, plugin roles
6MigrationsPer-plugin schema evolution with mint_sdk.migrations

Allow ~30 minutes for the full set; each page is short and standalone.

Two run modes

A mint-sdk-based plugin can run in two complementary modes:

ModeWhenStorageAuth
StandalonePlugin author developing locally; small single-user deployments; CI testsLocal SQLite via LocalDatabaseSkipped (or fake)
IntegratedReal platform install — production lab usePlugin's schema inside the platform's PostgreSQLReal users via PlatformContext

Plugin code is identical between modes. The platform hands the plugin a PlatformContext when integrated; in standalone mode context is None. The SDK's helpers (save_design, load_analysis, get_plugin_db_session) transparently route to the right backend depending on mode.

Where to go next

MINT is open source. Made by the Morscher Lab.