Skip to content

Feat ddl data gen#77

Draft
am357 wants to merge 2 commits intomainfrom
feat-ddl-data-gen
Draft

Feat ddl data gen#77
am357 wants to merge 2 commits intomainfrom
feat-ddl-data-gen

Conversation

@am357
Copy link
Copy Markdown
Contributor

@am357 am357 commented Mar 30, 2026

Issue #, if available:

Description of changes:

  • Adds data generation using DDL support; both. on the CLI and API side.
  • Adds the a PyO3 binding for the new feature

Next:

  • Update Beamline 101 and Book

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

am357 added 2 commits March 27, 2026 09:17
Add the ability to generate data directly from DDL column definitions,
both via the CLI and programmatically as a library.

CLI changes:
- Add --ddl and --ddl-path flags as alternatives to --script/--script-path
- Add --dataset-name flag to specify the table name (default: 'data')

Library API:
- New ddl_to_script module: parses DDL column definitions and converts
  them to Beamline Ion scripts with appropriate Uniform generators
- New ddl_generator module: DdlDataGenerator builder provides a high-level
  API for programmatic data generation from DDL

Supported DDL types: VARCHAR, TINYINT/INT8, SMALLINT/INT16, INT/INT32,
INT64/BIGINT, DOUBLE/FLOAT, DECIMAL(p,s), BOOL, TIMESTAMP, STRUCT<>,
ARRAY<>, UNION<>. Handles OPTIONAL and NOT NULL modifiers.

Includes 26 unit tests covering parsing, type mapping, error handling,
reproducibility, and end-to-end generation.
@am357 am357 force-pushed the feat-ddl-data-gen branch from ae5a90e to 9a82936 Compare April 18, 2026 00:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant