# Installation with pipx

## Prerequisite

### Install supported Python version

{% hint style="info" %}
Our official Python support is 3.12, 3.13, and 3.14.
{% endhint %}

{% hint style="warning" %}
If none of the supported Python versions are available on your system, you will need to install one using `pyenv` . Otherwise, skip to the next section.
{% endhint %}

To install a specific Python version, first install [pyenv](https://github.com/pyenv/pyenv).

{% stepper %}
{% step %}
**Install specific Python version**

```bash
pyenv install 3.13.0
pyenv local 3.13.0
```

{% endstep %}

{% step %}
**Switch Python version**

```bash
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
```

{% endstep %}
{% endstepper %}

### Install pipx

To install [pipx](https://pipx.pypa.io/stable/), either follow the [official installation steps](https://pipx.pypa.io/stable/installation/) or run the following commands:

{% tabs %}
{% tab title="macOS" %}

```bash
brew install pipx
pipx ensurepath
source ~/.bashrc
```

{% endtab %}

{% tab title="Linux" %}

```bash
python3 -m pip install --user pipx
python3 -m pipx ensurepath
source ~/.bashrc
```

{% endtab %}
{% endtabs %}

## Install

To install the agent, run:

```bash
pipx install stoobly-agent --python python3
```

This will use pipx to download the agent from our [PyPI Python Package Index](https://pypi.org/project/stoobly-agent).

## Update

To update the agent, run:

```bash
pipx upgrade stoobly-agent
```

## Verify

```bash
stoobly-agent --help
```

## Next Steps

You're all setup! Depending on your use case, you may want to take a look at:

{% tabs %}
{% tab title="API Mocking" %}
{% content-ref url="../../guides/how-to-record-requests" %}
[how-to-record-requests](https://docs.stoobly.com/guides/how-to-record-requests)
{% endcontent-ref %}
{% endtab %}

{% tab title="E2E Testing" %}
{% content-ref url="../../guides/how-to-integrate-e2e-testing" %}
[how-to-integrate-e2e-testing](https://docs.stoobly.com/guides/how-to-integrate-e2e-testing)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}
