The SunPy project maintains a range of packages that leverage the wider ecosystem of scientific Python packages for solar physics.

Installing Python

These instructions will set you up with miniforge, which makes it easy to install and manage Python packages.

To install the miniforge Python distribution follow the miniforge installation instructions.

This makes installing sunpy and many other packages in the scientific Python ecosystem much easier and quicker. It also provides many pre-compiled binaries that are not available on PyPI.

Installing a package

To install sunpy, launch a terminal (under a UNIX-like system) or miniforge Prompt (under Windows).

It is considered good practice to create a new virtual environment for each project you work on. Here are some instructions on setting up a conda virtual environment.

You will want to activate your virtual environment then run:

$ conda install sunpy

This will install sunpy and all of its dependencies.

You can replace sunpy in the above install command with other packages such as``sunkit-instruments`` to install them. For a list of some other Python packages for solar physics, see the SunPy Affiliated Packages list.


Please do not mix pip and conda to install packages within your environments. There are no guarantees that this will work and it is likely to cause problems.

Updating a package

You can update to the latest version of any package by running:

$ conda update <package_name>

Installing without conda

This is for installing sunpy within a Python distribution, where pip has been used to install packages. You will want to make sure you are using a Python virtual environment.

Once the environment active, to acquire a full sunpy installation:

$ pip install "sunpy[all]"


We strive to provide binary wheels for all of our packages. If you are using a Python distribution or operating system that is missing a binary wheel. pip will try to compile the package from source and this is likely to fail without a C compiler (e.g., gcc or clang). Getting the compiler either from your system package manager or XCode should address this.

If you have a reason to want a more minimal installation, you can install sunpy with no optional dependencies, however this means a lot of submodules will not import:

$ pip install "sunpy"

It is possible to select which “extra” dependencies you want to install, if you know you only need certain submodules:

$ pip install "sunpy[map,timeseries]"

The available options are: [asdf], [dask], [database], [image], [jpeg2000], [map], [net], [timeseries], [visualization].


If you get a PermissionError this means that you do not have the required administrative access to install new packages to your Python installation. Do not install sunpy or other Python packages using sudo. This error implies you have an incorrectly configured virtual environment or it is not activated.

If you want to develop sunpy we would strongly recommend reading the Newcomers’ Guide.