client for the kabuto service
Project description
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()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file kabutopy-1.0.0.tar.gz
.
File metadata
- Download URL: kabutopy-1.0.0.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 519695f030bc57bfe5f4a6f0d7768dfb41ac81f0027d43d14264fef4854e11a4 |
|
MD5 | 745c35f0ec253d7d7477715f4dc6c799 |
|
BLAKE2b-256 | e58f9f8a55077cea0af18c3f2939616d35c17e460cc10a450d3f8ccdb1f7ac63 |