Release a plugin version¶
A plugin reaches a deployment as a version: the version in its pyproject.toml, uploaded to
the deployment's catalogue. A version is never replaced. To ship a change, raise the version and
upload again.
A new version is also the only way to change what a plugin may do, or what it depends on:
- New roles in
[tool.meridian]. The person launching it approves them again. - New packages in
dependencies. Live code runs on the image it was launched from.
To release from a development deployment¶
Use this when the plugin is running live under meridian plugin dev.
- Run the plugin's own tests, if it has any.
- Raise
versioninpyproject.toml, for example from0.1.0to0.2.0. -
From the plugin's directory, run:
-
Read the roles it shows, and answer
yto approve.
It uploads the directory as it is now, as that version, stops the live instance and launches the version in its place:
It is now an ordinary version in the catalogue, launched the ordinary way.
Note
If you forget step 2, the release is refused: the version is recorded already, and a version is never replaced. Raise it and release again.
To release to any deployment¶
Use this for a deployment that is not for development, or when the plugin is not live.
- Raise
versioninpyproject.toml. -
Upload it:
-
Stop the running instance:
-
Launch the new version under the same instance name, and approve what it asks for:
-
Check it:
Keeping the instance name keeps what was granted against it: access groups and external account links name the instance, not the version.
To move a plugin to another deployment¶
Each deployment has its own catalogue. To take a plugin from your development deployment to your firm's:
-
Sign in to the other deployment too:
-
With more than one session held, name the deployment on each command:
The firm's deployment admin approves the roles at launch.
Related¶
- Plugin manifest: the keys in
[tool.meridian]. - Command line: every
meridian pluginflag. - Build with an AI agent: the live loop.