Overview of public API#

The top-level package of the aiida-core distribution is called aiida. It contains various sub-packages that we refer to as “second-level packages”.

Rule

Any resource that can be imported directly from the top level or from a second-level package is part of the public python API and intended for external use. Resources at deeper nesting level are considered internal and are not intended for use outside aiida-core.

For example:

from aiida import load_profile  # OK, top-level import
from aiida.orm import QueryBuilder  # OK, second-level import
from aiida.tools.importexport import Archive # NOT PUBLIC API

警告

The interface and implementation of resources that are not considered part of the public API can change between minor AiiDA releases, and can even be moved or fully removed, without a deprecation period whatsoever. Be aware that scripts or AiiDA plugins that rely on such resources, can therefore break unexpectedly in between minor AiiDA releases.

Below we provide a list of the resources per second-level package that are exposed in this way. If a module is mentioned, then all the resources defined in its __all__ are included

aiida.cmdline#

cmdline.__all__ = ('AbsolutePathParamType', 'CalculationParamType', 'CodeParamType', 'ComputerParamType', 'ConfigOptionParamType', 'DataParamType', 'DynamicEntryPointCommandGroup', 'EmailType', 'EntryPointType', 'FileOrUrl', 'GroupParamType', 'HostnameType', 'IdentifierParamType', 'LabelStringType', 'LazyChoice', 'MpirunCommandParamType', 'MultipleValueParamType', 'NodeParamType', 'NonEmptyStringParamType', 'PathOrUrl', 'PluginParamType', 'ProcessParamType', 'ProfileParamType', 'ShebangParamType', 'UserParamType', 'VerdiCommandGroup', 'WorkflowParamType', 'dbenv', 'echo_critical', 'echo_dictionary', 'echo_error', 'echo_info', 'echo_report', 'echo_success', 'echo_tabulate', 'echo_warning', 'format_call_graph', 'is_verbose', 'only_if_daemon_running', 'with_dbenv')#

Since some click argument and option decorators clash, these may be imported at a lower level:

arguments.__all__ = ('CALCULATION', 'CALCULATIONS', 'CODE', 'CODES', 'COMPUTER', 'COMPUTERS', 'CONFIG_OPTION', 'DATA', 'DATUM', 'GROUP', 'GROUPS', 'INPUT_FILE', 'LABEL', 'NODE', 'NODES', 'OUTPUT_FILE', 'OverridableArgument', 'PROCESS', 'PROCESSES', 'PROFILE', 'PROFILES', 'USER', 'WORKFLOW', 'WORKFLOWS')#
options.__all__ = ('ALL', 'ALL_STATES', 'ALL_USERS', 'APPEND_TEXT', 'ARCHIVE_FORMAT', 'BROKER_HOST', 'BROKER_PASSWORD', 'BROKER_PORT', 'BROKER_PROTOCOL', 'BROKER_USERNAME', 'BROKER_VIRTUAL_HOST', 'CALCULATION', 'CALCULATIONS', 'CALC_JOB_STATE', 'CODE', 'CODES', 'COMPUTER', 'COMPUTERS', 'CONFIG_FILE', 'CallableDefaultOption', 'ConfigFileOption', 'DATA', 'DATUM', 'DB_BACKEND', 'DB_ENGINE', 'DB_HOST', 'DB_NAME', 'DB_PASSWORD', 'DB_PORT', 'DB_USERNAME', 'DEBUG', 'DESCRIPTION', 'DICT_FORMAT', 'DICT_KEYS', 'DRY_RUN', 'EXIT_STATUS', 'EXPORT_FORMAT', 'FAILED', 'FORCE', 'FORMULA_MODE', 'FREQUENCY', 'GROUP', 'GROUPS', 'GROUP_CLEAR', 'HOSTNAME', 'IDENTIFIER', 'INPUT_FORMAT', 'INPUT_PLUGIN', 'LABEL', 'LIMIT', 'MultipleValueOption', 'NODE', 'NODES', 'NON_INTERACTIVE', 'OLDER_THAN', 'ORDER_BY', 'ORDER_DIRECTION', 'OverridableOption', 'PAST_DAYS', 'PAUSED', 'PORT', 'PREPEND_TEXT', 'PRINT_TRACEBACK', 'PROCESS_LABEL', 'PROCESS_STATE', 'PROFILE', 'PROFILE_ONLY_CONFIG', 'PROFILE_SET_DEFAULT', 'PROJECT', 'RAW', 'REPOSITORY_PATH', 'SCHEDULER', 'SILENT', 'TIMEOUT', 'TRAJECTORY_INDEX', 'TRANSPORT', 'TRAVERSAL_RULE_HELP_STRING', 'TYPE_STRING', 'USER', 'USER_EMAIL', 'USER_FIRST_NAME', 'USER_INSTITUTION', 'USER_LAST_NAME', 'VERBOSITY', 'VISUALIZATION_FORMAT', 'WAIT', 'WITH_ELEMENTS', 'WITH_ELEMENTS_EXCLUSIVE', 'active_process_states', 'graph_traversal_rules', 'valid_calc_job_states', 'valid_process_states')#

aiida.common#

common.__all__ = ('AIIDA_LOGGER', 'AiidaException', 'AttributeDict', 'CalcInfo', 'CalcJobState', 'ClosedStorage', 'CodeInfo', 'CodeRunMode', 'ConfigurationError', 'ConfigurationVersionError', 'ContentNotExistent', 'CorruptStorage', 'DbContentError', 'DefaultFieldsAttributeDict', 'EntryPointError', 'FailedError', 'FeatureDisabled', 'FeatureNotAvailable', 'FixedFieldsAttributeDict', 'GraphTraversalRule', 'GraphTraversalRules', 'HashingError', 'IncompatibleStorageSchema', 'InputValidationError', 'IntegrityError', 'InternalError', 'InvalidEntryPointTypeError', 'InvalidOperation', 'LicensingException', 'LinkType', 'LoadingEntryPointError', 'LockedProfileError', 'LockingProfileError', 'MissingConfigurationError', 'MissingEntryPointError', 'ModificationNotAllowed', 'MultipleEntryPointError', 'MultipleObjectsError', 'NotExistent', 'NotExistentAttributeError', 'NotExistentKeyError', 'OutputParsingError', 'ParsingError', 'PluginInternalError', 'ProfileConfigurationError', 'ProgressReporterAbstract', 'RemoteOperationError', 'StashMode', 'StorageMigrationError', 'StoringNotAllowed', 'TQDM_BAR_FORMAT', 'TestsNotAllowedError', 'TransportTaskException', 'UniquenessError', 'UnsupportedSpeciesError', 'ValidationError', 'create_callback', 'get_progress_reporter', 'override_log_level', 'set_progress_bar_tqdm', 'set_progress_reporter', 'validate_link_label')#

aiida.engine#

engine.__all__ = ('AiiDAPersister', 'Awaitable', 'AwaitableAction', 'AwaitableTarget', 'BaseRestartWorkChain', 'CalcJob', 'CalcJobImporter', 'CalcJobOutputPort', 'CalcJobProcessSpec', 'DaemonClient', 'ExitCode', 'ExitCodesNamespace', 'FunctionProcess', 'InputPort', 'InterruptableFuture', 'JobManager', 'JobsList', 'ObjectLoader', 'OutputPort', 'PORT_NAMESPACE_SEPARATOR', 'PastException', 'PortNamespace', 'Process', 'ProcessBuilder', 'ProcessBuilderNamespace', 'ProcessFuture', 'ProcessHandlerReport', 'ProcessSpec', 'ProcessState', 'Runner', 'ToContext', 'WithNonDb', 'WithSerialize', 'WorkChain', 'append_', 'assign_', 'await_processes', 'calcfunction', 'construct_awaitable', 'get_daemon_client', 'get_object_loader', 'if_', 'interruptable_task', 'is_process_function', 'process_handler', 'return_', 'run', 'run_get_node', 'run_get_pk', 'submit', 'while_', 'workfunction')#

aiida.manage#

