Skip to main content

BAlto is a Language independent Test Orchestrator

Project description

Logo of Balto BALTO

All Contributors

BAlto is a Language independent Test Orchestrator is an unique tool to drive all your test-runners with one common interface.


Install balto with pipx:

pipx install balto

You should see at the end of the command:

  These binaries are now globally available
    - balto
    - balto-curses
    - balto-server
done! ✨ 🌟 ✨

It is highly recommended to avoid installing Balto in either your global Python environment or a virtual environment as it might causes conflicts with some dependencies.


To use it, point balto to a directory containing a .balto.toml file:

balto tests/

The .balto.toml file should look like:

name = "Acceptance Test Suite Subprocess"
tool = "pytest"

If you just want to give Balto a try, you can use the --tool to indicate which tool you want to use. For example:

balto --tool pytest tests

The tool must be one of the supported one, you can see the list here:

You can test balto against examples for supported test runners. Clone this repository and launch balto against one of the examples directories. For pytest, launch:

balto examples/pytest/

For more help:

balto --help


Balto is composed of two components: the server and the web interface.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. Please report unacceptable behavior to


Balto-server is a Python 3.7 project using Asyncio. To build the development version, first create a virtualenv (or equivalent):

virtualenv .venv
source .venv/bin/activate

Install the project in development mode:

pip install -e .

Then start the server:

balto-server --debug examples/pytest/

The server will start on port 8889.

Web interface

The web interface is a React project communicating with the server using WebSockets. You can start developing on it with these instructions:

cd balto/web_interfaces/balto_react
yarn start

The web interface is then available on http://localhost:3000/ and will connect to the server started before.

Warning: the WebSocket doesn't auto-reconnect yet, sometimes your React modification requires you to reload your browser tab.


Thanks goes to these wonderful people (emoji key):

 Boris Feld
Boris Feld

💻 🎨 📖 🤔 📢
Elias Dorneles
Elias Dorneles

💻 🐛
Paul Morelle
Paul Morelle


This project follows the all-contributors specification. Contributions of any kind welcome!

Project details

Download files

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

Files for balto, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size balto-0.3.0-py3-none-any.whl (1.5 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size balto-0.3.0.tar.gz (1.5 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page