aiida-core
AiiDA is a workflow manager for computational science with a strong focus on provenance, performance and extensibility.
General information
Registry checks
Plugins provided
Entry points
-
core.rabbitmq
aiida.brokers.rabbitmq.broker:RabbitmqBroker -
core.zeromq
aiida.brokers.zeromq.broker:ZeromqBroker
-
core.arithmetic.add
class:aiida.calculations.arithmetic.add:ArithmeticAddCalculation`CalcJob` implementation to add two numbers using bash for testing and demonstration purposes.
Input Required Valid types Description xtrue Int, FloatThe left operand. ytrue Int, FloatThe right operand. codefalse AbstractCode, NoneTypeThe `Code` to use for this job. This input is required, unless the `remote_folder` input is specified, which means an existing job is being imported and no code will actually be run. metadatafalse monitorsfalse DictAdd monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job. remote_folderfalse RemoteData, NoneTypeRemote directory containing the results of an already completed calculation job without AiiDA. The inputs should be passed to the `CalcJob` as normal but instead of launching the actual job, the engine will recreate the input files and then proceed straight to the retrieve step where the files of this `RemoteData` will be retrieved as if it had been actually launched through AiiDA. If a parser is defined in the inputs, the results are parsed and attached as output nodes as usual. Output Required Valid types Description remote_foldertrue RemoteDataInput files necessary to run the process will be stored in this folder node. retrievedtrue FolderDataFiles that are retrieved by the daemon will be stored in this node. By default the stdout and stderr of the scheduler will be added, but one can add more by specifying them in `CalcInfo.retrieve_list`. sumtrue Int, FloatThe sum of the left and right operand. remote_stashfalse RemoteStashDataContents of the `stash.source_list` option are stored in this remote folder after job completion. Exit status Message 1 The process has failed with an unspecified error. 2 The process failed with legacy failure mode. 11 The process did not register a required output. 100 The process did not have the required `retrieved` output. 110 The job ran out of memory. 120 The job ran out of walltime. 131 The specified account is invalid. 140 The node running the job failed. 150 {message} 160 {message} 310 The output file could not be read. 320 The output file contains invalid output. 410 The sum of the operands is a negative number. -
core.stash
class:aiida.calculations.stash:StashCalculationUtility to stash files from a remote folder. An example of how the input should look like: .. code-block:: python inputs = { 'metadata': { 'computer': load_computer(label="localhost"), 'options': { 'resources': {'num_machines': 1}, 'stash': { 'stash_mode': StashMode.COPY.value, 'target_base': '/scratch/my_stashing/', 'source_list': ['aiida.in', '_aiidasubmit.sh'], }, }, }, 'source_node': node_1, } Ideally one could use the same computer as the one of the `source_node`. However if you cannot access the stash storage from the same computer anymore but you have access to it from another computer, you can can specify the computer in `metadata.computer`. Only in case of `StashMode.SUBMIT_CUSTOM_CODE` mode, the `code` input is required. And the stashing is done by submitting a script to the computer specified in `metadata.computer`. For example: .. code-block:: python inputs = { 'metadata': { 'computer': load_computer(label="localhost"), 'options': { 'resources': {'num_machines': 1}, 'stash': { 'stash_mode': StashMode.SUBMIT_CUSTOM_CODE.value, 'target_base': '/scratch/my_stashing/', 'source_list': ['aiida.in', '_aiidasubmit.sh'], }, }, }, 'source_node': <RemoteData_NODE>, 'code': <MY_CODE> }
Input Required Valid types Description source_nodetrue RemoteDataThe RemoteData node containing the files to stash. codefalse AbstractCode, NoneTypeThe `Code` to use for this job. This input is required, unless the `remote_folder` input is specified, which means an existing job is being imported and no code will actually be run. metadatafalse monitorsfalse DictAdd monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job. remote_folderfalse RemoteData, NoneTypeRemote directory containing the results of an already completed calculation job without AiiDA. The inputs should be passed to the `CalcJob` as normal but instead of launching the actual job, the engine will recreate the input files and then proceed straight to the retrieve step where the files of this `RemoteData` will be retrieved as if it had been actually launched through AiiDA. If a parser is defined in the inputs, the results are parsed and attached as output nodes as usual. Output Required Valid types Description remote_foldertrue RemoteDataInput files necessary to run the process will be stored in this folder node. retrievedtrue FolderDataFiles that are retrieved by the daemon will be stored in this node. By default the stdout and stderr of the scheduler will be added, but one can add more by specifying them in `CalcInfo.retrieve_list`. remote_stashfalse RemoteStashDataContents of the `stash.source_list` option are stored in this remote folder after job completion. Exit status Message 1 The process has failed with an unspecified error. 2 The process failed with legacy failure mode. 10 The process returned an invalid output. 11 The process did not register a required output. 100 The process did not have the required `retrieved` output. 110 The job ran out of memory. 120 The job ran out of walltime. 131 The specified account is invalid. 140 The node running the job failed. 150 {message} 160 {message} -
core.templatereplacer
class:aiida.calculations.templatereplacer:TemplatereplacerCalculationSimple stub of a plugin that can be used to replace some text in a given template. Can be used for many different codes, or as a starting point to develop a new plugin. This simple plugin takes two node inputs, both of type Dict, with the labels 'parameters' and 'template' You can also add other SinglefileData nodes as input, that will be copied according to what is written in 'template' (see below). * parameters: a set of parameters that will be used for substitution. * template: can contain the following parameters: * input_file_template: a string with substitutions to be managed with the format() function of python, i.e. if you want to substitute a variable called 'varname', you write {varname} in the text. See http://www.python.org/dev/peps/pep-3101/ for more details. The replaced file will be the input file. * input_file_name: a string with the file name for the input. If it is not provided, no file will be created. * output_file_name: a string with the file name for the output. If it is not provided, no redirection will be done and the output will go in the scheduler output file. * cmdline_params: a list of strings, to be passed as command line parameters. Each one is substituted with the same rule of input_file_template. Optional * input_through_stdin: if True, the input file name is passed via stdin. Default is False if missing. * files_to_copy: if defined, a list of tuple pairs, with format ('link_name', 'dest_rel_path'); for each tuple, an input link to this calculation is looked for, with link labeled 'link_label', and with file type 'Singlefile', and the content is copied to a remote file named 'dest_rel_path' Errors are raised in the input links are non-existent, or of the wrong type, or if there are unused input files. * retrieve_temporary_files: a list of relative filepaths, that if defined, will be retrieved and temporarily stored in an unstored FolderData node that will be available during the Parser.parser_with_retrieved call under the key specified by the Parser.retrieved_temporary_folder key
Input Required Valid types Description templatetrue DictA template for the input file. codefalse AbstractCode, NoneTypeThe `Code` to use for this job. This input is required, unless the `remote_folder` input is specified, which means an existing job is being imported and no code will actually be run. filesfalse RemoteData, SinglefileDatametadatafalse monitorsfalse DictAdd monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job. parametersfalse Dict, NoneTypeParameters used to replace placeholders in the template. remote_folderfalse RemoteData, NoneTypeRemote directory containing the results of an already completed calculation job without AiiDA. The inputs should be passed to the `CalcJob` as normal but instead of launching the actual job, the engine will recreate the input files and then proceed straight to the retrieve step where the files of this `RemoteData` will be retrieved as if it had been actually launched through AiiDA. If a parser is defined in the inputs, the results are parsed and attached as output nodes as usual. Output Required Valid types Description output_parameterstrue Dictremote_foldertrue RemoteDataInput files necessary to run the process will be stored in this folder node. retrievedtrue FolderDataFiles that are retrieved by the daemon will be stored in this node. By default the stdout and stderr of the scheduler will be added, but one can add more by specifying them in `CalcInfo.retrieve_list`. remote_stashfalse RemoteStashDataContents of the `stash.source_list` option are stored in this remote folder after job completion. Exit status Message 1 The process has failed with an unspecified error. 2 The process failed with legacy failure mode. 11 The process did not register a required output. 100 The process did not have the required `retrieved` output. 110 The job ran out of memory. 120 The job ran out of walltime. 131 The specified account is invalid. 140 The node running the job failed. 150 {message} 160 {message} 301 The temporary retrieved folder data node could not be accessed. 305 The `template` input node did not specify the key `output_file_name`. 310 The output file could not be read from the retrieved folder. 311 A temporary retrieved file could not be read from the temporary retrieved folder. 320 The output file contains invalid output. -
core.transfer
class:aiida.calculations.transfer:TransferCalculationUtility to copy files from different FolderData and RemoteData nodes into a single place. The final destination for these files can be either the local repository (by creating a new FolderData node to store them) or in the remote computer (by leaving the files in a new remote folder saved in a RemoteData node). Only files from the local computer and from remote folders in the same external computer can be moved at the same time with a single instance of this CalcJob. The user needs to provide three inputs: * ``instructions``: a dict node specifying which files to copy from which nodes. * ``source_nodes``: a dict of nodes, each with a unique identifier label as its key. * ``metadata.computer``: the computer that contains the remote files and will contain the final RemoteData node. The ``instructions`` dict must have the ``retrieve_files`` flag. The CalcJob will create a new folder in the remote machine (``RemoteData``) and put all the files there and will either: (1) leave them there (``retrieve_files = False``) or ... (2) retrieve all the files and store them locally in a ``FolderData`` (``retrieve_files = True``) The `instructions` dict must also contain at least one list with specifications of which files to copy and from where. All these lists take tuples of 3 that have the following format: .. code-block:: python ( source_node_key, path_to_file_in_source, path_to_file_in_target) where the ``source_node_key`` has to be the respective one used when providing the node in the ``source_nodes`` input nodes dictionary. The two main lists to include are ``local_files`` (for files to be taken from FolderData nodes) and ``remote_files`` (for files to be taken from RemoteData nodes). Alternatively, files inside of RemoteData nodes can instead be put in the ``symlink_files`` list: the only difference is that files from the first list will be fully copied in the target RemoteData folder, whereas for the files in second list only a symlink to the original file will be created there. This will only affect the content of the final RemoteData target folder, but in both cases the full file will be copied back in the local target FolderData (if ``retrieve_files = True``).
Input Required Valid types Description instructionstrue DictA dictionary containing the `retrieve_files` flag and at least one of the file lists:`local_files`, `remote_files` and/or `symlink_files`. source_nodestrue FolderData, RemoteDataAll the nodes that contain files referenced in the instructions. metadatafalse monitorsfalse DictAdd monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job. remote_folderfalse RemoteData, NoneTypeRemote directory containing the results of an already completed calculation job without AiiDA. The inputs should be passed to the `CalcJob` as normal but instead of launching the actual job, the engine will recreate the input files and then proceed straight to the retrieve step where the files of this `RemoteData` will be retrieved as if it had been actually launched through AiiDA. If a parser is defined in the inputs, the results are parsed and attached as output nodes as usual. Output Required Valid types Description remote_foldertrue RemoteDataInput files necessary to run the process will be stored in this folder node. retrievedtrue FolderDataFiles that are retrieved by the daemon will be stored in this node. By default the stdout and stderr of the scheduler will be added, but one can add more by specifying them in `CalcInfo.retrieve_list`. remote_stashfalse RemoteStashDataContents of the `stash.source_list` option are stored in this remote folder after job completion. Exit status Message 1 The process has failed with an unspecified error. 2 The process failed with legacy failure mode. 10 The process returned an invalid output. 11 The process did not register a required output. 100 The process did not have the required `retrieved` output. 110 The job ran out of memory. 120 The job ran out of walltime. 131 The specified account is invalid. 140 The node running the job failed. 150 {message} 160 {message} -
core.unstash
class:aiida.calculations.unstash:UnstashCalculationUtility to unstash files from a remote folder. An example of how the input should look like: .. code-block:: python inputs = { 'metadata': { 'computer': Computer.collection.get(label="localhost"), 'options': { 'resources': {'num_machines': 1}, 'unstash': { 'unstash_target_mode': UnstashTargetMode.NewNode.value, 'source_list': ['aiida.in', '_aiidasubmit.sh'], # also accepts ['*'] }, }, }, 'source_node': <RemoteStashData>, 'code': <MY_CODE> # only in case of `type(source_node)==RemoteStashCustomData` }
Input Required Valid types Description source_nodetrue RemoteStashDatacodefalse AbstractCode, NoneTypeThe `Code` to use for this job. This input is required, unless the `remote_folder` input is specified, which means an existing job is being imported and no code will actually be run. metadatafalse monitorsfalse DictAdd monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job. remote_folderfalse RemoteData, NoneTypeRemote directory containing the results of an already completed calculation job without AiiDA. The inputs should be passed to the `CalcJob` as normal but instead of launching the actual job, the engine will recreate the input files and then proceed straight to the retrieve step where the files of this `RemoteData` will be retrieved as if it had been actually launched through AiiDA. If a parser is defined in the inputs, the results are parsed and attached as output nodes as usual. Output Required Valid types Description remote_foldertrue RemoteDataInput files necessary to run the process will be stored in this folder node. retrievedtrue FolderDataFiles that are retrieved by the daemon will be stored in this node. By default the stdout and stderr of the scheduler will be added, but one can add more by specifying them in `CalcInfo.retrieve_list`. remote_stashfalse RemoteStashDataContents of the `stash.source_list` option are stored in this remote folder after job completion. Exit status Message 1 The process has failed with an unspecified error. 2 The process failed with legacy failure mode. 10 The process returned an invalid output. 11 The process did not register a required output. 100 The process did not have the required `retrieved` output. 110 The job ran out of memory. 120 The job ran out of walltime. 131 The specified account is invalid. 140 The node running the job failed. 150 {message} 160 {message}
-
core.arithmetic.add
aiida.calculations.importers.arithmetic.add:ArithmeticAddCalculationImporter
-
core.always_kill
aiida.calculations.monitors.base:always_kill
-
core.local
aiida.transports.plugins.local:CONFIGURE_LOCAL_CMD -
core.ssh
aiida.transports.plugins.ssh:CONFIGURE_SSH_CMD
-
core.array
aiida.cmdline.commands.cmd_data.cmd_array:array -
core.bands
aiida.cmdline.commands.cmd_data.cmd_bands:bands -
core.cif
aiida.cmdline.commands.cmd_data.cmd_cif:cif -
core.dict
aiida.cmdline.commands.cmd_data.cmd_dict:dictionary -
core.remote
aiida.cmdline.commands.cmd_data.cmd_remote:remote -
core.singlefile
aiida.cmdline.commands.cmd_data.cmd_singlefile:singlefile -
core.structure
aiida.cmdline.commands.cmd_data.cmd_structure:structure -
core.trajectory
aiida.cmdline.commands.cmd_data.cmd_trajectory:trajectory -
core.upf
aiida.cmdline.commands.cmd_data.cmd_upf:upf
-
core.array
aiida.orm.nodes.data.array.array:ArrayData -
core.array.bands
aiida.orm.nodes.data.array.bands:BandsData -
core.array.kpoints
aiida.orm.nodes.data.array.kpoints:KpointsData -
core.array.projection
aiida.orm.nodes.data.array.projection:ProjectionData -
core.array.trajectory
aiida.orm.nodes.data.array.trajectory:TrajectoryData -
core.array.xy
aiida.orm.nodes.data.array.xy:XyData -
core.base
aiida.orm.nodes.data:BaseType -
core.bool
aiida.orm.nodes.data.bool:Bool -
core.cif
aiida.orm.nodes.data.cif:CifData -
core.code
aiida.orm.nodes.data.code.legacy:Code -
core.code.abstract
aiida.orm.nodes.data.code.abstract:AbstractCode -
core.code.containerized
aiida.orm.nodes.data.code.containerized:ContainerizedCode -
core.code.installed
aiida.orm.nodes.data.code.installed:InstalledCode -
core.code.portable
aiida.orm.nodes.data.code.portable:PortableCode -
core.dict
aiida.orm.nodes.data.dict:Dict -
core.enum
aiida.orm.nodes.data.enum:EnumData -
core.float
aiida.orm.nodes.data.float:Float -
core.folder
aiida.orm.nodes.data.folder:FolderData -
core.int
aiida.orm.nodes.data.int:Int -
core.jsonable
aiida.orm.nodes.data.jsonable:JsonableData -
core.list
aiida.orm.nodes.data.list:List -
core.numeric
aiida.orm.nodes.data.numeric:NumericType -
core.orbital
aiida.orm.nodes.data.orbital:OrbitalData -
core.remote
aiida.orm.nodes.data.remote.base:RemoteData -
core.remote.stash
aiida.orm.nodes.data.remote.stash.base:RemoteStashData -
core.remote.stash.compress
aiida.orm.nodes.data.remote.stash.compress:RemoteStashCompressedData -
core.remote.stash.custom
aiida.orm.nodes.data.remote.stash.custom:RemoteStashCustomData -
core.remote.stash.folder
aiida.orm.nodes.data.remote.stash.folder:RemoteStashFolderData -
core.singlefile
aiida.orm.nodes.data.singlefile:SinglefileData -
core.str
aiida.orm.nodes.data.str:Str -
core.structure
aiida.orm.nodes.data.structure:StructureData -
core.upf
aiida.orm.nodes.data.upf:UpfData
-
core
aiida.orm.groups:Group -
core.auto
aiida.orm.groups:AutoGroup -
core.import
aiida.orm.groups:ImportGroup -
core.upf
aiida.orm.groups:UpfFamily
-
data
aiida.orm.nodes.data.data:Data -
process
aiida.orm.nodes.process.process:ProcessNode -
process.calculation
aiida.orm.nodes.process.calculation.calculation:CalculationNode -
process.calculation.calcfunction
aiida.orm.nodes.process.calculation.calcfunction:CalcFunctionNode -
process.calculation.calcjob
aiida.orm.nodes.process.calculation.calcjob:CalcJobNode -
process.workflow
aiida.orm.nodes.process.workflow.workflow:WorkflowNode -
process.workflow.workchain
aiida.orm.nodes.process.workflow.workchain:WorkChainNode -
process.workflow.workfunction
aiida.orm.nodes.process.workflow.workfunction:WorkFunctionNode
-
core.auth_info
aiida.orm.authinfos:AuthInfo -
core.comment
aiida.orm.comments:Comment -
core.computer
aiida.orm.computers:Computer -
core.data
aiida.orm.nodes.data.data:Data -
core.entity
aiida.orm.entities:Entity -
core.group
aiida.orm.groups:Group -
core.log
aiida.orm.logs:Log -
core.node
aiida.orm.nodes.node:Node -
core.user
aiida.orm.users:User
-
core.arithmetic.add
aiida.parsers.plugins.arithmetic.add:ArithmeticAddParser -
core.templatereplacer
aiida.parsers.plugins.templatereplacer.parser:TemplatereplacerParser
-
core.direct
aiida.schedulers.plugins.direct:DirectScheduler -
core.lsf
aiida.schedulers.plugins.lsf:LsfScheduler -
core.pbspro
aiida.schedulers.plugins.pbspro:PbsproScheduler -
core.sge
aiida.schedulers.plugins.sge:SgeScheduler -
core.slurm
aiida.schedulers.plugins.slurm:SlurmScheduler -
core.torque
aiida.schedulers.plugins.torque:TorqueScheduler
-
core.psql_dos
aiida.storage.psql_dos.backend:PsqlDosBackend -
core.sqlite_dos
aiida.storage.sqlite_dos.backend:SqliteDosStorage -
core.sqlite_temp
aiida.storage.sqlite_temp.backend:SqliteTempBackend -
core.sqlite_zip
aiida.storage.sqlite_zip.backend:SqliteZipBackend
-
core.orbital
aiida.tools.data.orbital.orbital:Orbital -
core.realhydrogen
aiida.tools.data.orbital.realhydrogen:RealhydrogenOrbital
-
core.cod
aiida.tools.dbimporters.plugins.cod:CodDbImporter -
core.icsd
aiida.tools.dbimporters.plugins.icsd:IcsdDbImporter -
core.materialsproject
aiida.tools.dbimporters.plugins.materialsproject:MaterialsProjectImporter -
core.mpds
aiida.tools.dbimporters.plugins.mpds:MpdsDbImporter -
core.mpod
aiida.tools.dbimporters.plugins.mpod:MpodDbImporter -
core.nninc
aiida.tools.dbimporters.plugins.nninc:NnincDbImporter -
core.oqmd
aiida.tools.dbimporters.plugins.oqmd:OqmdDbImporter -
core.pcod
aiida.tools.dbimporters.plugins.pcod:PcodDbImporter -
core.tcod
aiida.tools.dbimporters.plugins.tcod:TcodDbImporter
-
core.local
aiida.transports.plugins.local:LocalTransport -
core.ssh
aiida.transports.plugins.ssh:SshTransport -
core.ssh_async
aiida.transports.plugins.ssh_async:AsyncSshTransport
-
core.arithmetic.add_multiply
class:aiida.workflows.arithmetic.add_multiply:add_multiplyAdd two numbers and multiply it with a third.
Input Required Valid types Description xtrue Dataytrue Dataztrue Datametadatafalse Exit status Message 1 The process has failed with an unspecified error. 2 The process failed with legacy failure mode. 10 The process returned an invalid output. 11 The process did not register a required output. -
core.arithmetic.multiply_add
class:aiida.workflows.arithmetic.multiply_add:MultiplyAddWorkChainWorkChain to multiply two numbers and add a third, for testing and demonstration purposes.
Input Required Valid types Description codetrue AbstractCodextrue Intytrue Intztrue Intmetadatafalse Output Required Valid types Description resulttrue IntExit status Message 1 The process has failed with an unspecified error. 2 The process failed with legacy failure mode. 10 The process returned an invalid output. 11 The process did not register a required output. 400 The result is a negative number.
-
runaiida
aiida.cmdline.commands.cmd_run:run -
verdi
aiida.cmdline.commands.cmd_verdi:verdi