how-to

Application Package CWL How-To's

https://github.com/eoap/how-to

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Application Package CWL How-To's

Basic Info
  • Host: GitHub
  • Owner: eoap
  • License: cc-by-sa-4.0
  • Language: Common Workflow Language
  • Default Branch: main
  • Homepage: https://eoap.github.io/how-to/
  • Size: 1.37 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Codemeta

README.md

CWL How-To Guides

The Common Workflow Language (CWL) is a standard for describing data analysis workflows.

This collection of how-to guides provides step-by-step instructions to help EO Application Packages developer achieve their goals.

What you'll Learn

These guides are structured to address common use cases and challenges encountered when working with CWL.

You'll find practical solutions for tasks such as:

  • Creating nested workflows for modular design.
  • Using scattering to process multiple inputs in parallel.
  • Building conditional workflows that adapt dynamically to inputs.
  • Setting up environment variables for runtime configuration.
  • Capturing and processing outputs, including JSON and files.

Each guide focuses on specific CWL features, providing clear explanations and actionable examples to help you apply the concepts in your EO Application Packages.

Who Are These Guides For?

  • Beginners: Start with foundational guides that introduce key CWL concepts.
  • Intermediate Users: Learn advanced techniques like scattering and conditional workflows.
  • Experts: Discover ways to optimize and modularize complex workflows.

How to Use These Guides

  • Identify Your Goal: Each guide is tailored to a specific task or feature in CWL. Browse the list to find the topic you need.
  • Follow Step-by-Step Instructions: Every guide includes a practical example, detailed steps, and explanations of the concepts involved.
  • Apply and Experiment: Use the examples to build and refine your workflows. Modify the samples to fit your unique requirements.

Get Started

The Application Packages are found in the repository releases: https://github.com/eoap/how-to/releases

The documentation is available here: https://eoap.github.io/how-to/

Using taskfile

You can use Taskfile to run the workflows on the cluster.

Example:

task capture-json-stdout

will run the workflow capture-json-stdout.cwl

License: CC BY-SA 4.0

Owner

  • Name: Earth Observation Application Package
  • Login: eoap
  • Kind: organization
  • Location: Italy

Best practices and examples to package Earth Observation applications

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/CC-BY-NC-SA-4.0",
  "codeRepository": "https://github.com/eoap/how-to.git",
  "dateCreated": "2024-12-08",
  "datePublished": "2024-12-08",
  "dateModified": "2025-01-02",
  "name": "Earth Observation Application Packages CWL How-To's",
  "version": "1.0.0",
  "description": "Earth Observation Application Packages CWL How-To's",
  "developmentStatus": "active",
  "downloadUrl": "https://github.com/eoap/how-to/releases/tag/1.0.0",
  "relatedLink": [
    "https://eoap.github.io/how-to/"
  ],
  "funder": {
    "@type": "Organization",
    "name": "Terradue"
  },
  "keywords": [
    "CWL",
    "Application Packages"
  ],
  "programmingLanguage": [
    "Python",
    "CWL"
  ],
  "softwareRequirements": [
    "container runtime",
    "cwl runner"
  ],
  "author": [
    {
      "@type": "Person",
      "givenName": "Jane",
      "familyName": "Doe",
      "email": "jane.doe@acme.earth",
      "affiliation": {
        "@type": "Organization",
        "name": "ACME"
      }
    },
    {
      "@type": "Person",
      "givenName": "John",
      "familyName": "Doe",
      "email": "john.doe@acme.earth",
      "affiliation": {
        "@type": "Organization",
        "name": "ACME"
      }
    }
  ]
}

GitHub Events

Total
  • Release event: 6
  • Member event: 1
  • Push event: 103
  • Pull request event: 2
  • Create event: 4
Last Year
  • Release event: 6
  • Member event: 1
  • Push event: 103
  • Pull request event: 2
  • Create event: 4