Candella beta

Candella SDK

The Candella SDK application is a command-line utility that aims to make Candella development easier. The SDK provides utilities to create apps, core services, and frameworks automagically with an interactive tool.

Quickstart: Install from PyPI

To install the Candella SDK, you can run the following command via PyPI:

pip install candella-sdk

Warning

The Candella SDK is in a pre-release state. Features, methods, and APIs may change over time.

Build the SDK from source

You will need the following dependencies installed:

  • Python 3.8 or greater
  • Poetry 1.1.4 or greater

Clone the project from GitHub and run the following commands in the root of the project:

poetry install
poetry build

Then, use pip install and point to the resulting wheel file in the dist directory.

Creating projects

Currently, the Candella SDK lets you create three different kinds of projects: applications, core services, and frameworks. To create any of these projects, run candella-sdk --action create and specify the --type argument:

  • --type app to create an application.
  • --type service to create a core service.
  • --type framework to create a framework.

Note

If you choose an open-source license, you will need to supply the LICENSE file with your app. This may be updated in a future release of the SDK.

Validating projects

The Candella SDK provides a rudimentary validation system for projects to ensure that apps, core services, and frameworks have proper manifests and the materials needed for the project to run in Candella.

To start validating a project, run candella-sdk --action validate and specify the --project argument with the path to your project.

Currently, the SDK will check for the following:

  • That the project is a valid Candella project
  • That the project contains a manifest file
  • That the project's manifest file contains the required keys and doesn't include invalid keys
  • That the project contains the proper iconset if the project is an app or core service

About project validation

Remember that project validation is not a substitution for thorough testing, nor does it guarantee that your project will work correctly with Candella.

Always remember to thoroughly test your projects and how they work in the most recent versions of Candella alongside the most recent versions of the frameworks and core services included.

Using Candella SDK programmatically

The Candella SDK can be imported as a Python module into a script to automate development or to write tests for validating apps.

Creating a project can be performed by calling sdk.create with a single argument that defines the project type:

from candella_sdk import sdk, CandellaProjectType

sdk.create(CandellaProjectType.application)

Likewise, a project can be validated programmatically by calling sdk.validate and passing in the path to the project to validate. The validation function returns a tuple containing if the project was validated, and the error in question if the validation failed.

from candella_sdk import sdk

validated, error = sdk.validate("path/to/Example.aosapp")
if not validated:
    raise Exception(error)