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.