PlasmaPy v0.5.0 (2020-12-09)

This release of PlasmaPy contains 58 commits in 31 merged pull requests closing 16 issues from 8 people, 4 of which are first-time contributors to PlasmaPy.

The people who have contributed to the code for this release are:

  • Dominik Stańczak

  • Nick Murphy

  • Peter Heuer

  • Ramiz Qudsi *

  • Steve Richardson *

  • Tiger D *

    1. Cody Skinner *

  • rocco8773

Where a * indicates their first contribution to PlasmaPy.

Backwards Incompatible Changes

  • Created plasmapy.dispersion in accordance with PlasmaPy Enhancement Proposal 7 (PLEP 7) and migrated the dispersion functionality (dispersionfunction.py) from plasmapy.formulary to plasmapy.dispersion. (#910)

  • Removed default values for the ion and particle arguments of functions contained in plasmapy.formulary.parameters, in accordance with issue [#453](https://github.com/PlasmaPy/PlasmaPy/issues/453), and updated all relevant calls to modified functionality. (#911)

  • Moved test helper exceptions from plasmapy.utils.pytest_helpers to plasmapy.tests.helpers. (#919)

  • Updated plasmapy.formulary.parameters.mass_density so it calculates the mass density for a specific particle from a given number density. Original function calculated the total mass density (ion + electron). (#957)

Features

  • Added a function to calculate the power spectrum of thermal bremsstrahlung emitted by a Maxwellian plasma. (#892)

  • Added support for multiple electron components to diagnostics.thomson.spectral_density. Also fixed a bug for multiple ion populations. (#893)

  • Add dependency pygments >= 2.4.1. (#898)

  • Create the plasmapy.analysis package as per PLEP-7 and initialize the package with the fit_functions module. Fit functions are designed to wrap together an analytical function, a curve fitter, uncertainty propagation, and a root solver to make curve fitting a little less painful. (#908)

  • Created a new subpackage, plasmapy.tests.helpers, to contain test helper functionality. (#919)

  • Create decorator modify_docstring, which allows for programmatically prepending and/or appending a docstring. (#943)

Bug Fixes

  • Allowed implicit conversions of AstroPy units in inputs and outputs of validated functions to happen without warnings. Most notably, this removes warnings on eV inputs to temperature fields. (#886)

  • Updated plasmapy.formulary.parameters.Alfven_speed to properly use the updated plasmapy.formulary.parameters.mass_density and maintain the same behavior. Also add handling of the ion input keyword, so Particle and the Particle convertible representations can be used as inputs. (#957)

Improved Documentation

  • Improved the release guide after the release of 0.4.0. (#872)

  • Add various improvements to the documentation.
    • Replace home link with the plasmapy logo.

    • Add module and index navigation links to sidebar header.

    • Replace raw html on the main page that simulates a nbgallery with a real nbgallery directive.

    • Move link to view page source code from the header to footer.

    • Add link to footer the jumps the user back to the top of the page.

    • Create and add custom CSS stylesheet.

    • Create _templates directory and templates to customize page elements. (#875)

  • Add static stub files to docs/api_static so all modules of plasmapy are indexed. This is necessary to expose all of plasmapy since not all modules are indexed in the narrative documentation. (#878)

  • Decompose sub-package plasmapy/utils/roman/ into the plasmapy/utils/roman.py file. Move definition of roman specific exceptions into plasmapy.utils.exceptions. (#883)

  • Replaced references to Riot.im with references to Element.io or Matrix, as appropriate, following their recent rebranding. (#891)

  • Update the information on how to cite PlasmaPy, including in the release guide. (#900)

Trivial/Internal Changes

  • Apply isort to entire codebase, bringing it back to the pre-commit hook suite. (#857)

  • Expand package metadata contained in codemeta.json, following the CodeMeta standard. (#902)

  • Changed remaining instances of @u.quantity_input to @validate_quantities in response to issue #880. (#905)

  • Switched from Azure Pipelines to GitHub Actions for PR tests to make things easier for contributors. Moved away from Travis CI for test cron jobs. (#952)