Bailo Python Client

A simple Python API Wrapper for Bailo


Table of Contents
  1. Key Features
  2. Installing
  3. Getting Started
  4. Development

Key Features

  • Uploading and downloading model binaries

Installing

Python 3.8.1 or higher is required

pip install bailo

Getting Started

from bailo import Client, Model
client = Client("http://localhost:8080")

# Create a model
yolo = Model.create(
    client=client,
    name="YoloV4",
    description="You only look once!",
    team_id="Uncategorised"
)

yolo.card_from_schema("minimal-general-v10-beta")

# Create a new release
my_release = yolo.create_release(version="0.1.0",
                              notes="Beta")

# Upload a file to the release
with open("yolo.onnx") as f:
    my_release.upload("yolo", f)

Documentation

Documenation is rendered with Sphinx and served here.

Building locally

From the docs directory run either make html or make.bat on Windows. This will build it in the backend directory by default.

Development

Install and add precommit

If already working on Bailo you may be prompted to overwrite Husky. Follow the instructions given by Git CLI.

pip install pre-commit
pre-commit install

Install the package locally

pip install -e .

Testing

The package uses Pytest to test packages. Tests can be ran accordingly from within this directory. Tests are split into categories sections for automation purposes.

In order to run integration tests make sure Bailo is running on https://localhost:8080:

pytest -m integration

Run all other tests:

pytest