Skip to main content

Example usage

import time
from kabutopy.client import Client

# make a client instance with the base url of the kabuto service
client = Client("http://localhost:5000")

# registering a user
client.register("user", "password", "email@email.com")

# loging in with a user, the client keeps track of the cookies
client.login("user", "password")

# creating an image
# name: string
# dockerfile: raw string / open file / path to a file
# repo_url: string
# nocache: boolean
image = client.create_image("my_image", dockerfile="some file", repo_url=None, nocache=False)

# requesting the image status and image id will poll the server
# if the id is still empty, or is the status is PENDING
# it will update id, state and output if the state is SUCCESS
# it will update state, error and output if the state is FAIL

while image.status == 'PENDING':
    sleep(1)

# creating a pipeline
# name: string
pipeline = client.create_pipeline("my_pipeline")

# creating a job
# command: string
# image: Image / int / string that is castable to int
# attachment: open file / path to a file (a list of these things also works when multiple files need to be uploaded)
# pipeline: Pipeline / int / string that is castable to int
job = client.create_job(command, image, attachments, pipeline)

# getting logs
# job: Job / int / string that is castable to int
# job_id: int / string that is castable to int
# you are able to get the logs trough the client
logs = client.get_job_logs(job)

# trough the job itself
# job_id: int / string that is castable to int
logs = job.get_logs()

# getting results
# job: Job / int / string that is castable to int
# trough the client
# will return None if the job has not yet started, is still running or has failed
result = client.get_job_results(job)

# trough the job itself
result = job.get_results()

Classes and Methods

Client:

  • register(user, password, email)

  • login(user, password)

  • create_image(name, dockerfile=None, repo_url=None, nocache=False) returns Image

  • create_pipeline(name) returns Pipeline

  • create_job(command, image, attachments, pipeline) returns Job

  • submit_pipeline(pipeline)

  • get_job_logs(job, log_id=None) returns Log

  • get_job_results(job, pipeline=None) returns None or ByteIO

  • load_image(self, eid) returns loaded Image

  • load_pipeline(self, eid) returns loaded Pipeline

  • load_job(self, eid, pipeline) returns loaded Job

Image:

  • classmethod:load(eid) returns loaded image

Pipeline:

  • submit()

  • classmethod:load(eid) returns loaded pipeline

Job:

  • get_logs(log_id=None) returns Log

  • get_results() returns None or ByteIO

  • classmethod:load(eid, pipeline) returns loaded job

Log:

  • readlines(raw=True) returns lines or (line_id, line) if raw is False

  • refresh()

Metadata

Release files for kabutopy 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kabutopy 1.0.0
File Size Uploaded
kabutopy-1.0.0.tar.gz 6.4 kB Details

Release files / kabutopy-1.0.0.tar.gz

Download URL kabutopy-1.0.0.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
519695f030bc57bfe5f4a6f0d7768dfb41ac81f0027d43d14264fef4854e11a4
BLAKE2b-256 checksum
How to use checksums
e58f9f8a55077cea0af18c3f2939616d35c17e460cc10a450d3f8ccdb1f7ac63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page