PlasmaFactory
- class plasmapy.plasma.plasma_factory.PlasmaFactory(default_widget_type=None, additional_validation_functions=None, registry=None)[source]
Bases:
BasicRegistrationFactory
Plasma factory class. Used to create a variety of Plasma objects. Valid plasma structures are specified by registering them with the factory.
Attention
This functionality is under development. Backward incompatible changes might occur in future releases.
Methods Summary
__call__
(*args, **kwargs)Method for running the factory.
register
(WidgetType[, validation_function, ...])Register a widget with the factory.
unregister
(WidgetType)Remove a widget from the factory's registry.
Methods Documentation
- __call__(*args, **kwargs)
Method for running the factory.
Arguments args and kwargs are passed through to the validation function and to the constructor for the final type.
- register(WidgetType, validation_function=None, is_default: bool = False)
Register a widget with the factory.
If
validation_function
is not specified, testsWidgetType
for existence of any function in thevalidation_functions
attribute, which is a list of strings which must be callable class attributes.- Parameters:
WidgetType (
type
) – Widget to register.validation_function (function, optional) – Function to validate against. Defaults to
None
, which indicates that aclassmethod
in thevalidation_functions
attribute is used.is_default (
bool
, optional) – SetsWidgetType
to be the default widget.