> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sportsxapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Supported Python versions, optional extras, and platform notes.

## Install from PyPI

<CodeGroup>
  ```bash pip theme={null}
  pip install stx-python
  ```

  ```bash poetry theme={null}
  poetry add stx-python
  ```

  ```bash uv theme={null}
  uv add stx-python
  ```

  ```bash pipx (CLI use) theme={null}
  pipx install stx-python
  ```
</CodeGroup>

The wheel is pure-Python — no compiled extensions, no platform-specific wheels.

## Supported Python versions

| Python | Status                  |
| ------ | ----------------------- |
| 3.13   | Supported (CI)          |
| 3.12   | Supported (CI)          |
| 3.11   | Supported (CI)          |
| 3.10   | Best-effort (not in CI) |
| 3.9    | Supported (CI)          |
| ≤ 3.8  | Not supported           |

## Pre-release channel

`stx-python` is currently in **alpha** and lives on **TestPyPI**. `pip install stx-python` from the main PyPI index will fail until the first stable release — install from TestPyPI explicitly:

```bash theme={null}
pip install \
  --index-url https://test.pypi.org/simple/ \
  --extra-index-url https://pypi.org/simple/ \
  "stx-python>=0.5.0a1"
```

The `--extra-index-url` is required so pip can still resolve transitive dependencies (`gql`, `aiohttp`, etc.) that aren't mirrored to TestPyPI.

Once the first stable release ships to main PyPI, the install simplifies to:

```bash theme={null}
pip install stx-python
```

## Optional extras

None today.

## Verify

```bash theme={null}
python -c "import stx; print(stx.__version__)"
```

You should see `0.5.0a1` (or newer).

## Dependencies

The SDK pulls in the following at install time:

| Package                     | Why                                                                         |
| --------------------------- | --------------------------------------------------------------------------- |
| `gql[requests]>=3.4.0,<4.0` | GraphQL client (DSL + transport). Pinned below 4.0 — `dsl_gql` was removed. |
| `aiohttp>=3.9`              | Async HTTP transport for `AsyncSTX`.                                        |
| `websockets>=12.0`          | Phoenix channel transport for `STXWebSocket`.                               |
| `pydantic>=2.0`             | Typed payload models.                                                       |

No system packages required. If `pip install` succeeds, you're done.

## Editable install (contributing)

If you're working on the SDK itself:

```bash theme={null}
git clone git@github.com:stxapp/stx-python.git
cd stx-python
pip install -e ".[test]"
pytest
```

See [CONTRIBUTING.md](https://github.com/stxapp/stx-python/blob/main/CONTRIBUTING.md) for the full dev setup.

## Uninstalling

```bash theme={null}
pip uninstall stx-python
```

This leaves `~/.stx/` (credentials, schema cache) on disk. Delete it manually if you want a clean slate:

```bash theme={null}
rm -rf ~/.stx
```
