Exercise - Export Feedback Data

Welcome to your first exercise of the tutorial!

Exercise 1 - Export feedback data

Now that you have exported the test/train data and the inference data using the given export scripts, it is time to export the feedback data as well.

Can you write a script that will use mona_sdk to export the feedback data to Mona?

Feel free to use our SDK documentation for help.


You can skip this exercise by using the export_feedback_data.py script just like you did with the rest of the data

See Solution You can use the given export_feedback_data script found in the tutorial git repository, or see below:
  • make sure to add your API key, secret and context class name
import logging
import os

from mona_sdk import Client, MonaSingleMessage

from util import read_dicts_from_zip

# Get your Mona api_key and secret.
api_key = os.environ.get("MONA_API_KEY", "YOUR-API-KEY")
secret = os.environ.get("MONA_SECRET", "YOUR-SECRET")

# Initiate Mona's client.
my_mona_client = Client(api_key, secret)

my_logger = logging.getLogger()

context_class_name = os.environ.get("CONTEXT_CLASS_NAME", "YOUR-CONTEXT-CLASS-NAME")

# Send the feedback information: was the loan returned on time or not.
for single_day_data_file_name in [
    file for file in os.listdir("loans_feedback_status") if file.endswith(".gzip")
    loans_return_status_data = read_dicts_from_zip(

    loans_return_status_data_to_send = []

    for single_loan_data in loans_return_status_data:
                # Now, the message field will contain the information we want to add
                # for each loan.
                message={"loan_paid_back": single_loan_data["loan_paid_back"]},
                # As mentioned before, the id here matches a loan from the previous
                # batch, so this new information will be connected to this specific
                # loan.

    # Export the batch to Mona's servers.
    logging.info(f"Exporting a batch of {len(loans_return_status_data_to_send)}")
    export_result = my_mona_client.export_batch(loans_return_status_data_to_send)
    logging.info(f"Export result is: {export_result}")