Giter Club home page Giter Club logo

aiidalab-registry's Introduction

AiiDAlab Application Registry

This repository contains the database of the official App registry for AiiDAlab.

How to add an app to the registry

Simply propose a change to the apps.yaml file in this repository and add an entry for your app, for example:

hello-world:
  releases:
    - "git+https://github.com/aiidalab/aiidalab-hello-world.git@master:"

Tip: You can directly edit the apps.yaml file within the GitHub interface, by clicking on the pencil icon in the top right corner.

Please see the AiiDAlab documentation for detailed instructions on how to add an app to the registry.

Information for maintainers

To generate the website, simply execute the following script:

$ ./build.sh

The continuous-integration workflow is implemented with GitHub actions, which runs the pre-commit hooks and tests whether the registry can be built. In addition, all commits on the main branch are automatically deployed to GitHub pages.

To manually trigger the CI workflow to deploy the registry, go to the Actions tab and click on the "Run workflow" button of the deploy workflow.

Versioning and migrations

  • The public registry API specification is maintained under src/static/api/openapi-v{version}.yaml. Explore the interactive version.
  • The public registry API is published at api/v{version}/ and is considered user-facing.
  • The versioning of the API is semantic and all versions within one major version are backwards-compatible.
  • The schemas for JSON files and responses are maintained within the aiidalab repository at https://github.com/aiidalab/aiidalab/tree/v21.10.0/aiidalab/registry/schemas .
  • The schemas are considered implementation detail, but updates must still be made with care as the public API relies on some of the schemas.
  • Should the number of apps maintained within this registry grow substantially, a re-implementation of the registry as a database application with RESTful API server should be considered. Such a re-implementation would likely require a migration to a new server (see next point).
  • For a migration to a different server both the old and the new registry should be kept online concurrently during a reasonably long transition phase.

Acknowledgements

This work is supported by the MARVEL National Centre for Competency in Research funded by the Swiss National Science Foundation, the MARKETPLACE project funded by Horizon 2020 under the H2020-NMBP-25-2017 call (Grant No. 760173), as well as by the MaX European Centre of Excellence funded by the Horizon 2020 EINFRA-5 program (Grant No. 676598).

MARVEL MaX MarketPlace

aiidalab-registry's People

Contributors

yakutovicha avatar csadorf avatar pre-commit-ci[bot] avatar ltalirz avatar unkcpz avatar casperwa avatar oschuett avatar giovannipizzi avatar eimrek avatar ramirezfranciscof avatar mahhheshh avatar borellim avatar daniel-sintef avatar dependabot[bot] avatar edditler avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.