Python Editor Console
Introduction
This document provides detailed guidelines on using the integrated Python editor console within our platform. The editor is pre-configured with essential libraries and functionalities to assist in executing Python scripts effectively, particularly for data querying and handling secrets.
Where to find the Python Editor Console ?
In the Create Metric page, click on the "Custom Query" option located at the top left side of the page.
Then, choose "</> Python" from the dropdown in "</> Query Editor" panel to access our Python Editor Console.

Pre-installed Libraries
Requests Module: The
requests
library is readily available and pre-imported for HTTP requests. You do not need to import it again in your scripts.
import requests # This module is already available in the scope
Working with Variables
To integrate dynamic data within your scripts, you can utilize predefined variables and data structures:
Client ID: Use the variable
client_id
which should be a string representing the client identifier.Metric Filters: This variable
metric_filters
allows for the filtering of data based on various criteria. The structure ofmetric_filters
is defined as follows:from typing import Dict, Optional, Union import datetime class DateDict: startDate: datetime.date endDate: datetime.date # MetricFilters type annotation MetricFilters = Dict[str, Union[DateDict, str, int]]
The
metric_filters
variable can include filters of types STRING, DATE, and NUMBER, uniquely identified by a filter name:STRING: A plain string value.
DATE: A dictionary containing
startDate
andendDate
, both ofdatetime.date
type.NUMBER: An integer value.
Handling Secrets
Secrets are stored and accessed via the secrets
dictionary. This allows secure storage and retrieval of sensitive data such as API keys or database credentials: You can set up your secrets in the Home Page β Settings Tab β Secrets.
url = secrets['BASE_URL'] # Accessing the base URL stored in secrets
res = requests.get(url).json() # Making a GET request using the retrieved URL
Storing Results
To store or output data from your script, assign your data to the result
variable. This variable should be an array of objects (or a list of dictionaries in Python terms):
result = [{'key': 'value'}, ...] # An example assignment to the result variable
result = requests.get('SOME URL').json() # Storing JSON response from a GET request
Usage Example
Hereβs are some quick examples demonstrating how to utilize these capabilities:
country_population = {
'USA': 331000000,
'India': 1380000000,
'China': 1430000000,
'Brazil': 212600000,
'Nigeria': 206000000
}
result = [{'country': country, 'population': population} for country, population in country_population.items()]
# Assuming client_id and metric_filters are predefined
client_id = '12345'
metric_filters = {'salesDate': {'startDate': datetime.date(2021, 1, 1), 'endDate': datetime.date(2021, 12, 31)}}
# Accessing a secret
api_url = secrets['API_URL']
# Making a GET request
response = requests.get(f"{api_url}/data?client_id={client_id}").json()
# Assigning response to result
result = response
This guide should help you effectively utilize the Python editor console for your data handling needs. The capabilities outlined here are designed to enhance the security, flexibility, and efficiency of your data manipulation tasks.
Last updated