Marketplace Banner

Installation & Setup

OrrinSDK Version

v0.1.9

Stellr API Version

v1

Getting Started

The OrrinSDK also grants access to the Stellr API. You will want to install the SDK by running the following command in your terminal:

pip3 install orrin-sdk==0.1.5.1

It will also be helpful if you have the OrrinCLI installed. This allows for easier management and scaffolding of your projects. Install it by running the following command:

pip3 install orrin-cli==0.1.8.1

Creating a Project

To create a project with OrrinCLI, simply run the following in your terminal:

orrin projects <itp | iabp>

For context, itp stands for init-tool-project, and iabp stands for init-app-backend-project. You can use the shorthand versions, or the long ones.

Inherent Project Structure

When creating a project to create an app backend or a tool, you will want to ensure you have a project.toml in the root of the project. Below is an example outline of how your project should be structured (which is automatically handled if a project is initiated with OrrinCLI):

Project
├── main.py
├── project.toml
└── (optional) plugins.yaml

The optional plugins.yaml file is for tools. If your project does does not utilize the OrrinToolsSDK class from the SDK, then you do not need to worry about this.

project.toml

This is where all metadata surrounding your project lives, such as the name and description. The contents of this file will differ depending on what you are building.

Project Metadata for OrrinAppsSDK

If you are building a backend for an app (which utilizes the OrrinAppsSDK class), your project.toml file will look similar to the following:

[general]
project_type="app"
name = "my-app"
desc = "Example Orrin app backend"
version = "1.0.0" # can be 1.0, 1.0.0, or 1.0.0.0

Project Metadata for OrrinToolsSDK

If you are building a tool (which utilizes the OrrinToolsSDK class), your project.toml file will look similar to the following:

[general]
project_type="tool"
name="a-tool"
desc="A tool"
version="1.0.0" # can go up to 4 segments (e.g 1.0.0.0)

[general.nuances]
tool="An action that is available to be called upon"

[general.icons]
24x24="/Path/to/24x24/icon"
32x32="/Path/to/32x32/icon"
48x48="/Path/to/48x48/icon"
64x64="/Path/to/64x64/icon"

[plugins]
supported=true # or false
config="plugins.yaml" # remove if above is false

[metadata]
# any metadata you wish to have for the tool; can be anything

Note:

Only OrrinToolsSDK supports version control. Support for version control will be added to OrrinAppsSDK soon. When you upload a new version of a tool, it will be switched to a "PENDING" status thereby making it ineligible to be shown in the marketplace. However, if users had it activated prior to a new version being submitted, the tool will continue to work for them. All prior versions of a tool are archived, and can be revived upon a developer reaching out to support.