Unreleased changes
PlasmaPy v0.1.dev50+gfebbe7ad5 (2026-10-13)
New Features
Updated ionization energies from NIST. (#3244)
Added the
plasmapy.formulary.fusionmodule, which providesfusion_cross_sectionandfusion_reactivityfor evaluating fusion cross sections and Maxwellian-averaged reactivities for nine common fusion reactions, including deuterium–tritium, deuterium–deuterium, and deuterium–helium-3. Both quantities are computed from the Bosch–Hale Padé (rational-function) parametrization of the astrophysical S-function. For the reactions tabulated by Bosch and Hale [1992] the published coefficients are used, while for the remaining reactions the same functional form is fit to evaluated cross sections from the ENDF/B library. The module also providesavailable_cross_section_reactionsandavailable_reactivity_reactions, which return the reaction keys accepted by each function. (#3329)
Documentation Improvements
Updated documentation builds to use
sphinx>=9.1. (#3201)Fixed typos in
thomson.pyandmathematics.py. (#3226)Renamed the
trivialchangelog category tomiscto represent miscellaneous changes. (#3241)Added a section to the security policy to discuss access to project assets. (#3273)
Corrected and added a hyperlink to the reference for Bohm [1949]. (#3286)
Used the
rest-exampledirective fromsphinx-toolboxto de-duplicate reST examples in the documentation guide. (#3330)Added an example Jupyter notebook to the documentation gallery demonstrating how to compute fusion cross sections and reactivities with
fusion. (#3347)Removed
sphinx-codeautolinkas an extension to the documentation build. (#3355)Noted that contributions made with significant AI-generated content are currently unable to be accepted due to time constraints among code reviewers. (#3360)
Added a policy for AI based contributions and a pull request template. (#3373)
Added an Other Useful Projects page to the documentation. (#3375)
Deprecations and Planned Removals
Deprecated the internal
@plasmapy.utils.decorators.deprecation.deprecateddecorator in favor ofwarnings.deprecated, which was added to the standard library in Python 3.13. The internal@deprecateddecorator will be removed in a future release. (#3300)
Bug Fixes
Fixed float precision issue in rot_a_to_b where anti-parallel vectors were not correctly detected. (#3227)
Enabled
particle_input()andvalidate_quantities()to be used in either order when decorating an instance method. Previously,particle_input()had to be the outer decorator for instance methods (see #2035). (#3325)The charged-particle-radiography
Trackernow raises a clearValueErrorwhen the source or detector is located at the grid origin, or when the source and detector are placed on the same side of the origin, instead of silently constructing the simulation with undefined (NaN/inf) plane-normal geometry or a meaningless magnification (see #2077). (#3328)
Internal Changes and Refactorings
Added dependency groups for multiple Nox sessions. (#3238)
Added in-line comments to suppress existing static type checking reports issued by
ty. (#3240)Added a pre-commit hook for
bibtex-tidyto autoformatdocs/bibliography.bib. (#3280)Updated comments in GitHub workflow files to describe what each workflow does. (#3282)
Added
AGENTS.mdto provide instructions for AI coding assistants. (#3284)Enabled more ruff rules, including most of the
ANNrule set. (#3292)Reduced frequency of running comprehensive tests. (#3294)
Added a GitHub workflow to perform quarterly updates of the minimum allowed versions of dependencies. (#3362)
Expanded
AGENTS.mdwith guidance on units, particles, and their decorators. (#3388)
Updates to Software Testing
Switched from
mypytotyfor static type checking. (#3240)Updated the GitHub workflow that validates changelog entries to provide more diagnostic information. (#3241)
Replaced bare
assert np.isclose(...)andassert np.allclose(...)calls across 41 test files withnp.testing.assert_allclose(...), which produces informative failure messages showing actual vs. desired values and the tolerance used instead of a bareAssertionError. (#3327)