FAQ

Why not CPython?

Integrating CPython requires the use of cgo. This makes it difficult for the average user to integrate the xk6-python extension into k6. The integration of CPython also means a runtime dependency. It is not enough to install the k6 executable, the CPython runtime must also be installed.

The starlark-go() package is a pure go implementation of the Starlark python dialect. Its use does not require external dependencies, such as the installation of CPython. It doesn't even require the use of cgo. This enables the portability of the k6 executable binary and simplifies its use in the cloud.

Competing with JavaScript support?

No. Python language support complements k6 and its JavaScript language support. The target audience is different. The primary target audience is users biased towards the Python language.

Will Python become a first-class citizen?

No. At least not at first. The level of Python support depends on how large a group of users wants to use k6 in Python.

Users who are committed to the Python language prefer to write tests in Python. Even if fewer k6 features are available in Python than in JavaScript.

Competing with Python load testing tools?

No. It is not intended to compete with the load testing tools that provide the entire Python ecosystem. The goal is to make k6 available to those who want to write load tests in Python, but do not need the entire Python ecosystem. To be honest, a load test usually doesn't even need the entire ecosystem.

The goal is also that those users who use Grafana products can choose a Grafana tool for load testing, even if they prefer the Python programming language.