Affiliated packages are well-maintained, open source software packages that are useful to solar physicists and integrate well with the SunPy ecosystem. To aid discoverability, all affiliated packages are listed on the SunPy website, and the SunPy project tries to advertise them at national and international conferences and workshops.
sunpy core | The core package for solar physics in Python. Maintainer: The SunPy Project Version reviewed: v1.1.4 |
ndcube | Base package for multi-dimensional (non)contiguous coordinate-aware arrays. Maintainers: The SunPy Project Version reviewed: v1.3.2 |
drms | Provides search capability for the JSOC DRMS server which enables complex queries of HMI, AIA and MDI data. Maintainers: The SunPy Project Version reviewed: v0.5.7 |
sunraster | Package designed for reading, manipulating and visualizing data taken with slit spectrograph instruments. Maintainers: The SunPy Project Version reviewed: v0.1.2 |
sunkit-image | Open-source toolbox for solar physics image processing. Currently an experimental library. Maintainers: The SunPy Project Version reviewed: v0.1 |
aiapy | Package for analyzing data from the Atmospheric Imaging Assembly (AIA) instrument onboard NASA's Solar Dynamics Observatory spacecraft. Maintainers: Will Barnes, AIA Team @ LMSAL Version reviewed: v0.1.0 |
sunpy-soar | sunpy plugin for accessing data in the Solar Orbiter Archive (SOAR). Maintainers: The SunPy Project Version reviewed: v1.5 |
roentgen | Package for the quantitative analysis of the interaction of energetic x-rays with matter. Maintainer: Steven Christe, Shane Maloney, Daniel Ryan Version reviewed: v2.1 |
sunkit-instruments | Package for instrument-specific data structures and processing in the SunPy ecosystem. Maintainers: The SunPy Project Version reviewed: v0.3.1 |
demcmc | Package for differential emission measure (DEM) estimation using Monte Carlo Markov chain (MCMC) methods Maintainers: David Stansby Version reviewed: v1.1.0 |
dkist | A package which aims to help you search, obtain and use DKIST data as part of your Python software. Maintainers: DKIST Data Center Team & Stuart Mumford Version reviewed: v1.0.0b15 |
solarmach | The Solar MAgnetic Connection Haus (Solar-MACH) tool is a multi-spacecraft longitudinal configuration plotter. Maintainers: Jan Gieseler Version reviewed: v0.3.3 |
sunkit-magex | Magnetic Field Extrapolation package. Currently supports Potential Field Source Surface extrapolations. This is a successor to Maintainer: The SunPy Project Version reviewed: v1.0.0 |
xrtpy | XRTpy facilitates the analysis of observations from the X-Ray Telescope (XRT) aboard the Hinode spacecraft. Maintainer: Joy Velasquez, Nick Murphy, Jonathan Slavin Version reviewed: v0.4.1 |
irispy-lmsal | A Python package that provides the tools to read in and analyze data from the IRIS solar-observing satellite. Maintainer: IRIS Team @ LMSAL Version reviewed: v0.2.0 |
These packages are works in progress that do not yet meet the functionality criteria for an affiliated package, but are working towards it.
pyflct | A Python wrapper for Fourier Local Correlation Tracking. Documentation, Source code Maintainers: The SunPy Project Version reviewed: v0.2.1 |
radiospectra | This package provides support for some types of solar radio spectrograms (e.g. CALISTO, SWAVES). Documentation, Source code Maintainers: The SunPy Project Version reviewed: v0.3.0 |
These packages were previously listed as affiliated but have been de-listed at the request of their authors or as part of our regular re-review processes.
pfsspy | Potential Field Source Surface modelling package. This package has been superseded by sunkit-magex. Maintainer: David Stansby Version reviewed: v0.5.2 |
Each candidate package is reviewed by a reviewer independent of the package before it can be approved as an affiliated package.
Outcomes | Requirements |
---|---|
Accepted | Must have a
green score in the Functionality
criteria and at least one
other. They must also have no red scores. |
Provisional | After review a package is listed as provisional, as long as it is assessed to not have a red score in the "Functionality", "Duplication" or "Community" criteria and is working towards meeting the rest of the review criteria. |
Not accepted | A package does not currently satisfy the provisional rating. |
The review process for becoming an affiliated package is designed to be approachable, lightweight and open. Reviews are conducted in GitHub issues through the https://github.com/sunpy/sunpy.org repository, using the following process:
- If you're not sure whether to submit your package for the affiliated package review process, you can open an issue to informally discuss your package or contact the :ref:`role_affiliated-liaison` to discuss your package privately.
- Open a new issue with the issue template.
- The :ref:`role_affiliated-liaison` will identify a reviewer independent of your package.
- The reviewer evaluates the affiliated package against the review criteria.
- The reviewer adds their review as a comment to the issue.
- The submitting author has the right to ask for another review. In this case, the :ref:`role_affiliated-liaison` will identify a new independent reviewer. This new review will be added to the same issue.
- Based on the scores in each of the seven categories, the affiliated package is either accepted, given provisional status, or not accepted. In all three cases, this practically means closing the issue and ending the review process. In the last case, the reviewer provides the submitting author with feedback on how to meet the acceptance criteria with the intention of helping the submitting author achieve provisional or accepted status in the future.
- If the review passed the review criteria then the submitting author or the :ref:`role_affiliated-liaison` opens a pull request to add the package and its review results to the sunpy.org website, unless the submitting author withdraws the submission.
- The :ref:`role_affiliated-liaison` merges the pull request.
Existing affiliated packages will be reviewed once per year by the :ref:`role_affiliated-liaison` to ensure the review is current. Developers may challenge a new review, which then requires the liaison to get an independent reviewer to perform the review.
Existing provisional affiliated packages will be reviewed once per year by the :ref:`role_affiliated-liaison`. To pass they must not have a worse score and still be working towards meeting the rest of the review criteria.
Sections of this page are heavily inspired by the Astropy affiliated package review process.