Skip to content

feat: add AppStream metainfo - #397

Merged
PierreRaybaut merged 3 commits into
DataLab-Platform:mainfrom
KiaraGrouwstra:appstream-metainfo
Oct 20, 2026
Merged

PierreRaybaut merged 3 commits into
DataLab-Platform:mainfrom
KiaraGrouwstra:appstream-metainfo

Conversation

@KiaraGrouwstra

Copy link
Copy Markdown
Contributor

This PR adds io.github.datalab_platform.datalab.metainfo.xml, an AppStream metainfo file that describes DataLab as a desktop application. Software catalogs and package repositories can read this file to show the name, description, links and screenshots of DataLab. For example, NGI Forge, which packages DataLab with Nix, can then get the screenshots from this file and does not need its own list of screenshot URLs.

Notes:

  • The ID follows the io.github.<user>.<repository> convention for projects on GitHub, and the launchable is DataLab.desktop, the desktop entry in this repository. If you prefer a different ID, I can change it.
  • MANIFEST.in now includes *.metainfo.xml, so the file is also in the source distribution, next to DataLab.desktop. Distributions can install it to share/metainfo.
  • The screenshots refer to the images in doc/images/ on the main branch.
  • The file does not contain a <releases> list, so it does not need an update for each release.
  • appstreamcli validate --pedantic passes. It only gives the releases-info-missing hint.

Assisted-by: Claude:claude-opus-5-5

KiaraGrouwstra and others added 3 commits October 14, 2026 19:59
Add an AppStream metainfo file that describes DataLab as a desktop application. Software catalogs and package repositories can use it to show the name, description, links and screenshots of DataLab.

Assisted-by: Claude:claude-opus-5-5
- Rename the AppStream component ID to com.datalab_platform.DataLab
  (reverse-DNS of the project domain) and name the desktop entry and
  icon after it, as recommended by AppStream and required by Flathub
- Desktop entry: use a proper Name, an extension-less themed Icon name,
  add Keywords and DataVisualization category, and drop the Education
  main category that made DataLab appear twice in application menus
- Ship the application icon in the source distribution
- Metainfo: list supported file formats, point the help URL to the
  documentation and declare recommended input controls and display size

Assisted-by: Claude Opus 5.5
Replace the 2024 main window screenshots, which show an outdated user
interface and are no longer used by the documentation, with the signal
and image screenshots generated with the documentation screenshots.

Assisted-by: Claude Opus 5.5
@PierreRaybaut

Copy link
Copy Markdown
Contributor

Hi @KiaraGrouwstra, thanks a lot for this contribution! Since maintainers are allowed to edit the branch, we pushed two commits on top of yours. Here is what changed and why:

1. AppStream ID now uses the project domain (e5bbe10)

  • The component ID is now com.datalab_platform.DataLab, and the developer ID is com.datalab_platform. The project owns datalab-platform.com, so we preferred this to the io.github.* form. We wanted to settle the ID before the first release, because it should not change afterwards.
  • AppStream recommends, and Flathub requires, that the desktop entry and icon be named after the ID. So the files are now:
    • com.datalab_platform.DataLab.metainfo.xml
    • com.datalab_platform.DataLab.desktop (renamed from DataLab.desktop)
    • com.datalab_platform.DataLab.svg (new: a copy of resources/DataLab.svg, listed in MANIFEST.in so it is shipped in the sdist)

2. Desktop entry fixes (these issues existed before your PR)

  • Name=DataLab (was datalab). GenericName and Comment are clearer, and we added Keywords.
  • Icon=com.datalab_platform.DataLab: a themed icon name, without the .svg extension.
  • Categories: we added DataVisualization and removed Education. desktop-file-validate reported that Education and Science are both main categories, so DataLab would appear twice in application menus. The metainfo <categories> were updated to match.

3. Metainfo content

  • The description now lists the supported file formats (text/CSV, NumPy, MAT-Files, TIFF, PNG, DICOM, HDF5…). The previous wording only mentioned HDF5.
  • The help URL now points to the documentation (https://datalab-platform.com/en/) instead of the homepage.
  • We added <recommends>: keyboard and pointing controls, and a display height of at least 768 px.

4. Screenshots (3d9f908)

  • We kept the raw.githubusercontent.com/.../main/... URLs. main is our stable branch, and these paths are more stable than the /_images/ folder of the Sphinx-built website, which is regenerated on every deployment.
  • DataLab-Screenshot-Signal.png and DataLab-Screenshot-Image.png date from 2024 and show an outdated user interface. We replaced them with doc/images/shots/s_beautiful.en.png and doc/images/shots/i_beautiful.en.png, which the documentation uses and which are regenerated with the other doc screenshots. Blob detection remains the default screenshot.

Validation

  • desktop-file-validate passes.
  • appstreamcli validate --pedantic was only available to us in version 0.15.2. Apart from messages caused by that old version (developer, vcs-browser and contribute are not recognized yet), only two pedantic hints remain: cid-contains-uppercase-letter (the uppercase DataLab in the ID is intentional) and releases-info-missing. Could you confirm that it still passes with your AppStream 1.x?

Impact on your packaging

Since the files were renamed, the NGI Forge recipe may need an update if it refers to DataLab.desktop or to the former ID io.github.datalab_platform.datalab. It should also install the new icon (for example to share/icons/hicolor/scalable/apps/).

Does all of this work for you? If so, we'll merge the PR. Happy to adjust anything if it causes trouble on your side.

@KiaraGrouwstra

Copy link
Copy Markdown
Contributor Author

that looks great - thanks!

@PierreRaybaut
PierreRaybaut merged commit 504c309 into DataLab-Platform:main Oct 20, 2026
PierreRaybaut added a commit that referenced this pull request Oct 20, 2026
feat: add AppStream metainfo
(cherry picked from commit 504c309)
@KiaraGrouwstra
KiaraGrouwstra deleted the appstream-metainfo branch October 20, 2026 09:56
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