from seerpy import Seer
import pandas as pd
from sqlalchemy import create_engine
seer = Seer(apiKey='YOUR_API_KEY')
def extract_data():
# Extract from multiple sources
customers = pd.read_sql("SELECT * FROM customers", source_db)
orders = pd.read_sql("SELECT * FROM orders", source_db)
return customers, orders
def transform_data(customers, orders):
# Join and aggregate
merged = orders.merge(customers, on='customer_id')
daily_summary = merged.groupby('date').agg({
'order_id': 'count',
'amount': 'sum'
})
return daily_summary
def load_data(data):
# Load to warehouse
data.to_sql('daily_summary', warehouse_db, if_exists='append')
# Monitor the entire ETL pipeline
with seer.monitor("daily-etl", capture_logs=True):
customers, orders = extract_data()
summary = transform_data(customers, orders)
load_data(summary)
print(f"✓ Processed {len(summary)} records")Key Features: Automatic error tracking, log capture, execution time monitoring