Command Line (DAP CLI)

Access your organization's Instructure data from the command line.

The Data Access Platform (DAP) CLI is a command-line tool that enables efficient access to large volumes of educational data with high fidelity and low latency. It adheres to a canonical data model and integrates with various educational products.

Built on top of the Query API, DAP CLI allows you to:

  • Fetch initial snapshots of data.

  • Track incremental changes.

  • Initialize and synchronize a supported database with DAP data.

Before using DAP CLI, it is recommended to familiarize yourself with the key concepts of DAP.

For developers, a Python library implementing the Query API is also available. The CLI is essentially a wrapper around this library, offering the same robust functionality in a command-line interface for ease of use.

Requirements

  • Supported Operating Systems: Ubuntu 22, Windows 11 (via WSL-based Python only), Windows Server 2022 (via WSL-based Python only), MacOS 14+

  • Supported Database Integrations: PostgreSQL 16.3+, MySQL 8.2+, Microsoft SQL Server 2019+

  • Supported Python Versions: Python 3.11+

Commands

The basic syntax is:

dap [arguments] [command] [flags]

Refer to Reference section in the sidebar for a list of available commands. Or, run the dap --help command to get this information right in the terminal.

Upgrading

To ensure optimal performance, always use the latest version of DAP CLI. Check your current version with:

dap --version

To upgrade to the latest version, run:

pip install --upgrade instructure-dap-client
pip install --upgrade "instructure-dap-client[postgresql,mysql]"

Rate Limiting

DAP CLI follows the rate limiting policies of DAP. Be mindful of these limits when making requests.

Logging & Debugging

The default log level is info, and messages are printed to the console. To change the log level or save logs to a file, use the following parameters:

dap --loglevel debug --logfile dap.log initdb --namespace canvas --table accounts

Using in scripts

When executing the DAP CLI from a shell or other script the exit code can be used to determine if there were errors during execution, only the exit code 0 indicates a successful execution.

When executing on multiple tables it might happen that it fails for some tables, in this case the exit code will be non zero even if it failed only on a single table.

Where To Get Help

Last updated

Was this helpful?