Skip to content

A cookiecutter template for a Materials MarketPlace simple application

Notifications You must be signed in to change notification settings

materials-marketplace/get-started-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MarketPlace App Creation

This package uses cookiecutter to facilitate the creation of MarketPlace applications. For more information on what applications are and other related concepts, refer to the MarketPlace documentation

Carry out the following steps to create your own application with MarketPlace:

Create the application from the template

First, install cookiecutter if it is not already in your system. We recommend using a virtual environment or a environment manager like conda.

pip install cookiecutter

Now you can create the application without having to clone the repository

cookiecutter https://github.com/materials-marketplace/get-started-app.git

You will be prompted to answer the questions needed to create the app.

Customise your app

The first step to create your own version of the app is to modify the app.py file to support the paths your app requires. These capabilities should be matched in the openAPI.yml file, and mapped to a MarketPlace capability.

The application can now be deployed and registered. Refer to the application's README for a detailed explanation.

Misc.

Pre-commit configuration check

A basic pre-commit-config.yaml file for pre-commit has been created for the application. You can use it to run sanity checks before each commit.

Set it up via:

pip install pre-commit
pre-commit install

The pre-commit hooks will now be automatically run before every commit. To run them explicitly, use the command:

pre-commit run --all-files

Continuous Integration

Depending on the chosen platform to host your code (e.g. GitHub or GitLab), your CI scripts will follow a different format.

However, we recommend to at least run the pre-commit hooks there, to ensure a minimum of consistence.

For GitHub, the job would look something like:

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Run pre-commit
      run: |
          pip install pre-commit
          pre-commit install
          pre-commit run --all-files

For GitLab:

stages:
  - code_analysis

pre-commit:
  stage: code_analysis
  script:
    - pip install pre-commit
    - pre-commit install
    - pre-commit run --all-files

Note that these steps could be optimised if ran on a platform with pre-commit installed.

About

A cookiecutter template for a Materials MarketPlace simple application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published