Information for Developers — KBase

Get Started

Sign up for a user account

You need a user account to be able to access KBase’s user interfaces, APIs, workspaces, and more.

Get the code

Nearly all KBase software is publicly available through GitHub. You may reuse KBase code under the terms of our open source license.

Get started with the SDK

The KBase SDK is a set of tools for developing new KBase Apps. The SDK enables external developers to add open source bioinformatics tools to KBase’s App Catalog.

Develop and release your App

If you want to develop apps using the SDK, please apply for a KBase developer account by going to https://accounts.kbase.us/index.php?tpl=request_identity.tpl. If you are a US citizen, your account can be created within a few days. For foreign nationals, it may take several weeks (and, in a few cases, you may not be able to get a developer account). Non-US citizens will be asked for additional information in order to process their application.Once your account is approved, contact us with your username and ask to be added to the developer list.

Software Development Kit (SDK)

SDK_iconThe KBase SDK offers members of the KBase community a mechanism to add open-source, open-license (as defined by OSI at https://opensource.org/licenses) analysis tools to KBase so that they run on KBase’s computational architecture and are available through the KBase Narrative Interface. Community developers can even write new tools that take advantage of the KBase Structured Data Types and large KBase Reference Data Resources. Check which tools have already been made available in our App Catalog and add your own!

 

KBase System Architecture

kbase-high-level-architecture

The figure at left shows a conceptual overview of KBase high-level architecture. KBase is based loosely on a service-oriented architecture that bundles related functionality into a set of independently scalable services that are managed to provide responsive interaction via the Narrative Interface.

For more details, please see the KBase architecture overview, which outlines the components and relationships between KBase’s user interfaces, services and databases.