Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

logo-kiso

Kiso

Describe your experiment in a YAML file — Kiso handles provisioning, software setup, execution, and result collection.

Tests License Latest Python Versions PyPi Downloads Code Style Contributors Documentation

Why Kiso

Setting up experiments across cloud and edge testbeds typically means writing custom provisioning scripts, manually installing software on remote nodes, and stitching together execution logic for each new environment. This work is repetitive, error-prone, and hard to reproduce.

Kiso replaces that with a single declarative configuration file. The same experiment definition runs on Chameleon Cloud, FABRIC, or a local Vagrant VM — no changes to your experiment code required.

Quick Start

Install Kiso with the extra for your testbed:

pip install kiso[vagrant]    # local VMs — good for development
pip install kiso[fabric]     # FABRIC testbed
pip install kiso[chameleon]  # Chameleon Cloud and Chameleon Edge (same package, different OpenRC files)
pip install kiso[all]        # all testbeds

Then run your experiment:

# 1. Validate the config
kiso check experiment.yml

# 2. Provision and configure
kiso up experiment.yml

# 3. Run experiments
kiso run experiment.yml

# 4. Collect results, then tear down
kiso down experiment.yml

See the Your first experiment tutorial for a complete walkthrough, or use the experiment template to scaffold a new experiment.

What's Supported

Category Options
Testbeds Vagrant, FABRIC, Chameleon Cloud, Chameleon Edge
Software Docker, Apptainer, Ollama
Deployment HTCondor
Experiments Pegasus workflows, Shell scripts

New testbeds, software, and experiment types can be added as plugins via Python entry points. See Extending Kiso.

Documentation

Contributing

Contributions are welcome. To get started:

git clone https://github.com/pegasus-isi/kiso.git
cd kiso
pip install -e ".[all]"
pre-commit install

Please follow conventional commits for commit messages. Open an issue before submitting large changes.

References

  • Pegasus Workflow Management System — scientific workflow engine used to define and execute experiments in Kiso
  • EnOSlib — infrastructure management library that Kiso builds on for provisioning and remote execution
  • Chameleon Cloud — NSF-funded cloud testbed supported by Kiso; includes both bare-metal nodes (CHI@UC, CHI@TACC) and edge devices (CHI@Edge) under the same project allocation, each with its own OpenRC credentials file
  • FABRIC — nationwide programmable research infrastructure supported by Kiso
  • Vagrant — tool for managing local VMs; used by Kiso for local development without a cloud account
  • VirtualBox — virtualization platform used as the default Vagrant backend

Funding

Kiso is funded by the National Science Foundation (NSF) under award 2403051.

License

Apache 2.0 © Pegasus ISI

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiso-0.1.0b0.tar.gz (89.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kiso-0.1.0b0-py3-none-any.whl (104.8 kB view details)

Uploaded Python 3

File details

Details for the file kiso-0.1.0b0.tar.gz.

File metadata

  • Download URL: kiso-0.1.0b0.tar.gz
  • Upload date:
  • Size: 89.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kiso-0.1.0b0.tar.gz
Algorithm Hash digest
SHA256 e23f0b35b7f6a0f28100229a591b945242b9d2c21d2516d09456241fb712ad2c
MD5 9d81287c889ab667592ee6134a833b0d
BLAKE2b-256 81cad0f93eea249e0964cbc3bc896a963b1d8f9ae82adf7664e7117ba0aff333

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiso-0.1.0b0.tar.gz:

Publisher: release.yaml on pegasus-isi/kiso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kiso-0.1.0b0-py3-none-any.whl.

File metadata

  • Download URL: kiso-0.1.0b0-py3-none-any.whl
  • Upload date:
  • Size: 104.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kiso-0.1.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fd2ba3bd0c69122803e05a5de609e44b63c5340f1b15924983bc6b486b662db
MD5 3592288c57814d49d0eee7093b02e4ec
BLAKE2b-256 19460bebc111244e3038c8ecbf7f1747f8d031dcb2874ee67d72668a656ee47b

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiso-0.1.0b0-py3-none-any.whl:

Publisher: release.yaml on pegasus-isi/kiso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
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