PlasmaPy v2024.10.0 (2024-10-30)๏ƒ

New Features๏ƒ

  • Added the option to pass inf to the ionize method of Particle to return the nucleus of the particle. (#2800)

  • Implemented CFL_limit_electromagnetic_yee to calculate the CFL condition for electromagnetic simulations. (#2832)

  • synthetic_radiograph now accepts a file path to an HDF5 file saved by Tracker as input to create a synthetic radiograph. (#2868)

  • Save routines in save_routines now take an optional keyword argument output_basename that sets the basename of the saved file(s). Tracker now also accepts an output_basename keyword, which is passed to the save routine. (#2868)

Documentation Improvements๏ƒ

Backwards Incompatible Changes๏ƒ

  • Removed the optical_density keyword argument in synthetic_radiography. (#2843)

  • The property recognized_quantities of AbstractGrid is now a class method instead of a class property, as using classmethod and property decorators together is no longer allowed in Python 3.13. The syntax for accessing this dictionary has therefore changed from AbstractGrid.recognized_quantities to AbstractGrid.recognized_quantities(). (#2871)

Bug Fixes๏ƒ

  • Patched a bug in synthetic_radiography in which particles stopped before the detector were still included in synthetic radiographs. (#2843)

Internal Changes and Refactorings๏ƒ

  • Updated the release checklist. (#2784)

  • Added a Nox session to verify that the pinned requirements files used in continuous integration tests are consistent with the requirements in pyproject.toml. (#2794)

  • Fixed a bug in the Nox session for running tests that prevented doctests from being run, and fixed doctest errors that were introduced while doctests were not enabled. (#2834)

  • Removed Numba as a project dependency. Consequently, plasma_frequency_lite and thermal_speed_lite are no longer just-in-time compiled by Numba. (#2841)

  • Adjusted the Sphinx configuration to account for recent deprecations in Read the Docs. (#2857)

  • Added testing support for Python 3.13. (#2869)

  • Updated the versions of Python used in continuous integration workflows. (#2879)

Additional Changes๏ƒ

  • Tentatively reverted #2715 because it introduced doctest errors during a time when doctests were not enabled. (#2834)