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.check_quantity and plasmapy.utils.check_relativistic.

  • Some helper utilities for importing and testing packages such as plasmapy.utils.call_string.

Reference/API

plasmapy.utils.checks Module

Functions

check_quantity(**validations)

Verify that the function’s arguments have correct units.

_check_quantity(arg, argname, funcname, units)

Raise an exception if an object is not a Quantity with correct units and valid numerical values.

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.

plasmapy.utils.exceptions Module

Exceptions and warnings specific to PlasmaPy.

Classes

CouplingWarning

A warning for functions that rely on a particular coupling regime to be valid.

PhysicsError

The base exception for physics-related errors.

PhysicsWarning

The base warning for physics related warnings.

PlasmaPyError

Base class of PlasmaPy custom errors.

PlasmaPyWarning

Base class of PlasmaPy custom warnings.

RelativityError

An exception for speeds greater than the speed of light.

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.CouplingWarning, plasmapy.utils.exceptions.PhysicsError, plasmapy.utils.exceptions.PhysicsWarning, plasmapy.utils.exceptions.PlasmaPyError, plasmapy.utils.exceptions.PlasmaPyWarning, plasmapy.utils.exceptions.RelativityError, plasmapy.utils.exceptions.RelativityWarning

plasmapy.utils.pytest_helpers Module

Test helper utilities.

Functions

call_string(f, args, kwargs, VT] = {}[, …])

Return a string with the equivalent call of a function.

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.

assert_can_handle_nparray(function_to_test)

Test for ability to handle numpy array quantities.

Classes

RunTestError

Base exception for test failures.

UnexpectedResultError

Exception for when the actual result differs from the expected result.

InconsistentTypeError

Exception for when the type of the actual result differs from the type of the expected result.

MissingExceptionError

Exception for when an expected exception is not raised.

UnexpectedResultError

Exception for when the actual result differs from the expected result.

MissingExceptionError

Exception for when an expected exception is not raised.

MissingWarningError

Exception for when a warning is expected to be issued, but isn’t.

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.

Class Inheritance Diagram

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