SunPy is an open-source Python library for Solar Physics data analysis and visualization. Our homepage SunPy has more information about the project.
For some examples of using SunPy see our gallery, to see the latest changes in SunPy see our Changelog.
The recommended way to install SunPy is with conda. To install SunPy once conda is installed run the following two commands:
$ conda config --append channels conda-forge
$ conda install sunpy
For detailed installation instructions, see the installation guide in the SunPy docs.
If you want to develop SunPy you will need to install from GitHub. The best way to do this is to create a new conda environment and install the git version of SunPy in it:
Warning
Do not clone the sunpy repository into $HOME/sunpy
. Depending on the operating system this location is used to store downloaded data files.
This will cause conflicts later on, so the last argument (sunpy-git
) on the git clone
line will become the local folder name of the cloned repository.
$ conda config --append channels conda-forge
$ conda create -n sunpy-dev sunpy
$ conda activate sunpy-dev
$ conda remove sunpy
$ git clone https://github.com/sunpy/sunpy.git sunpy-git
$ cd sunpy-git
$ pip install --no-use-pep517 -e .[all,dev]
For detailed installation instructions, see the Newcomers' guide in the SunPy docs.
Here is a quick example of plotting an AIA image:
>>> import sunpy.map
>>> from sunpy.data.sample import AIA_171_IMAGE
>>> aia = sunpy.map.Map(AIA_171_IMAGE)
>>> aia.peek()
For more information or to ask questions about SunPy, check out:
If you would like to get involved, start by joining the SunPy mailing list and check out the Developers Guide section of the SunPy docs. Stop by our chat room #sunpy:openastronomy.org if you have any questions. Help is always welcome so let us know what you like to work on, or check out the issues page for the list of known outstanding items.
For more information on contributing to SunPy, please read our Newcomers' guide.
When you are interacting with the SunPy community you are asked to follow our Code of Conduct.