Skip to content

Add new index generation script for the updated plugin metadata specification#9

Merged
ghutchis merged 20 commits intoAvogadro:masterfrom
matterhorn103:api2
Mar 3, 2026
Merged

Add new index generation script for the updated plugin metadata specification#9
ghutchis merged 20 commits intoAvogadro:masterfrom
matterhorn103:api2

Conversation

@matterhorn103
Copy link
Copy Markdown
Collaborator

No description provided.

@matterhorn103 matterhorn103 marked this pull request as draft February 4, 2026 00:08
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
…toml

Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
@matterhorn103 matterhorn103 marked this pull request as ready for review February 23, 2026 13:38
Comment thread repositories.toml Outdated
Comment thread plugins.json Outdated
@matterhorn103
Copy link
Copy Markdown
Collaborator Author

matterhorn103 commented Feb 26, 2026

@ghutchis how is the Avogadro code currently getting the README of the plugins? Via the GitHub API? If so, wouldn't it be better if the index contained the URL of the README?

I think it'd be really good if we can make the Avogadro end completely GitHub-agnostic.

@ghutchis
Copy link
Copy Markdown
Member

@ghutchis how is the Avogadro code currently getting the README of the plugins? Via the GitHub API? If so, wouldn't it be better if the index contained the URL of the README?

Yes, right now it comes from the API, e.g. https://api.github.com/repos/openchemistry/avogadrolibs/readme

IMHO, we should be using Python modules for the APIs, e.g.
https://pygithub.readthedocs.io/en/stable/
https://python-gitlab.readthedocs.io/en/stable/

Comment thread generate_index.py Outdated
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
Signed-off-by: Matthew Milner <matterhorn103@proton.me>
@matterhorn103
Copy link
Copy Markdown
Collaborator Author

Should be all done and ready to go.

Here is the example (prettified) output:

[
  {
    "name": "pypkg-demo",
    "version": "6.0.2",
    "authors": [
      "Amedeo Avogadro"
    ],
    "license": "BSD-3-Clause",
    "description": "An example Python package plugin for Avogadro 2 to demonstrate the revamped plugin API in v2.0 onwards",
    "readme": "README.md",
    "minimum-avogadro-version": "1.103",
    "feature-types": [
      "electrostatic-models",
      "energy-models",
      "file-formats",
      "input-generators",
      "menu-commands"
    ],
    "git": {
      "repo": "https://github.com/matterhorn103/avo-plugin-demo.git",
      "commit": "dbbc4d49396ac2b7746abb0bec0af6e577d8c0c5"
    },
    "path": "pypkg-demo",
    "metadata": "pyproject.toml",
    "plugin-type": "pypkg",
    "src": {
      "url": "https://github.com/matterhorn103/avo-plugin-demo/archive/dbbc4d49396ac2b7746abb0bec0af6e577d8c0c5.zip",
      "sha256": "e317a02f4842c50d075f321a7d669a78ab502b15e907d2fdb847eff916a1aac8"
    },
    "last-update": "2026-03-02T22:21:25Z",
    "gh-stars": 0,
    "commit-timestamp": "2026-02-16T02:18:14Z",
    "has-release": false,
    "readme-url": "https://github.com/matterhorn103/avo-plugin-demo/blob/main/README.md"
  },
  {
    "name": "avogenerators",
    "version": "2.0.0",
    "authors": [
      "Allison Vacanti",
      "Kyle Lutz",
      "Marcus D. Hanwell",
      "Geoffrey Hutchison",
      "Eric Berquist",
      "Shiv Upadhyay",
      "Amanda E. Dumi",
      "Adrea Snow",
      "Christian Clauss",
      "Ty Balduf",
      "Javier Cerezo",
      "Matthew Milner"
    ],
    "license": "BSD-3-Clause",
    "description": "Scripts for generating input files for computational chemistry packages",
    "readme": "README.md",
    "minimum-avogadro-version": "1.103",
    "feature-types": [
      "input-generators"
    ],
    "git": {
      "repo": "https://github.com/OpenChemistry/avogenerators.git",
      "commit": "143a06f3fc053a886fd47ab9d08f583997a4f009"
    },
    "metadata": "pyproject.toml",
    "plugin-type": "pypkg",
    "src": {
      "url": "https://github.com/OpenChemistry/avogenerators/archive/143a06f3fc053a886fd47ab9d08f583997a4f009.zip",
      "sha256": "c498eb9d9fe4bd0b089c98bd6a295ac26a15775992f9037c95b9abcafe87b5bd"
    },
    "last-update": "2026-02-27T02:34:55Z",
    "gh-stars": 16,
    "commit-timestamp": "2026-02-27T02:34:50Z",
    "has-release": false,
    "readme-url": "https://github.com/OpenChemistry/avogenerators/blob/master/README.md"
  }
]

@ghutchis ghutchis merged commit 4bbe0e4 into Avogadro:master Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants