Skip to content

Repositories

Open Meridian's code is in the open-meridian organisation on GitHub. The runtime and the tools that drive it are AGPL; the pieces a plugin links are Apache-2.0, so a plugin you write stays yours.

Repository What it is Licence
meridian-core The runtime, in Rust: the bus, the stores, the conductor, the dashboard, one sidecar per plugin, the launcher, and the Helm chart that installs them AGPL-3.0-or-later
meridian-cli meridian, the command line: checks a cluster, installs a deployment, signs in to one, and brings plugins in and develops them live AGPL-3.0-or-later
meridian-python The Python SDK for writing plugins, and the reference plugin meridian plugin new starts from Apache-2.0
meridian-schema The interface a plugin links: the sidecar's gRPC service, the typed operations a plugin's roles may take, and the metadata every message carries, with Rust and Python code generation Apache-2.0
meridian-ui The plugin UI kit: the brand's tokens, colour schemes, CSS components and framework-free web components, which the dashboard serves to every plugin's page Apache-2.0
plugin-snaptrade A plugin that reads brokerage accounts through SnapTrade, their positions, cash and freshness, and records them as the custodian's view, with each account's activity as SnapTrade states it. It holds the custody and connectivity roles, links its accounts on the kit's account map, and is the example other connectors copy Apache-2.0
meridian-docs This site —

All seven are public. The organisation's other repositories are private.

Plugin repositories are named plugin-<name>: Open Meridian's own plugins, such as plugin-snaptrade, plugin-kalshi and plugin-polymarket; the platform's repositories keep meridian-*; and a plugin of your own is best named meridian-plugin-<name>. A plugin's package and image keep their names.

Why two licences

meridian-core is AGPL-3.0-or-later. It is the runtime every firm runs, and it stays open source.

meridian-cli is AGPL-3.0-or-later as a consequence rather than a preference: it links meridian-core's crates, which are AGPL, so a customer who runs the binary can ask for its source.

meridian-python and meridian-schema are Apache-2.0. A plugin links the SDK and the interface, and nothing else from Open Meridian — a plugin talks only to its sidecar, and these are the whole of that interface. Apache-2.0 there is what lets a vendor, or a firm, keep its plugin to itself.

meridian-ui is Apache-2.0 too: a plugin's page links the kit, from the plugin's own origin.

plugin-snaptrade is Apache-2.0 like the SDK it is built on: it is meant as a plugin other vendors copy, so it models the promise that a vendor keeps their plugin.

What lives where

  • The domain messages the runtime carries past a sidecar — statements, holdings, instruments, accounts — are in meridian-core's proto/, under its licence. A plugin never sees them.
  • The plugin-facing surface is in meridian-schema, and generated from it: Rust bindings in gen/rust, Python in gen/python. The SDK vendors the Python bindings at a pinned schema revision.
  • Plugins live in repositories of their own, beside their own vendor's code, not in the SDK.
  • The platform at open-meridian.com is operated by Open Meridian and is not public. A deployment needs nothing from it but its address.

Published artefacts

Artefact Where
The runtime image, carrying every binary and the plugin UI kit ghcr.io/open-meridian/meridian-runtime, tagged by commit and latest, published from every green commit on meridian-core's main
The Helm chart oci://ghcr.io/open-meridian/charts/meridian-runtime, versioned 0.1.<n>, each naming the image it was published beside
The meridian CLI Releases of meridian-cli, for macOS and Linux, each binary with a .sha256 beside it, published by a version tag
The Python SDK open-meridian on PyPI, imported as meridian
The plugin base image ghcr.io/open-meridian/plugin-python:<SDK version>, which a plugin's Dockerfile builds on
The plugin UI kit Not published on its own: the runtime image carries it, and the dashboard serves it at /.meridian/ui/<version>/

The SDK's package name

The SDK is published as open-meridian. The name meridian-sdk on PyPI belongs to an unrelated company.