ArrayData
: Allow defining array(s) on construction and make name
optional in get_array
#6097
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds type hinting for
aiida.orm.nodes.data.array.array
.Currently, the constructor does not allow to define any arrays to set
when constructing a new node, so one is forced to multi line code:
This commit allows initialization upon construction simplifying the code
above to:
Note that it is also possible to pass a single array to the constructor,
in which case the array name is taken from the
default_array_name
class attribute.
For backwards compatibility, it remains possible to construct an
ArrayData
without any arrays.The
ArrayData
was designed to be able to store multiple numpy arrays.While useful, it forced users to be more verbose than necessary when
only storing a single array as an explicit array name is always required:
The
get_array
method is updated to allowNone
for thename
argument as long as the node only stores a single array so that it can
return the correct array unambiguously. This simplifies typical user
code significantly: