Kiso experiment manager
Project description
Kiso
Describe your experiment in a YAML file — Kiso handles provisioning, software setup, execution, and result collection.
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
pip install kiso
kiso check experiment.yml # validate your config
kiso up experiment.yml # provision resources and install software
kiso run experiment.yml # run the experiment
kiso down experiment.yml # tear down resources
See Getting Started for a complete walkthrough, or use the experiment template to scaffold a new experiment.
What's Supported
| Category | Options |
|---|---|
| Testbeds | Chameleon Cloud, Chameleon Edge, FABRIC, Vagrant |
| 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
- Getting Started — install Kiso and run your first experiment
- Concepts — understand sites, labels, software, deployments, and experiments
- Experiment Configuration — full YAML schema reference
- Example Experiments — real-world experiments built with Kiso
- Extending Kiso — add custom testbeds, software, and experiment types
- Full 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
- 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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kiso-0.1.0a10.tar.gz.
File metadata
- Download URL: kiso-0.1.0a10.tar.gz
- Upload date:
- Size: 84.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99e712838647b6f824990cd4ebe8c26520d49c2e5e0c706ae4e9be1a011211f8
|
|
| MD5 |
a1d5575310dfe2041595a2d47e879b3c
|
|
| BLAKE2b-256 |
8ad5e9086b59bcbaaa62f1ae6bd01788f6d6939c24ef40616a7e5b7d80e7c807
|
Provenance
The following attestation bundles were made for kiso-0.1.0a10.tar.gz:
Publisher:
release.yaml on pegasus-isi/kiso
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kiso-0.1.0a10.tar.gz -
Subject digest:
99e712838647b6f824990cd4ebe8c26520d49c2e5e0c706ae4e9be1a011211f8 - Sigstore transparency entry: 1108312123
- Sigstore integration time:
-
Permalink:
pegasus-isi/kiso@80a4be6572347a6dbfdb885d668ef0656c7b66c6 -
Branch / Tag:
refs/tags/v0.1.0a10 - Owner: https://github.com/pegasus-isi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@80a4be6572347a6dbfdb885d668ef0656c7b66c6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kiso-0.1.0a10-py3-none-any.whl.
File metadata
- Download URL: kiso-0.1.0a10-py3-none-any.whl
- Upload date:
- Size: 96.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c978a8c75ecd16261067be97ca3040f365df2773e9da0acf0a19756d78561b7
|
|
| MD5 |
3f4bd3e1ac1f7772c127330f391c4b22
|
|
| BLAKE2b-256 |
74f4111dd50480bd9ff8ba53025298b4289be95c65dff8e50f4460623c6798df
|
Provenance
The following attestation bundles were made for kiso-0.1.0a10-py3-none-any.whl:
Publisher:
release.yaml on pegasus-isi/kiso
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kiso-0.1.0a10-py3-none-any.whl -
Subject digest:
9c978a8c75ecd16261067be97ca3040f365df2773e9da0acf0a19756d78561b7 - Sigstore transparency entry: 1108312125
- Sigstore integration time:
-
Permalink:
pegasus-isi/kiso@80a4be6572347a6dbfdb885d668ef0656c7b66c6 -
Branch / Tag:
refs/tags/v0.1.0a10 - Owner: https://github.com/pegasus-isi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@80a4be6572347a6dbfdb885d668ef0656c7b66c6 -
Trigger Event:
push
-
Statement type: