Describe your app for the App Centre
The LabConstrictor App Centre lists apps built with LabConstrictor, with a page for each one. The App Centre reads a small file from your repository, labconstrictor-app.yaml, so you describe your app once and keep it up to date yourself. Version numbers and download links always come from your latest GitHub release.
How you get the file
The repository initialiser asks for a one-sentence summary, the kind of app and the software it also works in, and adds the file to the initialisation pull request. Read it in the pull request and edit it if you like. If you skip that section, or your repository was created before it existed, copy the example below to the root of your repository.
What it contains
# yaml-language-server: $schema=https://cellmigrationlab.github.io/LabConstrictor-Site/schema/labconstrictor-app.schema.json
schema: 1
name: My App
summary: One sentence that says what it does, for the app card.
description: |-
A few paragraphs of plain text.
Separate paragraphs with a blank line.
kind: analysis # analysis, segmentation, simulation, game, training or utility
hosts: [notebook, napari] # where its tools can also run: notebook, napari, fiji, qupath
status: Available # optional: Experimental, Available or Deprecated
inputs: # optional short lists (1 to 6 items of 5 to 200 characters each)
- TIFF images, one channel per file
outputs:
- Label masks and a CSV table
limitations:
- Not tested on 3D data
distribution: # at least one way to get the app: installer, colab or pip
installer: true # the installers LabConstrictor builds for each release
platforms: [windows-x86_64, macos-arm64, linux-x86_64] # optional, needs installer: build and offer only these installers
colab:
- label: Notebook
url: https://colab.research.google.com/github/you/my-app/blob/main/notebooks/App/App.ipynb
pip: my-app # the name on PyPI
icon: app/logo/logo.png # optional: a square PNG in your repository
platforms also decides which installers your releases build (template 0.1.24 or later): leave a system out when your app cannot run there, for example macos-x86_64 (Intel Macs) for an app that needs TensorFlow 2.17 or later. The release then builds no installer for it and the download page has no button for it. Without platforms, every installer is built: Windows, Linux, and Macs with Apple silicon or Intel (windows-x86_64, linux-x86_64, macos-arm64, macos-x86_64). windows-arm64 and linux-arm64 are accepted, but no installer is built for them.
The first line makes editors with YAML support (for example VS Code) check the file as you type. inputs, outputs and limitations are short summaries for the app page (a list of one to six sentences, not README copy). More optional fields exist (authors, DOI, license, screenshots, a quick start); the full list is in the schema. Everything is plain text: no HTML or Markdown.
The automatic check
The Check App Centre manifest workflow runs when you change the file and when you publish a release:
- If the file is missing, it shows a warning and passes.
- If the file is invalid, it fails and says what to fix. This never stops your installers from being built.
- It rejects fields it does not know (this catches typos, so the schema is not loosened); the template keeps its copy of the schema in step with the App Centre, see Keep your app up to date.
- It also checks that the icon and screenshots you name exist in the repository.
Get listed
Having the file does not list your app by itself. To list it, submit your repository to the App Centre.