Installation

Speasy requires Python 3.10 or newer.

Stable release

We recommend installing Speasy inside a virtual environment, especially on recent Linux distributions where a plain pip install into the system Python fails with an externally-managed-environment error:

$ python3 -m venv .venv
$ source .venv/bin/activate

(Conda environments work just as well if you already use them.)

To install Speasy, run this command in your terminal:

$ python -m pip install speasy
# or
$ python -m pip install --user speasy

This is the preferred method to install Speasy, as it will always install the most recent stable release.

To reduce download sizes when fetching from the community cache server (zstd-compressed transfers), install the optional speasy[zstd] extra instead: python -m pip install "speasy[zstd]".

If you don’t have pip installed, this Python installation guide can guide you through the process.

Next, see the quickstart examples on the documentation home page to load your first product.

From sources

This section is for contributors or advanced users who want the development version.

The sources for Speasy can be downloaded from the Github repo.

You can either clone the public repository:

$ git clone https://github.com/SciQLop/speasy

Or download the tarball:

$ curl  -OL https://github.com/SciQLop/speasy/tarball/main

Once you have a copy of the source, you can install it with:

$ python -m pip install .

For a full development setup (editable install, test and documentation dependencies), see the contributing guide.

Troubleshooting

  • Your first get_data calls require internet access: Speasy contacts each provider’s server to build its data inventory, which can take a few moments on first contact. Later calls reuse the cached inventories.

  • If you are behind a corporate proxy or firewall, read the proxy sections of the configuration page — in particular, Speasy only honors the HTTP_PROXY environment variable (not HTTPS_PROXY).

  • You may see cache- or proxy-related warnings the first time you import Speasy; they are normal and Configuration explains how to adjust or silence them.