Plasmapy v0.3.0 (2020-01-25)
Backwards Incompatible Changes
Deprecations and Removals
- Remove
parameters_cython.pyx
, switching to Numba for the future of computationally intensive code in PlasmaPy (#650)
- Remove plasmapy.constants, which was a thin wrapper around astropy.constants
with no added value (#651)
Features
- Generalize
ion_sound_speed
function to work for all values of \(k^2 \lambda_{D}^2\) (i.e. not just in the non-dispersive limit). (#700)
- Optimize
add__magnetostatics
for a 16x speedup in tests! (#703)
Bug Fixes
- Define
preserve_signature
decorator to help IDEs parse signatures of decorated functions. (#640)
- Fix Pytest deprecations of
message
argument to raise
and warn
functions. (#666)
- Fix
h5py
warning in OpenPMD module, opening files in read mode by default (#717)
Improved Documentation
- Added real-world examples to examples/plot_physics.py and adjusted the plots to be more human-friendly. (#448)
- Add examples images to the top of the main doc page in
docsindex.rst
(#655)
- Added exampes to the documentation to mass_density
- and Hall_parameter functions (#709)
- Add docstrings to decorator
plasmapy.utils.decorators.converter.angular_freq_to_hz()
. (#729)
Trivial/Internal Changes
- Replace decorator
plasmapy.utils.decorators.checks.check_quantity()
with decorator
plasmapy.utils.decorators.validators.validate_quantities()
. Permanently delete decorator
check_quantity()
and its supporting code. For functions
plasmapy.formulary.quantum.chemical_potential()
and
plasmapy.formulary.quantum._chemical_potential_interp()
, add a RaiseNotImplementedError
due
to bug outlined in issue https://github.com/PlasmaPy/PlasmaPy/issues/726. Associated pytests
are marked with pytest.mark.xfails
and doctests are marked with doctests: +SKIP
. (#722)
- Add Towncrier automated changelog creation support (#643)
- Move existing “check” decorators to new
plasmapy.utils.decorators
module (#647)
- Allow running our sphinx-gallery examples as Jupyter notebooks via Binder (#656)
- Overhaul CI setup, following the example of SunPy (#657)
- Patch
sphinx_gallery.binder
to output custom links to Binder instance (#658)
- Remove the now unnecessary
astropy_helpers
submodule (#663)
- Followup PR to CI overhaul (#664)
- Add a Codemeta file (
codemeta.json
) (#676)
- Overhaul and simplify CI, add Python 3.8 to tests, bump minimal required package versions, fix docs. (#712)
- Update communication channels in docs (#715)
- Code style fixes to the
atomic
subpackage (#716)
- Clean up main package namespace, removing
plasmapy.test
(#718)
- Reduce precision of tests and doctests to allow for refinements of
fundamental constants. (#731)
- Create decorators for checking/validating values and units of function/method input
and return arguments. Defined decorators include
check_values()
,
check_units()
, and
validate_quantities()
. These decorators are
fully defined by “decorator classes” CheckBase
,
CheckValues
,
CheckUnits
, and
ValidateQuantities
. (#648)
- Create a decorator to change output of physics functions from “radians/s” to “hz” (#667)
- Added pytest.mark.slow to pytest markers.
Updated documentation to notify developers of functionality. (#677)