Installing PlasmaPy ☀️

Note

If you would like to contribute to PlasmaPy, please check out the Contributor Guide.

Installing Python

PlasmaPy requires a version of Python between 3.10 and 3.12. If you do not have Python installed already, here are the instructions to download Python and install it. 🐍

Tip

New versions of Python are released annually in October, and it can take a few months for the scientific Python ecosystem to catch up. If you have trouble installing plasmapy on the most recent Python version between October and March, then try installing it on the second most recent version.

Installing PlasmaPy with pip

To install the most recent release of plasmapy on PyPI with pip into an existing Python 3.10+ environment on macOS or Linux, open a terminal and run:

python -m pip install plasmapy

On some systems, it might be necessary to specify the Python version number by using python3, python3.8, python3.9, python3.10, or python3.11 instead of python.

To install PlasmaPy on Windows, run:

py -3.11 -m pip install plasmapy

The version of Python may be changed from 3.11 to another supported Python 3.10+ release that has been installed on your computer.

For more detailed information, please refer to this tutorial on installing packages.

Installing PlasmaPy with uv

uv is “an extremely fast Python package and project manager, written in Rust”. uv lets us create and switch between Python environments that are isolated from each other and the system’s Python installation. In addition, uv provides a pip drop-in interface for common pip commands so that Python packages on PyPI may be installed into uv-managed virtual environments without installing pip.

After installing uv, a virtual environment with Python version 3.12 can be created by opening a terminal and running:

uv venv --python 3.12

uv will automatically download Python and link it to the virtual environment’s directory at (by default) .venv. The environment can then be activated by running:

source .venv/bin/activate

Then, to install plasmapy into the activated environment, run:

uv pip install plasmapy

Installing PlasmaPy with Conda

Conda is a package management system and environment manager that is commonly used in the scientific Python ecosystem. Similar to uv, Conda is used to create and manage isolated virtual Python environments. However, Conda can also be used for packages written in languages other than Python.

After installing Conda or miniconda, plasmapy can be installed into an activated Conda environment by opening a terminal and running:

conda install -c conda-forge plasmapy

Here -c conda-forge indicates that plasmapy should be installed from the conda-forge channel.

To install plasmapy into another existing Conda environment, append -n env_name to the previous command, where env_name is replaced with the name of the environment.

To create a new environment with plasmapy installed in it, run:

conda create -n env_name -c conda-forge plasmapy

where env_name is replaced by the name of the environment. This step may take several minutes. To activate this environment, run:

conda activate env_name

To update plasmapy to the most recent version within a currently activated Conda environment, run:

conda update plasmapy

Tip

Creating a Conda environment can sometimes take a few minutes. If it takes longer than that, try updating to the newest version of Conda with conda update conda or checking out these tips for improving Conda performance.

Installing PlasmaPy with Anaconda Navigator

Note

This section contains instructions on how to install PlasmaPy with Anaconda Navigator at the time of writing. For the most up-to-date information, please go to the official documentation on installing Anaconda Navigator and getting started with Anaconda Navigator.

Anaconda Navigator is a graphical user interface (GUI) for Conda that can be used to install Python packages. It is installed automatically with newer versions of Conda. If you are using Miniconda or a different Conda environment, you can install it with conda install anaconda-navigator. After that it can be opened by entering anaconda-navigator in the terminal.

First, go to the Environments tab and select Channels. If conda-forge is not listed, then go to Add, enter https://conda.anaconda.org/conda-forge, and click on Update channels and then Update index.

Next, while on the Environments tab, select the environment that you would like to install plasmapy in. The default is generally base (root). Optionally, you may select Create to start a new environment. In the search bar, enter plasmapy. Click on the checkbox next to plasmapy, and select Apply to begin the installation process. It may take several minutes for Anaconda Navigator to solve package specifications.

To test the installation, click on the icon that should be present next to the activated environment, and select Open terminal. Enter python in the terminal, and then import plasmapy to make sure it works.

Installing PlasmaPy from source code

Obtaining official releases

A ZIP file containing the source code for official releases of plasmapy can be obtained from PyPI or from Zenodo.

Alternatively, official releases since 0.7.0 can be downloaded from the releases page on PlasmaPy’s GitHub repository.

Obtaining source code from GitHub

If you have git installed on your computer, you may clone PlasmaPy’s GitHub repository and access the source code from the most recent development version by running:

git clone https://github.com/PlasmaPy/PlasmaPy.git

The repository will be cloned inside a new subdirectory called PlasmaPy.

If you do not have git installed on your computer, then you may download the most recent source code from PlasmaPy’s GitHub repository by going to Code and selecting Download ZIP. Unzipping the file will create a subdirectory called PlasmaPy that contains the source code.

Building and installing

To install the downloaded version of plasmapy, enter the PlasmaPy directory and run:

pip install .

If you expect to occasionally edit the source code, instead run:

pip install -e ".[tests,docs]"

The -e flag makes the installation editable and [tests,docs] specifies that all of the additional dependencies used while testing the package should also be installed.

Note

If you noticed any places where the installation instructions could be improved or have become out of date, please create an issue on PlasmaPy’s GitHub repository. It would really help!

Tip

The Contributor Guide has instructions on how to fork a repository and create branches so that you may make contributions via pull requests.