PlasmaPy v2023.1.0 (2023-01-13) =============================== Backwards Incompatible Changes ------------------------------ - Moved the charged particle radiography analysis codes into a new module `~plasmapy.diagnostics.charged_particle_radiography` containing synthetic radiography tools in `~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography` and detector stack calculation tools in `~plasmapy.diagnostics.charged_particle_radiography.detector_stacks`. (:pr:`1274`) - Changed the `~plasmapy.formulary.lengths.gyroradius` function so that it takes relativistic effects into account by default. (:pr:`1813`) Deprecations and Removals ------------------------- - Changed the `~plasmapy.formulary.lengths.gyroradius` function so it no longer accepts deprecated ``T_i``. (:pr:`1824`) - Removed ``plasmapy.formulary.parameters``, which was deprecated in the ``0.7.0`` release. The functionality in that module had previously been migrated to modules that are broken down by physical type, such as: `plasmapy.formulary.densities`, `plasmapy.formulary.dimensionless`, `plasmapy.formulary.frequencies`, `plasmapy.formulary.lengths`, `plasmapy.formulary.misc`, and `plasmapy.formulary.speeds`. (:pr:`1833`) - Deprecated providing a real number to the ``charge`` parameter of |CustomParticle| to represent the |charge number|. Use ``Z`` instead. (:pr:`1866`) Features -------- - Added the `~plasmapy.diagnostics.charged_particle_radiography.detector_stacks.Stack` and |Layer| objects to the `~plasmapy.diagnostics.charged_particle_radiography` module, which represent a stack of detector media layers. The `~plasmapy.diagnostics.charged_particle_radiography.detector_stacks.Stack.deposition_curves` and `~plasmapy.diagnostics.charged_particle_radiography.detector_stacks.Stack.energy_bands` methods of `~plasmapy.diagnostics.charged_particle_radiography.detector_stacks.Stack` calculate the particle energies deposited in each detector layer. (:pr:`1274`) - `~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography.Tracker` now supports multiple field grids, provided as an iterable. (:pr:`1799`) - Added the `plasmapy.analysis.time_series.running_moments` module including two functions for calculating running moments of time series. (:pr:`1803`) - Added ``lorentzfactor`` as an optional keyword-only argument to `~plasmapy.formulary.lengths.gyroradius`. Also added ``relativistic`` as an optional keyword-only argument which can be set to `False` for the non-relativistic approximation. (:pr:`1813`) - Modified |Particle| attributes to return |nan| in the appropriate units when undefined rather than raising exceptions. (:pr:`1825`) - Added the `~plasmapy.particles.particle_class.CustomParticle.charge_number` attribute to |CustomParticle|. (:pr:`1866`) - Added ``Z`` as a |keyword-only| |parameter| representing the |charge number| to |CustomParticle|. (:pr:`1866`) Improved Documentation ---------------------- - Updated docstrings and annotations in `plasmapy.diagnostics.thomson`. (:pr:`1756`) - Updated the discussion on type descriptions and parameter descriptions for docstrings in the |documentation guide|. (:pr:`1757`) - Updated troubleshooting sections of the |documentation guide|. (:pr:`1817`) - Added a summary section to the |testing guide|. (:pr:`1823`) - Updated the |changelog guide|. (:pr:`1826`) - Reorganized the |coding guide|. (:pr:`1856`) - Added a documentation page on performance tips. (:pr:`1887`) Trivial/Internal Changes ------------------------ - Updated warning messages in `~plasmapy.formulary.collisions.coulomb.Coulomb_logarithm`. (:pr:`1586`) - Transferred most of the contents of :file:`setup.py` and :file:`setup.cfg` to :file:`pyproject.toml` (see :pep:`518` and :pep:`621`). Simplified ``extras`` requirements (``pip install plasmapy[all]`` and ``[extras]`` are gone). (:pr:`1758`) - Added `blacken-docs `__ to the |pre-commit| configuration. (:pr:`1807`) - Removed ``pytest-xdist`` from the testing requirements. (:pr:`1822`; see also :issue:`750`) - Refactored tests of `~plasmapy.formulary.relativity.Lorentz_factor` and `~plasmapy.formulary.relativity.relativistic_energy`. (:pr:`1844`) - Applied refactorings from |ruff| and ``refurb`` to `plasmapy.utils`. (:pr:`1845`) - Applied changes from ``refurb`` to `plasmapy.particles`. (:pr:`1846`) - Applied changes from ``refurb`` to `plasmapy.formulary`. (:pr:`1847`) - Apply changes from |ruff| and ``refurb`` to `plasmapy.analysis`, `plasmapy.diagnostics`, `plasmapy.dispersion`, and `plasmapy.plasma`. (:pr:`1853`) - Added |ruff| to the ``pre-commit`` configuration. (:pr:`1854`) - Added the ``strict`` and ``allowed_physical_types`` parameters to ``plasmapy.utils._units_helpers._get_physical_type_dict``. (:pr:`1880`) - Added a private constructor method to |CustomParticle| with an API that is better suited for use in |ParticleList| and the particle factory function used by |particle_input|. (:pr:`1881`) - Dropped the dependency on ``cached-property`` in favor of `functools.cached_property`. (:pr:`1886`)