aiida.cmdline.utils.query package¶
Submodules¶
A utility module with a factory of standard QueryBuilder instances for Calculation nodes.
-
class
aiida.cmdline.utils.query.calculation.
CalculationQueryBuilder
(mapper=None)[source]¶ Bases:
object
Utility class to construct a QueryBuilder instance for Calculation nodes and project the query set.
-
__dict__
= dict_proxy({'__weakref__': <attribute '__weakref__' of 'CalculationQueryBuilder' objects>, 'mapper': <property object>, '_compound_projections': ('state',), 'default_projections': <aiida.common.lang.classproperty object>, '_default_projections': ('pk', 'ctime', 'state', 'process_label', 'process_status'), '__module__': 'aiida.cmdline.utils.query.calculation', '__doc__': 'Utility class to construct a QueryBuilder instance for Calculation nodes and project the query set.', 'valid_projections': <aiida.common.lang.classproperty object>, 'get_filters': <function get_filters>, '_valid_projections': ('pk', 'uuid', 'ctime', 'mtime', 'state', 'process_state', 'process_status', 'exit_status', 'sealed', 'process_label', 'label', 'description', 'node_type', 'paused', 'process_type', 'job_state', 'scheduler_state'), '__dict__': <attribute '__dict__' of 'CalculationQueryBuilder' objects>, 'get_projected': <function get_projected>, 'get_query_set': <function get_query_set>, '__init__': <function __init__>})¶
-
__module__
= 'aiida.cmdline.utils.query.calculation'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
_compound_projections
= ('state',)¶
-
_default_projections
= ('pk', 'ctime', 'state', 'process_label', 'process_status')¶
-
_valid_projections
= ('pk', 'uuid', 'ctime', 'mtime', 'state', 'process_state', 'process_status', 'exit_status', 'sealed', 'process_label', 'label', 'description', 'node_type', 'paused', 'process_type', 'job_state', 'scheduler_state')¶
-
default_projections
= ('pk', 'ctime', 'state', 'process_label', 'process_status')¶
-
get_filters
(all_entries=False, process_state=None, exit_status=None, failed=False, node_types=None)[source]¶ Return a set of QueryBuilder filters based on typical command line options.
Parameters: - node_types – a tuple of node classes to filter for (must be sub classes of Calculation)
- all_entries – boolean to negate filtering for process state
- process_state – filter for this process state
- exit_status – filter for this exit status
- failed – boolean to filter only failed processes
Returns: dictionary of filters suitable for a QueryBuilder.append() call
-
get_projected
(query_set, projections)[source]¶ Project the query set for the given set of projections
-
get_query_set
(relationships=None, filters=None, order_by=None, past_days=None, limit=None)[source]¶ Return the query set of calculations for the given filters and query parameters
Parameters: - relationships – a mapping of relationships to join on, e.g. {‘with_node’: Group} to join on a Group. The keys in this dictionary should be the keyword used in the append method of the QueryBuilder to join the entity on that is defined as the value.
- filters – rules to filter query results with
- order_by – order the query set by this criterion
- past_days – only include entries from the last past days
- limit – limit the query set to this number of entries
Returns: the query set, a list of dictionaries
-
mapper
¶
-
valid_projections
= ('pk', 'uuid', 'ctime', 'mtime', 'state', 'process_state', 'process_status', 'exit_status', 'sealed', 'process_label', 'label', 'description', 'node_type', 'paused', 'process_type', 'job_state', 'scheduler_state')¶
-
A utility module with simple functions to format variables into strings for cli outputs.
-
aiida.cmdline.utils.query.formatting.
format_process_state
(process_state)[source]¶ Return a string formatted representation of the given process state
Parameters: process_state – the process state Returns: string representation of process state
-
aiida.cmdline.utils.query.formatting.
format_relative_time
(datetime)[source]¶ Return a string formatted timedelta of the given datetime with respect to the current datetime
Parameters: datetime – the datetime to format Returns: string representation of the relative time since the given datetime
-
aiida.cmdline.utils.query.formatting.
format_sealed
(sealed)[source]¶ Return a string formatted representation of a node’s sealed status
Parameters: sealed – the value for the sealed attribute of the node Returns: string representation of seal status
-
aiida.cmdline.utils.query.formatting.
format_state
(process_state, paused=None, exit_status=None)[source]¶ Return a string formatted representation of a process’ state, which consists of its process state and exit status
Parameters: - process_state – the process state
- exit_status – the process’ exit status
Returns: string representation of the process’ state
A utility module with mapper objects that map database entities projections on attributes and labels.
-
class
aiida.cmdline.utils.query.mapping.
CalculationProjectionMapper
(projections, projection_labels=None, projection_attributes=None, projection_formatters=None)[source]¶ Bases:
aiida.cmdline.utils.query.mapping.ProjectionMapper
The CLI projection mapper for Calculation derived entities.
-
__init__
(projections, projection_labels=None, projection_attributes=None, projection_formatters=None)[source]¶ x.__init__(…) initializes x; see help(type(x)) for signature
-
__module__
= 'aiida.cmdline.utils.query.mapping'¶
-
-
class
aiida.cmdline.utils.query.mapping.
ProjectionMapper
(projection_labels=None, projection_attributes=None, projection_formatters=None)[source]¶ Bases:
object
Class to map projection names from the CLI to entity labels, attributes and formatters.
The command line interface will often have to display database entities and their attributes. The names of the attributes exposed on the CLI do not always match one-to-one with the attributes in the ORM and often they need to be formatted for the screen in some way. Additionally, for commands that display lists of entries, often a header needs to be printed with a label for each attribute, which also are not necessarily identical.
For any given entity, the CLI typically exposes a set of projections, which are the keywords to reference certain attributes. This mapper class serves to map these projections onto the corresponding label and attribute names, as well as formatter functions to format the attribute values into strings, suitable to be printed by the CLI.
-
__dict__
= dict_proxy({'__module__': 'aiida.cmdline.utils.query.mapping', '_valid_projections': [], 'format': <function format>, 'get_attribute': <function get_attribute>, 'get_label': <function get_label>, 'valid_projections': <property object>, 'get_formatter': <function get_formatter>, '__dict__': <attribute '__dict__' of 'ProjectionMapper' objects>, '__weakref__': <attribute '__weakref__' of 'ProjectionMapper' objects>, '__doc__': '\n Class to map projection names from the CLI to entity labels, attributes and formatters.\n\n The command line interface will often have to display database entities and their attributes. The names of\n the attributes exposed on the CLI do not always match one-to-one with the attributes in the ORM and often\n they need to be formatted for the screen in some way. Additionally, for commands that display lists of entries,\n often a header needs to be printed with a label for each attribute, which also are not necessarily identical.\n\n For any given entity, the CLI typically exposes a set of projections, which are the keywords to reference certain\n attributes. This mapper class serves to map these projections onto the corresponding label and attribute names, as\n well as formatter functions to format the attribute values into strings, suitable to be printed by the CLI.\n ', '__init__': <function __init__>})¶
-
__init__
(projection_labels=None, projection_attributes=None, projection_formatters=None)[source]¶ x.__init__(…) initializes x; see help(type(x)) for signature
-
__module__
= 'aiida.cmdline.utils.query.mapping'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
_valid_projections
= []¶
-
valid_projections
¶
-