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

# Installation

> Install Jetxl and confirm it works

```bash theme={null}
pip install jetxl
```

Or with [uv](https://docs.astral.sh/uv/), which is faster and is what the project uses itself:

```bash theme={null}
uv pip install jetxl
```

## Requirements

<ParamField path="Python" type="3.10 or newer" required>
  Jetxl publishes wheels for CPython 3.10 and above.
</ParamField>

<ParamField path="Rust toolchain" type="not required">
  Wheels are prebuilt. You only need Rust if you're building from source.
</ParamField>

<ParamField path="DataFrame library" type="optional">
  Jetxl has no required DataFrame dependency. Install whichever you already use, whether Polars, Pandas or PyArrow, or use the dictionary functions with no extras at all.
</ParamField>

<Note>
  Calling `.to_arrow()` on a Polars or Pandas frame needs `pyarrow` installed alongside it.
</Note>

## Check the install

```python theme={null}
import polars as pl
import jetxl as jet

df = pl.DataFrame({"n": [1, 2, 3]})
jet.write_sheet_arrow(df.to_arrow(), "check.xlsx")
```

If `check.xlsx` opens in Excel with three rows under a header called `n`, you're set.

## Pinning

<Warning>
  Jetxl is pre-1.0 and describes itself as experimental. Parameter behavior may change between minor versions, so pin an exact version rather than a range:

  ```
  jetxl==0.3.1
  ```
</Warning>

Releases go to [PyPI](https://pypi.org/project/jetxl/), and the changelog lives with the [source](https://github.com/omarirfa/Jetxl).

## Which import name?

The package installs as `jetxl` and is conventionally imported short:

```python theme={null}
import jetxl as jet
```

Every example on this site uses `jet`. Plain `import jetxl` works identically.
