-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Description
Execution APIs are vast and varied across backends, especially when it comes to sourcing/ingesting tables and eager/lazy/streaming behavior.
Let's keep giql's API solely focused on transpilation.
Proposal:
transpile(giql: str, target_dialect: Literal[...], tables: list[str | Table]) -> strPerhaps, with convenience aliases:
giql.to_duckdb(giql: str, tables: list[str | giql.Table]) -> str
giql.to_sqlite(giql: str, tables: list[str | giql.Table]) -> strGenomic tables must be declared in order to:
- identify their symbols during transpilation ("name", required)
- identify the appropriate genomic column names
- identify the coordinate system and interval semantics
- set the genomic pseudo-column name ("interval" by default)
Currently, column data types are not required.
The tables argument can take a list of either table names (with default attributes) or instances of a dataclass Table or perhaps an equivalent dict.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels