Getting started

Command line interface

One way of interacting with AiiDA is through the verdi command line interface (CLI).

Before checking out the individual commands below, start with a brief look at the general concepts that apply across all commands.

  • calcjob: Inspect and manage calcjobs.

  • code: Setup and manage codes.

  • comment: Inspect, create and manage node comments.

  • completioncommand: Return the code to activate bash completion.

  • computer: Setup and manage computers.

  • config: Configure profile-specific or global AiiDA options.

  • daemon: Inspect and manage the daemon.

  • data: Inspect, create and manage data nodes.

  • database: Inspect and manage the database.

  • devel: Commands for developers.

  • export: Create and manage export archives.

  • graph: Create visual representations of the provenance graph.

  • group: Create, inspect and manage groups of nodes.

  • help: Show help for given command.

  • import: Import data from an AiiDA archive file.

  • node: Inspect, create and manage nodes.

  • plugin: Inspect AiiDA plugins.

  • process: Inspect and manage processes.

  • profile: Inspect and manage the configured profiles.

  • quicksetup: Setup a new profile in a fully automated fashion.

  • rehash: Recompute the hash for nodes in the database.

  • restapi: Run the AiiDA REST API server.

  • run: Execute scripts with preloaded AiiDA environment.

  • setup: Setup a new profile.

  • shell: Start a python shell with preloaded AiiDA environment.

  • status: Print status of AiiDA services.

  • user: Inspect and manage users.

Python interface

While the verdi CLI provides shortcuts for many common tasks, the AiiDA python API provides full access to the underlying AiiDA python objects and their methods. This is possible via the interactive verdi shell and via python scripts:

Manage data

Deleting Nodes

Schedulers

Instances of CalcJobNode instances are submitted by the daemon to an external scheduler. For this functionality to work, AiiDA needs to be able to interact with these schedulers. Interfaces have been written for some of the most used schedulers.