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

💻 🎨 📖 🤔 📢

Elias Dorneles

💻 🐛

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.

Source Distribution

balto-0.1.4.tar.gz (2.5 MB view hashes)

Uploaded Source

Built Distribution

balto-0.1.4-py3-none-any.whl (11.0 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page