chainalysis.sql package¶
Submodules¶
chainalysis.sql.analytical module¶
- class chainalysis.sql.analytical.Analytical(api_key: str)[source]¶
Bases:
object
This class provides methods to execute SQL queries on Data Solutions analytical tables. It supports fetching results as JSON or a pandas DataFrame, and provides query execution statistics.
- __call__(query: str, parameters: dict[str] = {}, polling_interval_sec: int = 5, autopaginate: bool = True)[source]¶
Execute a SQL query asynchronously using the provided parameters and polling interval.
Autopagination is enabled by default. If autopagination is enabled, the method will fetch all pages of results and return a single Analytical object with all results.
Otherwise, the method will return an Analytical object with the first page of results. Use the next_page() method to fetch the next page of results and the stats() method to get statistics that can help you determine the approach to take to fetch all results.
- Parameters:
query (str) – The SQL query to be executed.
parameters (dict[str], optional) – A dictionary of parameters to be used in the query.
polling_interval_sec (int, optional) – The interval in seconds between status checks. The minimum value is 5 seconds.
autopaginate (bool, optional) – Whether to automatically full results instead of individual pages.
- Returns:
An instance of the Analytical class with query results.
- Return type:
- __init__(api_key: str)[source]¶
Initialize the Analytical class with the provided API key.
- Parameters:
api_key (str) – The API key for accessing the analytical service.
- df()[source]¶
Convert query results into a pandas DataFrame.
- Raises:
Exception – Raises an exception if the query resulted in an error.
- Returns:
DataFrame containing the results of the SQL query.
- Return type:
pd.DataFrame
- has_next() bool [source]¶
Return if the next page exists.
- Returns:
Whether next page exists.
- Return type:
bool
- json()[source]¶
Return results as a JSON.
- Raises:
Exception – Raises an exception if the query resulted in an error.
- Returns:
Results of the SQL query as a JSON.
- Return type:
dict
- next_page()[source]¶
Fetch the next page of analytical query results.
- Returns:
An instance of the Analytical class with the next page of results.
- Return type:
- stats()[source]¶
Get the statistics of the executed query.
- Returns:
Statistics of the query execution.
- Return type:
dict
- status_code()[source]¶
Get the HTTP status code of the response.
- Returns:
HTTP status code.
- Return type:
int
chainalysis.sql.sql module¶
chainalysis.sql.transactional module¶
- class chainalysis.sql.transactional.Transactional(api_key: str)[source]¶
Bases:
object
This class provides methods to handle transactional queries. It supports fetching results as JSON or pandas DataFrame, and provides query execution statistics.
- __call__(query: str, parameters: dict[str, str] = {}, options: dict[str, str] = {}) Transactional [source]¶
Execute a SQL query using the provided parameters and options.
- Parameters:
query (str) – SQL query template with placeholders for parameters.
parameters (dict[str, str]) – Parameters to format the SQL query.
options (dict[str, str]) – Additional options for query execution.
- Returns:
Returns self for chaining or method chaining.
- Return type:
- __init__(api_key: str)[source]¶
Initialize the Transactional object with an API key.
- Parameters:
api_key (str) – API key for authenticating requests.
- df() DataFrame [source]¶
Convert query results into a pandas DataFrame.
- Raises:
Exception – Raises an exception if the query resulted in an error.
- Returns:
DataFrame containing the results of the SQL query.
- Return type:
pd.DataFrame
- json() dict [source]¶
Return the JSON data of the results.
- Raises:
Exception – Raises an exception if the query resulted in an error.
- Returns:
JSON results of the SQL query.
- Return type:
dict
- stats() dict [source]¶
Get the statistics of the executed query.
- Returns:
Statistics of the query execution.
- Return type:
dict