Skip to main content

vibedata-dlt-redshift-studio

The dlt runtime execution unit for an Amazon Redshift Domain, installed in the Studio-local intent venv.

import dlt
from vibedata.dlt.redshift import setup_environment, finalize

setup_environment()
pipeline = dlt.pipeline(
    pipeline_name="my_pipeline", destination="redshift", dataset_name="analytics"
)
try:
    pipeline.run(source)
except Exception as e:
    finalize(pipeline, error_message=str(e))
    raise
finalize(pipeline)

setup_environment() registers the Domain's Secret Store provider and mints the Ephemeral database's password into this process, under dlt's own DESTINATION__REDSHIFT__CREDENTIALS__PASSWORD. Studio publishes the other four coordinates — HOST, PORT, DATABASE, USERNAME — into the Intent environment under the matching names, and dlt reads those natively, so the pipeline names no VD_* variable itself.

The password is separate because Redshift authenticates with a credential minted per invocation, scoped to one database and valid for at most an hour.

The Broker's database_password answer also names the database user the password was minted for, and the password is valid for that user only. That username replaces the projected USERNAME, verbatim: a composite such as IAMA:<user>:<group> is the whole login name and is not parsed. An older Broker answers with access_token alone, and the projected username stays.

The credential is minted once per run and is not refreshed. A connection opened after it expires fails to authenticate, so a single dlt command is bounded by the credential's lifetime.

Without one, dlt refuses to configure the destination and names DESTINATION__REDSHIFT__CREDENTIALS__PASSWORD — which no authored pipeline sets, so this unit fails at the mint and names the Broker instead. A blank password is the case worth guarding: dlt resolves it cleanly and the load then reaches Redshift as a real login attempt, so an empty Broker answer is refused rather than set.

The minted password lives in os.environ for the life of the process, as the MotherDuck unit's token does — inherited by any child it spawns.

finalize() persists the audit tables. A Redshift load writes directly, so there is nothing to sync afterwards.

Metadata

Release files for vibedata-dlt-redshift-studio 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vibedata-dlt-redshift-studio 0.2.0
File Size Uploaded
vibedata_dlt_redshift_studio-0.2.0.tar.gz 7.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vibedata-dlt-redshift-studio 0.2.0
File Interpreter ABI Platform
vibedata_dlt_redshift_studio-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.6 kB

Release files / vibedata_dlt_redshift_studio-0.2.0.tar.gz

Download URL vibedata_dlt_redshift_studio-0.2.0.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1a4475a7e2704e15a56fcb48a5a6a705bb2aebd11c23f0e223f17ec3f8ece239
BLAKE2b-256 checksum
How to use checksums
6133cb819a100899fd1e13135b52fa251599a1c059d44ae9b5f0ce9cd22e6979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / vibedata_dlt_redshift_studio-0.2.0-py3-none-any.whl

Download URL vibedata_dlt_redshift_studio-0.2.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f21bd2d989bac260085aa6287c403bbaf84cdcf873e21afb8e23eb0d845c23ee
BLAKE2b-256 checksum
How to use checksums
fc21a87ddce297a05a42124732a1be30971c900c7e04a2b9c15aef49ecfe4a95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page