Release Notes¶
This document contains the release notes for each version of PlasmaPy. A list of the changes for each version are included in the Change Log.
PlasmaPy uses semantic versioning. Version
numbers are of the form MAJOR.MINOR.PATCH
. Development releases have
MAJOR
equal to 0
. The application programming interface (API)
during the development phase is unstable and anything may change at
any time. Starting with version 1.0.0
, MAJOR
must be incremented
whenever the API changes in a way that is not backwards compatible,
MINOR
must be incremented whenever the API expands while maintaining
backwards compatibility, and PATCH
must be incremented for each bug
fix release.
Version 0.1.1¶
Version 0.1.1 is a minor release fixing a small
number of bugs and adding two
convenience features, plasmapy.online_help
and
plasmapy.__citation__
. For more information,
take a look at the
Version 0.1.1.
The people who have contributed to this release include
((!)
denoting first-time contributors):
- (!) Manas Bedmutha
- Julien Hillairet
- Pawel Kozlowski
- Stuart Mumford
- Nick Murphy
- Samuel Langendorf
- Drew Leonard
- David Stansby
- Dominik Stańczak
Version 0.1.0¶
We are excited to announce the first development release of PlasmaPy: a community-developed fully open source core Python package for plasma physics.
Version 0.1.0 is a preview and a prototype. It is not yet feature complete or recommended for production work. Significant changes to the API are expected to occur between versions 0.1.0 and 0.2.0. Rather, version 0.1.0 serves as an invitation to plasma students and scientists to collaboratively develop a community-wide shared software package for our field.
If you have a scientific Python 3.6+ environment already configured, you may install PlasmaPy with pip by running:
pip install plasmapy
We recommend installing PlasmaPy in an Anaconda environment. PlasmaPy’s GitHub repository contains more detailed installation instructions.
PlasmaPy uses Astropy’s units
subpackage to represent
physical quantities with units, and for compatibility with
Astropy and SunPy.
This subpackage handles unit conversions, and raises exceptions for
operations that have incompatible units. New users may wish to become
familiar with this functionality by reading Astropy’s units subpackage
documentation. An example
use case is:
>>> import astropy.units as u
>>> 88 * u.imperial.mi / u.hr
<Quantity 88. mi / h>
>>> (1.21e9 * u.J / u.s).to(u.GW)
<Quantity 1.21 GW>
PlasmaPy’s physics
subpackage contains functions to
calculate a wide variety of plasma parameters, dielectric tensor
components, and relativity/quantum physics parameters used in plasma
physics. The transport
module of
physics
contains functionality to calculate collision rates
and transport parameters (including an object-oriented interface to
classical transport coefficients). The atomic
subpackage
includes both functional and object-oriented interfaces to access atomic
parameters and represent particles. The mathematics
subpackage contains analytical functions that are commonly used in
plasma physics (including the plasma dispersion function). The
classes
subpackage includes prototype classes to represent
plasma configurations, including a particle pusher.
PlasmaPy requires Python 3.6+. The core developers chose to support Python 3.6+ because Python 2.7 will cease to be supported by most scientific Python packages within about a year, Python 3.6 will likely to be the oldest version of Python still in common use by the time we release PlasmaPy 1.0.0, and Python 3.6 contains new features such as formatted string literals that greatly improve readability.
If there is functionality that you would like future versions of PlasmaPy to include or if you discover a bug, we encourage you to raise an issue with your ideas or even contribute code directly.
The following resources provide more information on PlasmaPy, including how to contribute.
- PlasmaPy’s online documentation
- PlasmaPy’s GitHub repository
- A guide on Contributing to PlasmaPy
- Stability of Subpackages
- PlasmaPy’s Vision Statement
- PlasmaPy’s website
- PlasmaPy Community Code of Conduct
This release includes over 1800 commits and 178 merged pull requests, with contributions from 35 different people to the code base or the vision statement.
PlasmaPy’s Coordinating Committee includes:
- Drew Leonard
- Nick Murphy
- Tulasi Parashar
- Dominik Stańczak
The people who have contributed to this release include:
- Jasper Beckers
- Ludovico Bessi
- Sean Carroll
- Apoorv Choubey
- cclauss
- Leah Einhorn
- Thomas Fan
- Graham Goudeau
- Silvina Guidoni
- Colby Haggerty
- Julien Hillairet
- Poh Zi How
- Yi-Min Huang
- Nabil Humphrey
- Maria Isupova
- Pawel Kozlowski
- Siddharth Kulshrestha
- Piotr Kuszaj
- Samuel Langendorf
- Drew Leonard
- Ritiek Malhotra
- Stuart Mumford
- Joshua Munn
- Nick Murphy
- Nismirno
- nrb1324
- Tulasi Parashar
- Neil Patel
- Roberto Díaz Pérez
- Raajit Raj
- Dawa Nurbu Sherpa
- David Stansby
- Dominik Stańczak
- Antoine Tavant
- Sixue Xu