Centralized graphedit plugin database
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Asger Gitz-Johansen 8662005fb2 feat(db): list the builds of plugins by platform
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 23:05:18 +02:00
scripts feat(db): list the builds of plugins by platform 2026-10-07 23:05:18 +02:00
LICENSE feat(db): the plugin database of graphedit, with NTTA and NTTA Views 2.0.0 2026-10-07 22:38:47 +02:00
plugins.json feat(db): list the builds of plugins by platform 2026-10-07 23:05:18 +02:00
README.md feat(db): list the builds of plugins by platform 2026-10-07 23:05:18 +02:00

graphedit-plugindb

The plugin database of graphedit: the plugins that the plugins panel of the editor can install.

Using it

Add the url of plugins.json to the plugin databases of the editor settings (pluginDatabases in ~/.config/graphedit/settings.json):

https://git.gtz.dk/agj/graphedit-plugindb/raw/branch/main/plugins.json

The plugins panel lists the plugins of the database. Install downloads the library into the plugin directory of the user (~/.local/share/graphedit/plugins); the editor loads it after a restart.

Plugins

Plugin Repository Contents
NTTA graphedit-ntta networks of tick tock automata: the syntax, the checker, aaltitoad and H-UPPAAL import and export
NTTA Views graphedit-ntta how NTTA models look in the editor (install it together with NTTA)

The format

plugins.json is the document that graphedit reads (see "Plugin databases" in docs/file-format.md of graphedit):

{
    "db": {
        "<plugin name>": {
            "<version>": {
                "<os>-<arch>": "<url of the plugin library>"
            }
        }
    }
}
  • The plugin name is the name of the plugin's metadata, the version its version.
  • A version has a build per platform: <os>-<arch>, where the os is linux, windows or macos and the arch the cpu architecture as Qt names it (x86_64, arm64), e.g. linux-x86_64. The editor offers the versions that have a build for its platform. (A url instead of the object is a build for every platform, which only suits plugins without native code; graphedit before 2.1 only reads that form.)
  • Every url points to one plugin library (e.g. a release asset). The file name of the url is the name of the installed file, so it must be the name of the library (libgraphedit-ntta.so). Plugins that consist of several libraries (like a core plugin and its gui plugin) are registered as several plugins.
  • Plugins must be built against the same major version of graphedit and the same Qt as the editor that loads them.

Registering a plugin

  1. Publish the plugin libraries of a release of the plugin for each platform, e.g. as assets of a release v<version> of its repository.
  2. Add the plugin (or the version, or the platform) to plugins.json, and the plugin to the table above.
  3. Check it: scripts/check.sh --fetch (the form, the formatting, and that every url can be downloaded).
  4. Commit it (conventional commits: feat(db): register NTTA 2.0.1).