ddlparse
DDL parase and Convert to BigQuery JSON schema
Decision gist · record as of 2026-08-14
Yes, if you need to parse and convert CREATE TABLE DDL from MySQL, PostgreSQL, Oracle, or Redshift to BigQuery format. The package is stable, has no known vulnerabilities, and installs cleanly. However, maintenance is dormant (last release July 2021); if you need support for newer SQL features or active bug fixes, verify that the package handles your specific dialect variations before committing to it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.5; only CREATE TABLE statements are supported, not other DDL operations.
- Low friction: pure Python wheel with a single runtime dependency (pyparsing).
- Maintenance is dormant—last release was 2021-07-09 and last commit 2023-10-23—but the package is marked Production/Stable and has seen no security issues.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you may use, modify, and distribute this package freely in commercial and private projects provided you include the license text and a notice of changes.
last release 2021-07-09 (1862 days) · last repo commit 2023-10-23 · 87 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 85,974 downloads/mo, #13,891 on PyPI
Alternatives
Verify before relying
from ddlparse import DdlParse
sample_ddl = "CREATE TABLE My_Schema.Sample_Table (Id integer PRIMARY KEY, Name varchar(100) NOT NULL);"
table = DdlParse().parse(sample_ddl)
print(table.to_bigquery_fields())- Whether the parser handles all MySQL, PostgreSQL, Oracle, and Redshift dialect variations equally well, or if some databases have better coverage than others.
- Performance characteristics on large or complex DDL statements.
- Whether dormant status (last release 2021-07-09) means the package is stable enough for production or if it lacks support for newer SQL features.
What it is and what it does
ddlparse is a Python library that reads CREATE TABLE statements written in MySQL, MariaDB, PostgreSQL, Oracle, or Redshift SQL dialects and extracts the schema structure into a programmatic object model. It then converts that schema to BigQuery-compatible JSON schema format or generates equivalent BigQuery CREATE TABLE DDL statements. The package depends only on pyparsing and installs as a pure Python wheel.
You use it when you need to migrate table definitions from one of those source databases to BigQuery, or when you need to programmatically inspect and transform table structure from raw DDL. It exposes column-level metadata (data types, constraints, precision, scale, nullability, keys, defaults, comments) and supports case normalization of identifiers during conversion.
Use it for
- Migrate table schemas from MySQL or PostgreSQL to BigQuery by parsing existing DDL and generating BigQuery-compatible schema.
- Extract column metadata (types, constraints, nullability) from Oracle or Redshift CREATE TABLE statements for documentation or validation.
- Programmatically transform DDL identifiers to uppercase or lowercase during schema conversion pipelines.
- Generate BigQuery JSON schema files from legacy database DDL without manual rewriting.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to parse and convert CREATE TABLE DDL from MySQL, PostgreSQL, Oracle, or Redshift to BigQuery format.
The package is stable, has no known vulnerabilities, and installs cleanly. However, maintenance is dormant (last release July 2021); if you need support for newer SQL features or active bug fixes, verify that the package handles your specific dialect variations before committing to it.
Install
ddlparse on PyPI
Before you install
Low friction: pure Python wheel with a single runtime dependency (pyparsing). Maintenance is dormant—last release was 2021-07-09 and last commit 2023-10-23—but the package is marked Production/Stable and has seen no security issues.
Requires Python >= 3.5; only CREATE TABLE statements are supported, not other DDL operations.
License in practice
BSD-3-Clause is permissive; you may use, modify, and distribute this package freely in commercial and private projects provided you include the license text and a notice of changes.
Quickstart
from ddlparse import DdlParse
sample_ddl = "CREATE TABLE My_Schema.Sample_Table (Id integer PRIMARY KEY, Name varchar(100) NOT NULL);"
table = DdlParse().parse(sample_ddl)
print(table.to_bigquery_fields())
Verify before relying
- Whether the parser handles all MySQL, PostgreSQL, Oracle, and Redshift dialect variations equally well, or if some databases have better coverage than others.
- Performance characteristics on large or complex DDL statements.
- Whether dormant status (last release 2021-07-09) means the package is stable enough for production or if it lacks support for newer SQL features.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepyparsing |
| Maintenance | Dormant 1,862 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 85,974 / month, #13,891 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: DatabaseTopic :: Software Development :: Libraries :: Python Modules |
Evidence: ddlparse-1.10.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “bigquery schema conversion”
- ddlparseParses CREATE TABLE DDL statements from MySQL, MariaDB, PostgreSQL,…
- bigquery-schema-generatorGenerates BigQuery table schemas from complete JSON or CSV datasets…
- db-dtypesProvides pandas extension data types for SQL systems like BigQuery…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also bigquery-schema-generator · pydbml · simple-ddl-parser · mo-sql-parsing · py-partiql-parser · pydynamodb · pangres · sqlparse · sqlalchemy-jdbcapi · SQLAlchemy-JSONField