Skip to content

Remove execution engine and refactor to transpile-only API#49

Open
conradbzura wants to merge 1 commit intomainfrom
transpile-only-api
Open

Remove execution engine and refactor to transpile-only API#49
conradbzura wants to merge 1 commit intomainfrom
transpile-only-api

Conversation

@conradbzura
Copy link
Collaborator

  • Add new public API: transpile() function and Table dataclass
  • Replace SchemaInfo/TableSchema/ColumnInfo with simpler Table/Tables types
  • Remove GIQLEngine, CLI, and dialect-specific generators
  • Delete integration tests that depended on execution engine
  • Update all generators and transformers to use new Table types



@dataclass
class Table:
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simplified interval table definition.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add a name attribute

- Add new public API: `transpile()` function and `Table` dataclass
- Replace SchemaInfo/TableSchema/ColumnInfo with simpler Table/Tables types
- Remove GIQLEngine, CLI, and dialect-specific generators
- Delete integration tests that depended on execution engine
- Update all generators and transformers to use new Table types
return container


def transpile(
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New API definition. Wondering if we should expose the Table fields here to make it easy to override the defaults without having to pass in a bunch of Table instances if they're all going to be using the same parameters...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could do list[str | dict | Table], where the dict is unpacked into to the Table constructor so that missing keys are assigned default values.

@conradbzura conradbzura linked an issue Feb 3, 2026 that may be closed by this pull request
Copy link
Member

@nvictus nvictus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Add a (required) name attribute to Table: e.g., Table("foo", genomic_col="range")
  • For transpile: Make the tables parameter list[str, Table]. Optionally, support dict elements in the tables list. Remove the dict[str, Table] argument variant.
  • Change the constants:
DEFAULT_CHROM_COL = "chrom"
DEFAULT_START_COL = "start"
DEFAULT_END_COL = "end"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

transpile-only API

2 participants