Dune Analytics

December 16, 2022 ยท View on GitHub

Python 3.9

License

Build


Unofficial Python Library for Dune Analytics

The library can be used to fetch the table data from python backend.

Disclaimer: Use at your own risk!

It may not work for some/all urls.

This library doesn't run the query, rather it fetches the query result from the backend.


Charts Plotted:

Here are some examples of charts plotted in Googlesheet after fetching the data.


@balancerlabs / Balancer New/Old Traders

Balancer


@k06a / 1inch New/Old Users Per Day

1inch


@Bancor / Bancor Unique Protected Wallets Over Time

Bancor


Installation:

use pip to install:

pip install duneanalytics

Authentication:

You need to have username & password for Dune Analytics


Example usage:

from duneanalytics import DuneAnalytics

# initialize client
dune = DuneAnalytics('username', 'password')

# try to login
dune.login()

# fetch token
dune.fetch_auth_token()

# fetch query result id using query id
# query id for any query can be found from the url of the query:
# for example: 
# https://dune.com/queries/4494/8769 => 4494
# https://dune.com/queries/3705/7192 => 3705
# https://dune.com/queries/3751/7276 => 3751

result_id = dune.query_result_id(query_id=5508)

# fetch query result
data = dune.query_result(result_id)

For some queries above might not work specially if using v3. Try to use below in that case:
# for example: 
# https://dune.com/queries/1105079

result_id = dune.query_result_id_v3(query_id=1105079)

# fetch execution result
data = dune.get_execution_result(result_id)