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.
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:
- AiiDA data types
- Automatic computation of k-point paths
- Export data nodes to various formats
- About the QueryBuilder
- The appender method
- The queryhelp
- Directly querying in Django
- Directly querying in SQLAlchemy
Import and Export¶
- AiiDA Graphs
- Structures and external databases
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.
- Increasing the debug level
- AiiDA performance tuning
- Various tips & tricks