Core package utilities (plasmapy.utils)

Introduction

PlasmaPy.utils is where we store functionality that helps us write (what we try to think of as) clean, readable and informative code. This means:

  • the many kinds of warnings and exceptions you may (hopefully not!) encounter while working with PlasmaPy, such as plasmapy.utils.RelativityWarning or plasmapy.utils.PhysicsError.
  • decorators we use for reusable physical quantity computation and checking, such as plasmapy.utils.decorators.validate_quantities and plasmapy.utils.check_relativistic.
  • Some helper utilities for importing and testing packages such as plasmapy.utils.call_string.

Reference/API

plasmapy.utils.decorators Package

A module to contain various decorators used to build readable and useful code.

Functions

angular_freq_to_hz(fn) A decorator that adds to a function the ability to convert the function’s return from angular frequency (rad/s) to frequency (Hz).
check_relativistic([func, betafrac]) Warns or raises an exception when the output of the decorated function is greater than betafrac times the speed of light.
check_values([func]) A decorator to ‘check’ – limit/control – the values of input and return arguments to a function or method.
check_units([func]) A decorator to ‘check’ – limit/control – the units of input and return arguments to a function or method.
preserve_signature(f) A decorator for decorators, which preserves the signature of the function being wrapped.
validate_quantities([func, …]) A decorator to ‘validate’ – control and convert – the units and values of input and return arguments to a function or method.

Classes

CheckBase([checks_on_return]) Base class for ‘Check’ decorator classes.
CheckUnits(checks_on_return, …) A decorator class to ‘check’ – limit/control – the units of input and return arguments to a function or method.
CheckValues(checks_on_return, bool] = None, …) A decorator class to ‘check’ – limit/control – the values of input and return arguments to a function or method.
ValidateQuantities([validations_on_return]) A decorator class to ‘validate’ – control and convert – the units and values of input and return arguments to a function or method.

Class Inheritance Diagram

Inheritance diagram of plasmapy.utils.decorators.checks.CheckBase, plasmapy.utils.decorators.checks.CheckUnits, plasmapy.utils.decorators.checks.CheckValues, plasmapy.utils.decorators.validators.ValidateQuantities

plasmapy.utils.exceptions Module

Exceptions and warnings specific to PlasmaPy.

Classes

PlasmaPyError Base class of PlasmaPy custom errors.
PhysicsError The base exception for physics-related errors.
InvalidRomanNumeralError An exception to be raised when the input is not a valid Roman numeral.
OutOfRangeError An exception to be raised for integers that outside of the range that can be converted to Roman numerals.
RelativityError An exception for speeds greater than the speed of light.
RomanError A base exception for errors from roman.
PlasmaPyWarning Base class of PlasmaPy custom warnings.
CouplingWarning A warning for functions that rely on a particular coupling regime to be valid.
PhysicsWarning The base warning for warnings related to non-physical situations.
RelativityWarning A warning for when relativistic velocities are being used in or are returned by non-relativistic functionality.

Class Inheritance Diagram

Inheritance diagram of plasmapy.utils.exceptions.PlasmaPyError, plasmapy.utils.exceptions.PhysicsError, plasmapy.utils.exceptions.InvalidRomanNumeralError, plasmapy.utils.exceptions.OutOfRangeError, plasmapy.utils.exceptions.RelativityError, plasmapy.utils.exceptions.RomanError, plasmapy.utils.exceptions.PlasmaPyWarning, plasmapy.utils.exceptions.CouplingWarning, plasmapy.utils.exceptions.PhysicsWarning, plasmapy.utils.exceptions.RelativityWarning

plasmapy.utils.pytest_helpers Package

Functions

assert_can_handle_nparray(function_to_test) Test for ability to handle numpy array quantities.
run_test(func, args, kwargs, VT] = {}, …) Test that a function or class returns the expected result, raises the expected exception, or issues an expected warning for the supplied positional and keyword arguments.
run_test_equivalent_calls(*test_inputs, …) Test that different functions/inputs return equivalent results.

Classes

InconsistentTypeError Exception for when the type of the actual result differs from the type of the expected result.
IncorrectResultError Exception for when the actual result differs from the expected result by more than the allowed tolerance.
InvalidTestError Exception for when the inputs to a test are not valid.
MissingExceptionError Exception for when an expected exception is not raised.
MissingWarningError Exception for when a warning is expected to be issued, but isn’t.
RunTestError Base exception for test failures.
UnexpectedExceptionError Exception for when an exception is expected, but a different exception is raised instead.
UnexpectedResultError Exception for when the actual result differs from the expected result.

Class Inheritance Diagram

Inheritance diagram of plasmapy.utils.pytest_helpers.exceptions.InconsistentTypeError, plasmapy.utils.pytest_helpers.exceptions.IncorrectResultError, plasmapy.utils.pytest_helpers.exceptions.InvalidTestError, plasmapy.utils.pytest_helpers.exceptions.MissingExceptionError, plasmapy.utils.pytest_helpers.exceptions.MissingWarningError, plasmapy.utils.pytest_helpers.exceptions.RunTestError, plasmapy.utils.pytest_helpers.exceptions.UnexpectedExceptionError, plasmapy.utils.pytest_helpers.exceptions.UnexpectedResultError