Skip to content

Developer Guide

As a software developer, you create packages — containerized building blocks that wrap your algorithms and tools for use in Brane workflows. Packages can be written in any programming language.

  1. Install the CLI — Get the Brane command-line tool
  2. Your First Package — Build a simple hello-world package
  3. Package Inputs — Handle function arguments and multiple functions
  4. Datasets — Work with datasets and intermediate results

A Brane package consists of:

  • Your code — Any language, any dependencies
  • A container.yml file — Describes the package’s functions, inputs, and outputs
  • A Docker container — Built automatically by the Brane CLI

When you build a package, Brane creates a Docker image containing your code. At runtime, the framework launches this container on the appropriate worker node, passes inputs via environment variables, and reads outputs from stdout (formatted as YAML).

Write Code --> Define container.yml --> Build --> Test --> Push to Instance
  1. Write your algorithm in any language
  2. Define the package interface in container.yml
  3. Build the package: brane package build ./container.yml
  4. Test locally: brane package test <package_name>
  5. Push to a Brane instance: brane package push <package_name>

Brane packages can use any language that runs on Ubuntu Linux:

  • Python — Most common for data science packages
  • R — Statistical analysis
  • Bash — Simple utilities and scripts
  • Rust, Go, C/C++ — High-performance computing
  • Java, JavaScript — Enterprise integrations

For interpreted languages, include the interpreter in the container. For compiled languages, build the binary and only package the executable.