Design Checklist

This checklist walks though design considerations for the Implementation, Input and Output of SDK apps.

  • Does my App depend on any compiled or third-party packages?
    • If so, are they licenced with a KBase compliant licence?

      All dependencies of KBase Apps must be free for any use including commercial use.

    • If so, is there a version that is executable by one of the SDK languages or as a linux binary?

      See Running Shell Commands Guide for more detail.

  • What are the CPU and RAM requirements for my app?

    For more information on compute hardware and resource specification see this Job Execution Guide

  • Does my App require reference/precomputed data?
    • If so, is that data licenced with a KBase compliant licence?

      All dependencies of KBase Apps must be free for any use including commercial use.

    • If so, is that data small enough to store in a GitHub repository (<100 MB files)

      If not, you can still used versioned reference data. See the Reference Data Guide for more details.

  • Does my App operate on KBase datatypes?
    • If so, do I need a FileUtil to convert the Workspace object to a desired file format?

      See our FileUtil Guide for more detail

  • What parameters do I want users to be able to provide?

    See Narrative App UI Specification for more detail

  • Does my app produce any KBase DataTypes?
    • If so, do I need a FileUtil to save the desired file format as a Workspace object?

      See our FileUtil Guide for more detail

  • How do I want to display results to users?

    See the Report Guide for options.