Files
dagster/apps/vinyl/src/definitions.py
2025-07-26 21:15:59 +02:00

33 lines
1.0 KiB
Python

import assets
from dagster_polars import PolarsParquetIOManager
from icecream import install
from jobs import check_partitions_job, deals_job
from schedules import deals_schedule
from utils.email import EmailService
import dagster as dg
install()
definitions = dg.Definitions(
assets=[
asset.with_attributes(
group_names_by_key={asset.key: "vinyl"},
tags_by_key={asset.key: {"app": "vinyl"}},
)
for asset in dg.load_assets_from_modules([assets])
],
resources={
"polars_parquet_io_manager": PolarsParquetIOManager(base_dir="/storage/vinyl"),
"email_service": EmailService(
smtp_server=dg.EnvVar("SMTP_SERVER"),
smtp_port=dg.EnvVar.int("SMTP_PORT"),
smtp_username=dg.EnvVar("SMTP_USERNAME"),
smtp_password=dg.EnvVar("SMTP_PASSWORD"),
sender_email=dg.EnvVar("SENDER_EMAIL"),
receiver_email=dg.EnvVar("RECEIVER_EMAIL"),
),
},
jobs=[deals_job, check_partitions_job],
schedules=[deals_schedule],
)