Skip to main content

Introduction and Usage Examples

A command line tool for any database can greatly simplify quite a few data management tasks. ApertureDB client ships with a command line utility to support some common functions.

It's design goals are to:

  • Reduce boiler plate code for simple tasks.
  • Be extensible for arbitrary use cases.


adb command line tool lets you:
  • Configure and manage multiple ApertureDB server connection profiles
  • Ingest data from CSV (comma separated value) files while setting up your ETL pipelines
  • Use data generators while ingesting this data
  • Apply transformations as part of data ingestion
  • Update existing metadata and data
  • Execute native queries, and
  • Invoke common utility methods.

It is automatically installed when the ApertureDB client is installed via pip.


To make it more useful, execute adb --install-completion before anything else

For a complete command line reference, please see documentation.

Common Usage Examples

adb config

To connect to an instance of ApertureDB, we need to specify where and how to connect. This information is collectively refered to as a connection configuration, or config.

The following adb sub commands help with config management.

List all the configs a user has created

adb config ls

Create a config named local

adb config create local

We often need to try things in a sandbox or a local environment, before a production run.

adb config activate facilitates switching between different database instances. This way, we can debug things with code using ApertureDB python sdk with config pointing to a local instance, and once it is satisfactory, activate a production config, and rerun the same code.

Activate one of the configs from the list

adb config activate local --as-global

adb ingest

adb supports 2 out of 3 ingest mechanisms available to load data into an instance of ApertureDB.

Let's assume your data has been saved into a CSV file called hello.csv. Then to ingest, you can run:

adb ingest from-csv hello.csv

Alternatively, assuming that you implement a data generator named This is how you could put all the data into ApertureDB.

adb ingest from-generator

adb transact

If there is a JSON query like any one from these examples saved as a json file named person.json, then it could be run against ApertureDB as follows:

adb transact from-json-file person.json

adb utils

Simple things like getting the DB status, summary, purging all the data, or removing all the indices can be accomplished using commands like:

adb utils execute status
adb utils execute summary
adb utils execute remove_all

Auxillary uses of adb.

  • It's a reference of how to build applications using python sdk.
  • Commonly (re)used database operations packaged as a CLI

adb source code.

A complete reference to adb options.