instructure-dap-client
Data Access Platform client library
Decision gist · record as of 2026-08-14
Yes, if you are an Instructure customer needing programmatic access to DAP data. The library is actively maintained, has low install friction, carries a permissive MIT license, and integrates well with modern async Python workflows. No known security vulnerabilities. Install only if you have DAP credentials and a use case requiring bulk data export; it is not a general-purpose tool.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later.
- Authentication credentials for Instructure DAP must be configured separately.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both commercial and open-source projects.
last release 2026-03-16 (151 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 98,280 downloads/mo, #13,095 on PyPI
Alternatives
Verify before relying
pip install instructure-dap-client
import asyncio
from instructure_dap_client import DAPClient
async def main():
client = DAPClient()
# Query data from DAP
asyncio.run(main())- Whether the library supports offline mode or requires live API connectivity for all operations.
- Specific rate limits or throttling behavior when querying large datasets.
- Whether analytics opt-out persists across sessions or requires per-call configuration.
What it is and what it does
This is a Python client library for Instructure's Data Access Platform, designed to fetch bulk analytics data from educational products (Canvas, Instructure Studio, etc.) with high fidelity and low latency. It wraps the DAP query API in an async-first interface using aiohttp, aiohttp-retry for resilience, and asyncclick for CLI tooling. The library includes built-in JWT authentication (PyJWT), type hints (json_strong_typing, types-aiofiles), and output formatting (rich, tsv2py) to streamline data retrieval workflows.
Developers use it to pull large datasets for analytics, reporting, or data warehouse integration. The async design allows concurrent queries, and the CLI integration means you can use it both as a library in Python code and as a command-line tool. The package collects anonymous usage analytics by default but allows opt-out via the CLI.
Use it for
- Export bulk student and course data from Canvas for institutional analytics or data warehouse ingestion.
- Build automated reporting pipelines that query DAP on a schedule and transform results into dashboards or CSV exports.
- Integrate Instructure product data into third-party BI tools or custom analytics applications.
- Prototype and test DAP queries interactively via the CLI before embedding them in production code.
- Fetch historical data snapshots for compliance audits or institutional research.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are an Instructure customer needing programmatic access to DAP data.
The library is actively maintained, has low install friction, carries a permissive MIT license, and integrates well with modern async Python workflows. No known security vulnerabilities. Install only if you have DAP credentials and a use case requiring bulk data export; it is not a general-purpose tool.
Install
instructure-dap-client on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained as of March 2026. Requires Python 3.11 or later, which narrows compatibility to modern environments.
Requires Python 3.11 or later. Authentication credentials for Instructure DAP must be configured separately.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both commercial and open-source projects.
Quickstart
pip install instructure-dap-client
import asyncio
from instructure_dap_client import DAPClient
async def main():
client = DAPClient()
# Query data from DAP
asyncio.run(main())
Verify before relying
- Whether the library supports offline mode or requires live API connectivity for all operations.
- Specific rate limits or throttling behavior when querying large datasets.
- Whether analytics opt-out persists across sessions or requires per-call configuration.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 10 packagesaiohttpaiohttp-retryaiofilesasyncclicktypes-aiofilesjson_strong_typingpysqlsyncPyJWTtsv2pyrich |
| Maintenance | Actively maintained 151 days since the last release |
| First released | |
| Downloads | 98,280 / month, #13,095 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed |
Evidence: instructure_dap_client-2.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “instructure data access platform client”
- instructure-dap-clientClient library for querying Instructure's Data Access Platform (DAP),…
- foundry-platform-sdkA Python client library for the Foundry API that provides…
- ibm-platform-servicesPython client library for IBM Cloud Platform Services that provides…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also sec-api · debugpy · google-analytics-data · salesforce-bulk · devolo-home-control-api · daal4py · dlthub-client · cua-core · groq · posthoganalytics