Python Upload for Zip Artifacts
Use this guide to programmatically upload a .zip file to any Euno source integration that accepts zip artifacts via the prepare-upload endpoint.
This flow is shared by:
For Custom integration bulk uploads (.json, .jsonl, .ndjson), see Handling High Volume of Observations.
Prerequisites
Python 3.6+
requestslibrary (pip install requests)A saved source with a trigger secret and
prepare-uploadendpoint URL from the post-save modal
Prepare your zip file
Create a single .zip file before running the script. What to include depends on your integration:
dbt Core
manifest.json, catalog.json, run_results.json, and optional semantic_manifest.json from your dbt target/ directory
Cube Core
Your Cube model/ directory (model/**/*.yml or model/**/*.yaml)
Hex Semantic Project
dbt_project.yml plus dbt MetricFlow YAML files with Hex configuration
Matillion DPC
Matillion export artifacts required by your source configuration
Example for Cube Core:
Script
Usage
Configure the script: Set
endpoint_url,trigger_secret, andzip_file_pathCreate the zip: Package the files required by your integration (see Prepare your zip file)
Install dependencies:
pip install requestsRun the script: Execute after your pipeline produces the artifacts
Verify the run: Open your source on the Sources page and review the latest operation and run report
cURL alternative
Step 1: Request a signed upload URL
Step 2: Upload the zip to the signed URL
Use the url from the upload object in the response:
When the upload succeeds, Euno automatically starts processing the file. No further API call is required.
Last updated