aiida.cmdline.params.types package¶
Provides all parameter types.
-
class
aiida.cmdline.params.types.
LazyChoice
(get_choices)[source]¶ Bases:
click.types.ParamType
This is a delegate of click’s Choice ParamType that evaluates the set of choices lazily. This is useful if the choices set requires an import that is slow. Using the vanilla click.Choice will call this on import which will slow down verdi and its autocomplete. This type will generate the choices set lazily through the choices property
-
__module__
= 'aiida.cmdline.params.types.choice'¶
-
property
_click_choice
¶ Get the internal click Choice object that we delegate functionality to. Will construct it lazily if necessary.
- Returns
The click Choice
- Return type
-
property
choices
¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
get_missing_message
(param)[source]¶ Optionally might return extra information about a missing parameter.
New in version 2.0.
-
name
= 'choice'¶
-
-
class
aiida.cmdline.params.types.
IdentifierParamType
(sub_classes=None)[source]¶ Bases:
click.types.ParamType
,abc.ABC
An extension of click.ParamType for a generic identifier parameter. In AiiDA, orm entities can often be identified by either their ID, UUID or optionally some LABEL identifier. This parameter type implements the convert method, which attempts to convert a value passed to the command for a parameter with this type, to an orm entity. The actual loading of the entity is delegated to the orm class loader. Subclasses of this parameter type should implement the orm_class_loader method to return the appropriate orm class loader, which should be a subclass of aiida.orm.utils.loaders.OrmEntityLoader for the corresponding orm class.
-
__abstractmethods__
= frozenset({'orm_class_loader'})¶
-
__init__
(sub_classes=None)[source]¶ Construct the parameter type, optionally specifying a tuple of entry points that reference classes that should be a sub class of the base orm class of the orm class loader. The classes pointed to by these entry points will be passed to the OrmEntityLoader when converting an identifier and they will restrict the query set by demanding that the class of the corresponding entity matches these sub classes.
To prevent having to load the database environment at import time, the actual loading of the entry points is deferred until the call to convert is made. This is to keep the command line autocompletion light and responsive. The entry point strings will be validated, however, to see if the correspond to known entry points.
- Parameters
sub_classes – a tuple of entry point strings that can narrow the set of orm classes that values will be mapped upon. These classes have to be strict sub classes of the base orm class defined by the orm class loader
-
__module__
= 'aiida.cmdline.params.types.identifier'¶
-
_abc_impl
= <_abc_data object>¶
-
convert
(value, param, ctx)[source]¶ Attempt to convert the given value to an instance of the orm class using the orm class loader.
- Returns
the loaded orm entity
- Raises
click.BadParameter – if the value is ambiguous and leads to multiple entities
click.BadParameter – if the value cannot be mapped onto any existing instance
RuntimeError – if the defined orm class loader is not a subclass of the OrmEntityLoader class
-
abstract property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
CalculationParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Calculation entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.calculation'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Calculation'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
CodeParamType
(sub_classes=None, entry_point=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Code entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__init__
(sub_classes=None, entry_point=None)[source]¶ Construct the param type
- Parameters
sub_classes – specify a tuple of Code sub classes to narrow the query set
entry_point – specify an optional calculation entry point that the Code’s input plugin should match
-
__module__
= 'aiida.cmdline.params.types.code'¶
-
_abc_impl
= <_abc_data object>¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value.
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
convert
(value, param, ctx)[source]¶ Attempt to convert the given value to an instance of the orm class using the orm class loader.
- Returns
the loaded orm entity
- Raises
click.BadParameter – if the value is ambiguous and leads to multiple entities
click.BadParameter – if the value cannot be mapped onto any existing instance
RuntimeError – if the defined orm class loader is not a subclass of the OrmEntityLoader class
-
name
= 'Code'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
ComputerParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Computer entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.computer'¶
-
_abc_impl
= <_abc_data object>¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value.
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'Computer'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
ConfigOptionParamType
[source]¶ Bases:
click.types.StringParamType
ParamType for configuration options.
-
__module__
= 'aiida.cmdline.params.types.config'¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'config option'¶
-
-
class
aiida.cmdline.params.types.
DataParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Data entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.data'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Data'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
GroupParamType
(create_if_not_exist=False, sub_classes=('aiida.groups:core', ))[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Group entities or its subclasses.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(create_if_not_exist=False, sub_classes=('aiida.groups:core', ))[source]¶ Construct the parameter type.
The sub_classes argument can be used to narrow the set of subclasses of Group that should be matched. By default all subclasses of Group will be matched, otherwise it is restricted to the subclasses that correspond to the entry point names in the tuple of sub_classes.
To prevent having to load the database environment at import time, the actual loading of the entry points is deferred until the call to convert is made. This is to keep the command line autocompletion light and responsive. The entry point strings will be validated, however, to see if they correspond to known entry points.
- Parameters
create_if_not_exist – boolean, if True, will create the group if it does not yet exist. By default the group created will be of class Group, unless another subclass is specified through sub_classes. Note that in this case, only a single entry point name can be specified
sub_classes – a tuple of entry point strings from the aiida.groups entry point group.
-
__module__
= 'aiida.cmdline.params.types.group'¶
-
_abc_impl
= <_abc_data object>¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value.
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'Group'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader.
This class is supposed to be used to load the entity for a given identifier.
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
NodeParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Node entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.node'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Node'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
MpirunCommandParamType
[source]¶ Bases:
click.types.StringParamType
Custom click param type for mpirun-command
Note
requires also a scheduler to be provided, and the scheduler must be called first!
Validate that the provided ‘mpirun’ command only contains replacement fields (e.g.
{tot_num_mpiprocs}
) that are known.Return a list of arguments (by using ‘value.strip().split(” “) on the input string)
-
__module__
= 'aiida.cmdline.params.types.computer'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'mpiruncommandstring'¶
-
-
class
aiida.cmdline.params.types.
MultipleValueParamType
(param_type)[source]¶ Bases:
click.types.ParamType
An extension of click.ParamType that can parse multiple values for a given ParamType
-
__module__
= 'aiida.cmdline.params.types.multiple'¶
-
-
class
aiida.cmdline.params.types.
NonEmptyStringParamType
[source]¶ Bases:
click.types.StringParamType
Parameter whose values have to be string and non-empty.
-
__module__
= 'aiida.cmdline.params.types.strings'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'nonemptystring'¶
-
-
class
aiida.cmdline.params.types.
PluginParamType
(group=None, load=False, *args, **kwargs)[source]¶ Bases:
aiida.cmdline.params.types.strings.EntryPointType
AiiDA Plugin name parameter type.
- Parameters
group – string or tuple of strings, where each is a valid entry point group. Adding the aiida. prefix is optional. If it is not detected it will be prepended internally.
load – when set to True, convert will not return the entry point, but the loaded entry point
Usage:
click.option(... type=PluginParamType(group='aiida.calculations')
or:
click.option(... type=PluginParamType(group=('calculations', 'data'))
-
__init__
(group=None, load=False, *args, **kwargs)[source]¶ Validate that group is either a string or a tuple of valid entry point groups, or if it is not specified use the tuple of all recognized entry point groups.
-
__module__
= 'aiida.cmdline.params.types.plugin'¶
-
_init_entry_points
()[source]¶ Populate entry point information that will be used later on. This should only be called once in the constructor after setting self.groups because the groups should not be changed after instantiation
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
convert
(value, param, ctx)[source]¶ Convert the string value to an entry point instance, if the value can be successfully parsed into an actual entry point. Will raise click.BadParameter if validation fails.
-
get_entry_point_from_string
(entry_point_string)[source]¶ Validate a given entry point string, which means that it should have a valid entry point string format and that the entry point unambiguously corresponds to an entry point in the groups configured for this instance of PluginParameterType.
- Returns
the entry point if valid
- Raises
ValueError if the entry point string is invalid
-
get_missing_message
(param)[source]¶ Optionally might return extra information about a missing parameter.
New in version 2.0.
-
get_valid_arguments
()[source]¶ Return a list of all available plugins for the groups configured for this PluginParamType instance. If the entry point names are not unique, because there are multiple groups that contain an entry point that has an identical name, we need to prefix the names with the full group name
- Returns
list of valid entry point strings
-
property
groups
¶
-
property
has_potential_ambiguity
¶ Returns whether the set of supported entry point groups can lead to ambiguity when only an entry point name is specified. This will happen if one ore more groups share an entry point with a common name
-
name
= 'plugin'¶
-
class
aiida.cmdline.params.types.
AbsolutePathParamType
(exists=False, file_okay=True, dir_okay=True, writable=False, readable=True, resolve_path=False, allow_dash=False, path_type=None)[source]¶ Bases:
click.types.Path
The ParamType for identifying absolute Paths (derived from click.Path).
-
__module__
= 'aiida.cmdline.params.types.path'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'AbsolutePath'¶
-
-
class
aiida.cmdline.params.types.
ShebangParamType
[source]¶ Bases:
click.types.StringParamType
Custom click param type for shebang line
-
__module__
= 'aiida.cmdline.params.types.computer'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'shebangline'¶
-
-
class
aiida.cmdline.params.types.
UserParamType
(create=False)[source]¶ Bases:
click.types.ParamType
The user parameter type for click. Can get or create a user.
-
__init__
(create=False)[source]¶ - Parameters
create – If the user does not exist, create a new instance (unstored).
-
__module__
= 'aiida.cmdline.params.types.user'¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'user'¶
-
-
class
aiida.cmdline.params.types.
TestModuleParamType
[source]¶ Bases:
click.types.ParamType
Parameter type to represent a unittest module.
Defunct - remove when removing the “verdi devel tests” command.
-
__module__
= 'aiida.cmdline.params.types.test_module'¶
-
name
= 'test module'¶
-
-
class
aiida.cmdline.params.types.
ProfileParamType
(*args, **kwargs)[source]¶ Bases:
aiida.cmdline.params.types.strings.LabelStringType
The profile parameter type for click.
-
__module__
= 'aiida.cmdline.params.types.profile'¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'profile'¶
-
-
class
aiida.cmdline.params.types.
WorkflowParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying WorkflowNode entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.workflow'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'WorkflowNode'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
ProcessParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying ProcessNode entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.process'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Process'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.
ImportPath
(timeout_seconds=10, **kwargs)[source]¶ Bases:
click.types.Path
AiiDA extension of Click’s Path-type to include URLs An ImportPath can either be a click.Path-type or a URL.
- Parameters
timeout_seconds – Timeout time in seconds that a URL response is expected.
- Value timeout_seconds
Must be an int in the range [0;60], extrema included. If an int outside the range [0;60] is given, the value will be set to the respective extremum value. If any other type than int is given a TypeError will be raised.
-
__init__
(timeout_seconds=10, **kwargs)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
__module__
= 'aiida.cmdline.params.types.path'¶
-
convert
(value, param, ctx)[source]¶ Overwrite convert Check first if click.Path-type, then check if URL.
-
property
timeout_seconds
¶
Submodules¶
Module for the calculation parameter type
-
class
aiida.cmdline.params.types.calculation.
CalculationParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Calculation entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.calculation'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Calculation'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
A custom click type that defines a lazy choice
-
class
aiida.cmdline.params.types.choice.
LazyChoice
(get_choices)[source]¶ Bases:
click.types.ParamType
This is a delegate of click’s Choice ParamType that evaluates the set of choices lazily. This is useful if the choices set requires an import that is slow. Using the vanilla click.Choice will call this on import which will slow down verdi and its autocomplete. This type will generate the choices set lazily through the choices property
-
__module__
= 'aiida.cmdline.params.types.choice'¶
-
property
_click_choice
¶ Get the internal click Choice object that we delegate functionality to. Will construct it lazily if necessary.
- Returns
The click Choice
- Return type
-
property
choices
¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
get_missing_message
(param)[source]¶ Optionally might return extra information about a missing parameter.
New in version 2.0.
-
name
= 'choice'¶
-
Module to define the custom click type for code.
-
class
aiida.cmdline.params.types.code.
CodeParamType
(sub_classes=None, entry_point=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Code entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__init__
(sub_classes=None, entry_point=None)[source]¶ Construct the param type
- Parameters
sub_classes – specify a tuple of Code sub classes to narrow the query set
entry_point – specify an optional calculation entry point that the Code’s input plugin should match
-
__module__
= 'aiida.cmdline.params.types.code'¶
-
_abc_impl
= <_abc_data object>¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value.
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
convert
(value, param, ctx)[source]¶ Attempt to convert the given value to an instance of the orm class using the orm class loader.
- Returns
the loaded orm entity
- Raises
click.BadParameter – if the value is ambiguous and leads to multiple entities
click.BadParameter – if the value cannot be mapped onto any existing instance
RuntimeError – if the defined orm class loader is not a subclass of the OrmEntityLoader class
-
name
= 'Code'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
Module for the custom click param type computer
-
class
aiida.cmdline.params.types.computer.
ComputerParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Computer entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.computer'¶
-
_abc_impl
= <_abc_data object>¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value.
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'Computer'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
-
class
aiida.cmdline.params.types.computer.
MpirunCommandParamType
[source]¶ Bases:
click.types.StringParamType
Custom click param type for mpirun-command
Note
requires also a scheduler to be provided, and the scheduler must be called first!
Validate that the provided ‘mpirun’ command only contains replacement fields (e.g.
{tot_num_mpiprocs}
) that are known.Return a list of arguments (by using ‘value.strip().split(” “) on the input string)
-
__module__
= 'aiida.cmdline.params.types.computer'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'mpiruncommandstring'¶
-
-
class
aiida.cmdline.params.types.computer.
ShebangParamType
[source]¶ Bases:
click.types.StringParamType
Custom click param type for shebang line
-
__module__
= 'aiida.cmdline.params.types.computer'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'shebangline'¶
-
Module to define the custom click type for code.
-
class
aiida.cmdline.params.types.config.
ConfigOptionParamType
[source]¶ Bases:
click.types.StringParamType
ParamType for configuration options.
-
__module__
= 'aiida.cmdline.params.types.config'¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'config option'¶
-
Module for the custom click param type for data
-
class
aiida.cmdline.params.types.data.
DataParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Data entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.data'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Data'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
Module for custom click param type group.
-
class
aiida.cmdline.params.types.group.
GroupParamType
(create_if_not_exist=False, sub_classes=('aiida.groups:core', ))[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Group entities or its subclasses.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(create_if_not_exist=False, sub_classes=('aiida.groups:core', ))[source]¶ Construct the parameter type.
The sub_classes argument can be used to narrow the set of subclasses of Group that should be matched. By default all subclasses of Group will be matched, otherwise it is restricted to the subclasses that correspond to the entry point names in the tuple of sub_classes.
To prevent having to load the database environment at import time, the actual loading of the entry points is deferred until the call to convert is made. This is to keep the command line autocompletion light and responsive. The entry point strings will be validated, however, to see if they correspond to known entry points.
- Parameters
create_if_not_exist – boolean, if True, will create the group if it does not yet exist. By default the group created will be of class Group, unless another subclass is specified through sub_classes. Note that in this case, only a single entry point name can be specified
sub_classes – a tuple of entry point strings from the aiida.groups entry point group.
-
__module__
= 'aiida.cmdline.params.types.group'¶
-
_abc_impl
= <_abc_data object>¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value.
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'Group'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader.
This class is supposed to be used to load the entity for a given identifier.
- Returns
the orm entity loader class for this ParamType
-
Module for custom click param type identifier
-
class
aiida.cmdline.params.types.identifier.
IdentifierParamType
(sub_classes=None)[source]¶ Bases:
click.types.ParamType
,abc.ABC
An extension of click.ParamType for a generic identifier parameter. In AiiDA, orm entities can often be identified by either their ID, UUID or optionally some LABEL identifier. This parameter type implements the convert method, which attempts to convert a value passed to the command for a parameter with this type, to an orm entity. The actual loading of the entity is delegated to the orm class loader. Subclasses of this parameter type should implement the orm_class_loader method to return the appropriate orm class loader, which should be a subclass of aiida.orm.utils.loaders.OrmEntityLoader for the corresponding orm class.
-
__abstractmethods__
= frozenset({'orm_class_loader'})¶
-
__init__
(sub_classes=None)[source]¶ Construct the parameter type, optionally specifying a tuple of entry points that reference classes that should be a sub class of the base orm class of the orm class loader. The classes pointed to by these entry points will be passed to the OrmEntityLoader when converting an identifier and they will restrict the query set by demanding that the class of the corresponding entity matches these sub classes.
To prevent having to load the database environment at import time, the actual loading of the entry points is deferred until the call to convert is made. This is to keep the command line autocompletion light and responsive. The entry point strings will be validated, however, to see if the correspond to known entry points.
- Parameters
sub_classes – a tuple of entry point strings that can narrow the set of orm classes that values will be mapped upon. These classes have to be strict sub classes of the base orm class defined by the orm class loader
-
__module__
= 'aiida.cmdline.params.types.identifier'¶
-
_abc_impl
= <_abc_data object>¶
-
convert
(value, param, ctx)[source]¶ Attempt to convert the given value to an instance of the orm class using the orm class loader.
- Returns
the loaded orm entity
- Raises
click.BadParameter – if the value is ambiguous and leads to multiple entities
click.BadParameter – if the value cannot be mapped onto any existing instance
RuntimeError – if the defined orm class loader is not a subclass of the OrmEntityLoader class
-
abstract property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
Module to define custom click param type for multiple values
-
class
aiida.cmdline.params.types.multiple.
MultipleValueParamType
(param_type)[source]¶ Bases:
click.types.ParamType
An extension of click.ParamType that can parse multiple values for a given ParamType
-
__module__
= 'aiida.cmdline.params.types.multiple'¶
-
Module to define the custom click param type for node
-
class
aiida.cmdline.params.types.node.
NodeParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying Node entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.node'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Node'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
Click parameter types for paths.
-
class
aiida.cmdline.params.types.path.
AbsolutePathOrEmptyParamType
(exists=False, file_okay=True, dir_okay=True, writable=False, readable=True, resolve_path=False, allow_dash=False, path_type=None)[source]¶ Bases:
aiida.cmdline.params.types.path.AbsolutePathParamType
The ParamType for identifying absolute Paths, accepting also empty paths.
-
__module__
= 'aiida.cmdline.params.types.path'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'AbsolutePathEmpty'¶
-
-
class
aiida.cmdline.params.types.path.
AbsolutePathParamType
(exists=False, file_okay=True, dir_okay=True, writable=False, readable=True, resolve_path=False, allow_dash=False, path_type=None)[source]¶ Bases:
click.types.Path
The ParamType for identifying absolute Paths (derived from click.Path).
-
__module__
= 'aiida.cmdline.params.types.path'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'AbsolutePath'¶
-
-
class
aiida.cmdline.params.types.path.
ImportPath
(timeout_seconds=10, **kwargs)[source]¶ Bases:
click.types.Path
AiiDA extension of Click’s Path-type to include URLs An ImportPath can either be a click.Path-type or a URL.
- Parameters
timeout_seconds – Timeout time in seconds that a URL response is expected.
- Value timeout_seconds
Must be an int in the range [0;60], extrema included. If an int outside the range [0;60] is given, the value will be set to the respective extremum value. If any other type than int is given a TypeError will be raised.
-
__init__
(timeout_seconds=10, **kwargs)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
__module__
= 'aiida.cmdline.params.types.path'¶
-
convert
(value, param, ctx)[source]¶ Overwrite convert Check first if click.Path-type, then check if URL.
-
property
timeout_seconds
¶
Click parameter type for AiiDA Plugins.
-
class
aiida.cmdline.params.types.plugin.
PluginParamType
(group=None, load=False, *args, **kwargs)[source]¶ Bases:
aiida.cmdline.params.types.strings.EntryPointType
AiiDA Plugin name parameter type.
- Parameters
group – string or tuple of strings, where each is a valid entry point group. Adding the aiida. prefix is optional. If it is not detected it will be prepended internally.
load – when set to True, convert will not return the entry point, but the loaded entry point
Usage:
click.option(... type=PluginParamType(group='aiida.calculations')
or:
click.option(... type=PluginParamType(group=('calculations', 'data'))
-
__init__
(group=None, load=False, *args, **kwargs)[source]¶ Validate that group is either a string or a tuple of valid entry point groups, or if it is not specified use the tuple of all recognized entry point groups.
-
__module__
= 'aiida.cmdline.params.types.plugin'¶
-
_init_entry_points
()[source]¶ Populate entry point information that will be used later on. This should only be called once in the constructor after setting self.groups because the groups should not be changed after instantiation
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
convert
(value, param, ctx)[source]¶ Convert the string value to an entry point instance, if the value can be successfully parsed into an actual entry point. Will raise click.BadParameter if validation fails.
-
get_entry_point_from_string
(entry_point_string)[source]¶ Validate a given entry point string, which means that it should have a valid entry point string format and that the entry point unambiguously corresponds to an entry point in the groups configured for this instance of PluginParameterType.
- Returns
the entry point if valid
- Raises
ValueError if the entry point string is invalid
-
get_missing_message
(param)[source]¶ Optionally might return extra information about a missing parameter.
New in version 2.0.
-
get_valid_arguments
()[source]¶ Return a list of all available plugins for the groups configured for this PluginParamType instance. If the entry point names are not unique, because there are multiple groups that contain an entry point that has an identical name, we need to prefix the names with the full group name
- Returns
list of valid entry point strings
-
property
groups
¶
-
property
has_potential_ambiguity
¶ Returns whether the set of supported entry point groups can lead to ambiguity when only an entry point name is specified. This will happen if one ore more groups share an entry point with a common name
-
name
= 'plugin'¶
Module for the process node parameter type
-
class
aiida.cmdline.params.types.process.
ProcessParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying ProcessNode entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.process'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'Process'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-
Profile param type for click.
-
class
aiida.cmdline.params.types.profile.
ProfileParamType
(*args, **kwargs)[source]¶ Bases:
aiida.cmdline.params.types.strings.LabelStringType
The profile parameter type for click.
-
__module__
= 'aiida.cmdline.params.types.profile'¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'profile'¶
-
Module for various text-based string validation.
-
class
aiida.cmdline.params.types.strings.
EmailType
[source]¶ Bases:
click.types.StringParamType
Parameter whose values have to correspond to a valid email address format.
Note
For the moment, we do not require the domain suffix, i.e. ‘aiida@localhost’ is still valid.
-
__module__
= 'aiida.cmdline.params.types.strings'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'email'¶
-
-
class
aiida.cmdline.params.types.strings.
EntryPointType
[source]¶ Bases:
aiida.cmdline.params.types.strings.NonEmptyStringParamType
Parameter whose values have to be valid Python entry point strings.
See https://packaging.python.org/specifications/entry-points/
-
__module__
= 'aiida.cmdline.params.types.strings'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'entrypoint'¶
-
-
class
aiida.cmdline.params.types.strings.
HostnameType
[source]¶ Bases:
click.types.StringParamType
Parameter corresponding to a valid hostname (or empty) string.
Regex according to https://stackoverflow.com/a/3824105/1069467
-
__module__
= 'aiida.cmdline.params.types.strings'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'hostname'¶
-
-
class
aiida.cmdline.params.types.strings.
LabelStringType
[source]¶ Bases:
aiida.cmdline.params.types.strings.NonEmptyStringParamType
Parameter accepting valid label strings.
Non-empty string, made up of word characters (includes underscores [1]), dashes, and dots.
[1] See https://docs.python.org/3/library/re.html
-
ALPHABET
= '\\w\\.\\-'¶
-
__module__
= 'aiida.cmdline.params.types.strings'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'labelstring'¶
-
-
class
aiida.cmdline.params.types.strings.
NonEmptyStringParamType
[source]¶ Bases:
click.types.StringParamType
Parameter whose values have to be string and non-empty.
-
__module__
= 'aiida.cmdline.params.types.strings'¶
-
convert
(value, param, ctx)[source]¶ Converts the value. This is not invoked for values that are None (the missing value).
-
name
= 'nonemptystring'¶
-
Test module parameter type for click.
-
class
aiida.cmdline.params.types.test_module.
TestModuleParamType
[source]¶ Bases:
click.types.ParamType
Parameter type to represent a unittest module.
Defunct - remove when removing the “verdi devel tests” command.
-
__module__
= 'aiida.cmdline.params.types.test_module'¶
-
name
= 'test module'¶
-
User param type for click.
-
class
aiida.cmdline.params.types.user.
UserParamType
(create=False)[source]¶ Bases:
click.types.ParamType
The user parameter type for click. Can get or create a user.
-
__init__
(create=False)[source]¶ - Parameters
create – If the user does not exist, create a new instance (unstored).
-
__module__
= 'aiida.cmdline.params.types.user'¶
-
complete
(ctx, incomplete)[source]¶ Return possible completions based on an incomplete value
- Returns
list of tuples of valid entry points (matching incomplete) and a description
-
name
= 'user'¶
-
Module for the workflow parameter type
-
class
aiida.cmdline.params.types.workflow.
WorkflowParamType
(sub_classes=None)[source]¶ Bases:
aiida.cmdline.params.types.identifier.IdentifierParamType
The ParamType for identifying WorkflowNode entities or its subclasses
-
__abstractmethods__
= frozenset({})¶
-
__module__
= 'aiida.cmdline.params.types.workflow'¶
-
_abc_impl
= <_abc_data object>¶
-
name
= 'WorkflowNode'¶
-
property
orm_class_loader
¶ Return the orm entity loader class, which should be a subclass of OrmEntityLoader. This class is supposed to be used to load the entity for a given identifier
- Returns
the orm entity loader class for this ParamType
-