PlasmaPy v0.4.0 (2020-07-20)ο
This release of PlasmaPy contains 50 commits in 46 merged pull requests closing 25 issues from 9 people, 5 of which are first-time contributors to PlasmaPy.
The people who have contributed to the code for this release are:
Ankur Chattopadhyay *
Anthony Vo *
Diego Diaz
Dominik StaΕczak
Jakub Polak *
KhalilBryant *
Nick Murphy
Peter Heuer *
rocco8773
An asterisk indicates that this release contains their first contribution to PlasmaPy.
Backwards Incompatible Changesο
Renamed
plasmapy.atomictoparticles. Incollisionsandbraginskii, change arguments named particles tospeciesand arguments namedion_particletoionfor multiple functions. (#742)Officially deleted
plasmapy.examples. (#822)Moved
plasmapy.datatoplasmapy.particle.data. (#823)Renamed the
plasmapy.classessubpackage toplasmapy.plasma. (#842)
Featuresο
Added units to reprs of
formulary.magnetostaticsclasses. (#743)Created prototype abstract interfaces for plasma simulations (#753)
Created classes to represent custom and dimensionless particles in
plasmapy.particles. (#755)Created
relativistic_energy()function, which uses the establishedLorentz_factor()function to aid in the calculation of the relativistic energy of an object. (#805)Created
Reynolds_number()function. (#815)Created
Mag_Reynolds()function. (#820)Created
plasmapy.formulary.parameters.Bohm_diffusionfunction. (#830)Added a new diagnostics module
thomsoncontaining a functionspectral_densitythat calculates Thomson scattering spectra for Maxwellian plasmas in both the collective and non-collective regimes. As a followup to PR #835, set the minimal required Numpy version to 1.18.1 to finally fix unit dropping bugs. (#831)Revised
plasmapy.formulary.parameters.thermal_speedto support 1D and 2D distributions as well as 3D, and added an example notebook for this function. (#850)Created
plasmapy/formulary/ionization.pywith theplasmapy.formulary.ionization.Z_balfunction. (#851)Added aliases (with trailing underscores) for parameters in the formulary:
plasmapy.formulary.parameters.mass_densityβplasmapy.formulary.parameters.rho_plasmapy.formulary.parameters.Alfven_speedβplasmapy.formulary.parameters.va_plasmapy.formulary.parameters.ion_sound_speedβplasmapy.formulary.parameters.cs_plasmapy.formulary.parameters.thermal_speedβplasmapy.formulary.parameters.vth_plasmapy.formulary.parameters.thermal_pressureβplasmapy.formulary.parameters.pth_plasmapy.formulary.parameters.kappa_thermal_speedβplasmapy.formulary.parameters.vth_kappa_plasmapy.formulary.parameters.inertial_lengthβplasmapy.formulary.parameters.cwp_plasmapy.formulary.parameters.Hall_parameterβplasmapy.formulary.parameters.betaH_plasmapy.formulary.parameters.gyrofrequencyβplasmapy.formulary.parameters.oc_,plasmapy.formulary.parameters.wc_plasmapy.formulary.parameters.gyroradiusβplasmapy.formulary.parameters.rc_,plasmapy.formulary.parameters.rhoc_plasmapy.formulary.parameters.plasma_frequencyβplasmapy.formulary.parameters.wp_plasmapy.formulary.parameters.Debye_lengthβplasmapy.formulary.parameters.lambdaD_plasmapy.formulary.parameters.Debye_numberβplasmapy.formulary.parameters.nD_plasmapy.formulary.parameters.magnetic_pressureβplasmapy.formulary.parameters.pmag_plasmapy.formulary.parameters.magnetic_energy_densityβplasmapy.formulary.parameters.ub_plasmapy.formulary.parameters.upper_hybrid_frequencyβplasmapy.formulary.parameters.wuh_plasmapy.formulary.parameters.lower_hybrid_frequencyβplasmapy.formulary.parameters.wlh_plasmapy.formulary.parameters.Bohm_diffusionβplasmapy.formulary.parameters.DB_plasmapy.formulary.quantum.deBroglie_wavelengthβlambdaDB_plasmapy.formulary.quantum.thermal_deBroglie_wavelengthβlambdaDB_th_
Added
json_dumpsmethod toAbstractParticleto convert a particle object into a JSON string. Addedjson_dumpmethod toAbstractParticleto serialize a particle object and writes it to a file. Added JSON decoderParticleJSONDecoderto deserialize JSON objects into particle objects. Addedplasmapy.particles.serialization.json_loads_particlefunction to convert JSON strings to particle objects (usingParticleJSONDecoder). Addedplasmapy.particles.json_load_particlefunction to deserialize a JSON file into a particle object (usingParticleJSONDecoder). (#836)
Bug Fixesο
Fixed incorrect use of
pkg.resourceswhen definingplasmapy.__version__. Addsetuptoolsto package dependencies. Added a definition of__version__for developers using source files. (#774)Repaired notebook links that are defined in the
nbsphinx_prologsphinx configuration variable. (#828)Increased the required Astropy version from 3.1 to 4.0, Numpy from 1.14 to 1.16.6, Scipy from 0.19 to 1.2 and lmfit from 0.9.7 to 1.0.1. This fixes long-standing issues with Numpy operations dropping units from Astropy quantities. (#835)
Improved Documentationο
Added documentation to file test_converters (#756)
Updated installation instructions. (#772)
Reordered documentation page (#777)
Fixed failing documentation build due to duplicate docstrings for
ParticleTracker.kinetic_energy_historyand incompatibility ofsphinx-automodapiwithsphinxv3.0.0. (#780)Automated definition of documentation
releaseandversionindocs/conf.pywithplasmapy.__version__. (#781)Added a docstring to
__init__.pyinplasmapy.formulary. (#788)Replaced sphinx-gallery with nbsphinx, turning
.pyexample files into.ipynbfiles and allowing for easier example submission. (#792)Linked various instances of classes and functions in the
.ipynbexamples indocs/notebooks/to the respective API docs. (#825)Fixed a few documentation formatting errors. (#827)
Added notes on the PlasmaPy benchmarks repository to documentation. (#841)
Improved readability of the
plasmapy.formularypage by replacing thetoctreelist with a cleaner reStructuredText table. (#867)
Trivial/Internal Changesο
Removed mutable arguments from
Particle.is_categorymethod. (#751)Removed all occurrences of default mutable arguments (#754)
Handled
ModuleNotFoundErrorwhen trying to import__version__butsetuptools_scmhas not generated theversion.pyfile. This commonly happens during development whenplasmapyis not installed in the python environment. (#763)Updated pep8speaks/flake8 configuration and added
.pre-commit-config.yamlto simplify automated style checks during development. (#770)Removed some lint from
setup.pyandsetup.cfg. Usedpkg_resourcesfor version checking in code. Removedversion.pyfile in favor ofpkg_resources. (#771)Default settings for isort were set to be consistent with default settings for black. (#773)
Updated community meeting and funding information in docs. (#784)
Improved pull request template to include more information about changelog entries. (#843)
Added GitHub actions that apply pre-commit and flake8 (separately) to incoming pull requests. (#845)
Applied pre-commit hooks to entire repository. (#846)
Updated
CustomParticleso input parametersmassandchargecan accept string representations of astropyQuantities. (#862)