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 *
- Cody Skinner *
- rocco8773
Where a * indicates their first contribution to PlasmaPy.
- 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
andparticle
arguments of functions contained in plasmapy.formulary.parameters, in accordance with issue [#453](#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)
- 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 ~plasmapy.analysis.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 ~plasmapy.utils.decorators.helpers.modify_docstring, which allows for programmatically prepending and/or appending a docstring. (#943)
- 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 updatedplasmapy.formulary.parameters.mass_density
and maintain the same behavior. Also add handling of theion
input keyword, so ~plasmapy.particles.particle_class.Particle and the ~plasmapy.particles.particle_class.Particle convertible representations can be used as inputs. (#957)
- 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 realnbgallery
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 theplasmapy/utils/roman.py
file. Move definition ofroman
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)
- 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)