manage.__all__ = ('BROKER_DEFAULTS', 'CURRENT_CONFIG_VERSION', 'MIGRATIONS', 'ManagementApiConnectionError', 'OLDEST_COMPATIBLE_CONFIG_VERSION', 'Option', 'Profile', 'RabbitmqManagementClient', 'check_and_migrate_config', 'config_needs_migrating', 'disable_caching', 'downgrade_config', 'enable_caching', 'get_current_version', 'get_launch_queue_name', 'get_manager', 'get_message_exchange_name', 'get_option', 'get_option_names', 'get_rmq_url', 'get_task_exchange_name', 'get_use_cache', 'parse_option', 'upgrade_config')#

aiida.orm#

orm.__all__ = ('ASCENDING', 'AbstractCode', 'AbstractNodeMeta', 'ArrayData', 'AttributeManager', 'AuthInfo', 'AutoGroup', 'BandsData', 'BaseType', 'Bool', 'CalcFunctionNode', 'CalcJobNode', 'CalcJobResultManager', 'CalculationEntityLoader', 'CalculationNode', 'CifData', 'Code', 'CodeEntityLoader', 'Collection', 'Comment', 'Computer', 'ComputerEntityLoader', 'ContainerizedCode', 'DESCENDING', 'Data', 'Dict', 'Entity', 'EntityExtras', 'EntityTypes', 'EnumData', 'Float', 'FolderData', 'Group', 'GroupEntityLoader', 'ImportGroup', 'InstalledCode', 'Int', 'JsonableData', 'Kind', 'KpointsData', 'LinkManager', 'LinkPair', 'LinkTriple', 'List', 'Log', 'Node', 'NodeAttributes', 'NodeEntityLoader', 'NodeLinksManager', 'NodeRepository', 'NumericType', 'OrbitalData', 'OrderSpecifier', 'OrmEntityLoader', 'PortableCode', 'ProcessNode', 'ProjectionData', 'QbField', 'QbFieldFilters', 'QbFields', 'QueryBuilder', 'RemoteData', 'RemoteStashData', 'RemoteStashFolderData', 'SinglefileData', 'Site', 'Str', 'StructureData', 'TrajectoryData', 'UpfData', 'UpfFamily', 'User', 'WorkChainNode', 'WorkFunctionNode', 'WorkflowNode', 'XyData', 'cif_from_ase', 'find_bandgap', 'get_loader', 'get_query_type_from_type_string', 'get_type_string_from_class', 'has_pycifrw', 'load_code', 'load_computer', 'load_entity', 'load_group', 'load_node', 'load_node_class', 'pycifrw_from_cif', 'to_aiida_type', 'validate_link')#

aiida.parsers#

parsers.__all__ = ('Parser',)#

aiida.plugins#

plugins.__all__ = ('BaseFactory', 'CalcJobImporterFactory', 'CalculationFactory', 'DataFactory', 'DbImporterFactory', 'GroupFactory', 'OrbitalFactory', 'ParserFactory', 'PluginVersionProvider', 'SchedulerFactory', 'StorageFactory', 'TransportFactory', 'WorkflowFactory', 'get_entry_points', 'load_entry_point', 'load_entry_point_from_string', 'parse_entry_point')#

aiida.schedulers#

schedulers.__all__ = ('JobInfo', 'JobResource', 'JobState', 'JobTemplate', 'MachineInfo', 'NodeNumberJobResource', 'ParEnvJobResource', 'Scheduler', 'SchedulerError', 'SchedulerParsingError')#

aiida.tools#

tools.__all__ = ('CalculationTools', 'DELETE_LOGGER', 'Graph', 'GroupNotFoundError', 'GroupNotUniqueError', 'GroupPath', 'InvalidPath', 'NoGroupsInPathError', 'Orbital', 'RealhydrogenOrbital', 'default_link_styles', 'default_node_styles', 'default_node_sublabels', 'delete_group_nodes', 'delete_nodes', 'get_explicit_kpoints_path', 'get_kpoints_path', 'pstate_node_styles', 'spglib_tuple_to_structure', 'structure_to_spglib_tuple')#

aiida.transports#

transports.__all__ = ('SshTransport', 'Transport', 'convert_to_bool', 'parse_sshconfig')#