dlt.destinations.impl.ducklake.configuration
DuckLakeCredentials Objects
@configspec(init=False)
class DuckLakeCredentials(DuckDbBaseCredentials)
__init__
def __init__(ducklake_name: str = DEFAULT_DUCKLAKE_NAME,
metadata_schema: Optional[str] = None,
catalog: Union[str, ConnectionStringCredentials] = None,
storage: Union[str, FilesystemConfiguration] = None) -> None
Initialize DuckLake credentials by passing ducklake name, catalog and storage configuration.
Arguments:
ducklake_name- str This value is mainly used as ATTACH name for the ducklake database and as names for catalog and storage files if not configured explicitly. If omitted, ducklake name is derived from destination name or pipeline name.metadata_schema- str, optional Metadata schema to use for SQL-based catalogs. If omitted, defaults toducklake_name.catalog- Either a connection string (for example, "sqlite:///catalog.sqlite", "duckdb:///catalog.duckdb", or "postgres://loader:loader@localhost:5432/dlt_data") or a ConnectionStringCredentials instance. If omitted, will default the catalog to a local sqlite database whose filename is derived from the name_or_conn_str argument.storage- Either a storage URL string (for example, "file://...", "s3://bucket/prefix") or a FilesystemConfiguration instance. If omitted, it will create a folder for data with name derived from the name_or_conn_str argument.
storage_url
@property
def storage_url() -> str
Convert file:// url into native os path so duckdb can read it
catalog_location
def catalog_location() -> str
Returns a non-secret catalog identity which locates the ducklake. When the catalog has no credential-free identity, this method digests the catalog. Two lakes then never get the same identity.
DuckLakeClientConfiguration Objects
@configspec
class DuckLakeClientConfiguration(WithAttachableEngine, WithLocalFiles,
DestinationClientDwhWithStagingConfiguration
)
create_indexes
does nothing but required
automatic_migration
When true, attaches with AUTOMATIC_MIGRATION true so DuckDB migrates an older DuckLake catalog schema on attach.
fingerprint
def fingerprint() -> str
Returns a fingerprint of the underlying storage.
data_location
def data_location() -> str
Returns the catalog identity which locates the ducklake.
needs_attach
def needs_attach(other: DestinationClientConfiguration) -> bool
Returns False within one lake. The query engine already accesses every schema of that lake.
__str__
def __str__() -> str
Return ducklake displayable location that contains catalog and storage locations