dune-client
A simple framework for interacting with Dune Analytics official API service.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is the official client for Dune's API. Install it if you need to query Dune Analytics from Python; the main prerequisite is a valid API key and an active Dune account.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a valid DUNE_API_KEY environment variable to authenticate with the Dune Analytics API.
- Low friction install with six straightforward dependencies.
- The package is actively maintained with a release within the last 10 days and supports current Python versions (3.11–3.14).
License · maintenance · safety
Apache License Version 2.0 (permissive) — Apache License 2.0 is permissive; you can use, modify, and distribute this package freely in commercial and private projects as long as you include the license notice.
last release 2026-08-04 (10 days) · last repo commit 2026-08-04 · 137 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 218,272 downloads/mo, #9,342 on PyPI
Alternatives
Verify before relying
pip install dune-client
from dune_client.client import DuneClient
from dune_client.types import QueryParameter
from dune_client.query import QueryBase
dune = DuneClient()
query = QueryBase(name="Sample", query_id=1215383)
results = dune.run_query(query)- Rate limits or throttling behavior on the Dune API when running frequent queries.
- Whether paid subscription features (CRUD operations, query creation) are fully functional in all environments.
- Performance characteristics when handling large result sets or complex parameterized queries.
What it is and what it does
dune-client is a Python wrapper around Dune Analytics' official REST API, designed to let you run SQL queries against blockchain data and retrieve results programmatically. It handles authentication, query parameterization (text, number, date, enum types), and result formatting—you can fetch results as JSON, CSV, or Pandas DataFrames. The package also supports advanced features like fetching cached results without re-running queries, and for paid subscribers, full CRUD operations to create, update, archive, and manage queries directly from Python.
The library is built on standard HTTP clients (aiohttp and requests) and JSON serialization tools, making it straightforward to integrate into data pipelines, analytics scripts, or automated reporting workflows. It requires Python 3.11 or later and is actively maintained by the Dune Analytics team.
Use it for
- Run parameterized SQL queries against Ethereum and other blockchain data without leaving Python.
- Fetch cached query results to avoid re-execution costs when data freshness allows.
- Build automated dashboards or reports that pull on-chain metrics into Pandas DataFrames.
- Programmatically manage a library of Dune queries (create, update, archive) as part of a data pipeline.
- Integrate blockchain data retrieval into Python applications that need real-time or periodic on-chain metrics.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has low install friction, carries no known vulnerabilities, and is the official client for Dune's API. Install it if you need to query Dune Analytics from Python; the main prerequisite is a valid API key and an active Dune account.
Install
dune-client on PyPI
Before you install
Low friction install with six straightforward dependencies. The package is actively maintained with a release within the last 10 days and supports current Python versions (3.11–3.14).
Requires a valid DUNE_API_KEY environment variable to authenticate with the Dune Analytics API.
License in practice
Apache License 2.0 is permissive; you can use, modify, and distribute this package freely in commercial and private projects as long as you include the license notice.
Quickstart
pip install dune-client
from dune_client.client import DuneClient
from dune_client.types import QueryParameter
from dune_client.query import QueryBase
dune = DuneClient()
query = QueryBase(name="Sample", query_id=1215383)
results = dune.run_query(query)
Verify before relying
- Rate limits or throttling behavior on the Dune API when running frequent queries.
- Whether paid subscription features (CRUD operations, query creation) are fully functional in all environments.
- Performance characteristics when handling large result sets or complex parameterized queries.
Package facts
| License | Apache License Version 2.0 permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesaiohttpdataclasses-jsondeprecatedndjsonpython-dateutilrequests |
| Maintenance | Actively maintained 10 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 218,272 / month, #9,342 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: dune_client-1.11.4-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 › “dune analytics api client”
- dune-clientA Python client for querying and managing Dune Analytics queries via…
- google-analytics-dataPython client library for querying Google Analytics Data API to…
- google-analytics-adminPython client library for the Google Analytics Admin API, enabling…
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 wolframalpha · yandex-query-client · pyspark-client · pyspark · bigframes · pandasql · stellar-sdk · datafusion · pony · segment-analytics-python