Skip to main content

Table Meta

badge1 badge2 badge3 Tests Pipeline

It's a universal class that created to be a middleware, universal mapping for data from different parsers - simple-ddl-parser and py-models-parser.

Python 3.9+.

Based on this middleware 2 libraries are worked - omymodels & fakeme.

It's allow create 1 adapter for different inputs and produce output only on one standard - easy to maintain ad add different output variants.

All classes - Pydantic classes, so you can do with them anything that you can with Pydantic classes.

Library contains 2 different classes - TableMeta - main class to convert input relative to models or tables. Second - Type, for Enum types data.

How it use

Install

    pip install table-meta

Usage

from table_meta import TableMeta

data = {your_table_definition}

table_data = TableMeta(**data)

Convert simple-ddl-parser input to TableMeta

Simple-ddl-parser: https://github.com/xnuinside/simple-ddl-parser

Pay attention that TableMeta expected data from simple-ddl-parser , that created with flag 'group_by_type=True' Example: result = DDLParser(ddl).run(group_by_type=True, output_mode="bigquery")

To convert simple-ddl-parser output to TableMeta - use method: ddl_to_meta()

Usage example:

    from simple_ddl_parser import DDLParser
    from table_meta import ddl_to_meta

    ddl = "your ddl"
    parser_result = DDLParser(ddl).run(group_by_type=True, output_mode="bigquery")
    data = ddl_to_meta(parser_result)

    # ddl_to_meta returns Dict with 2 keys {"tables": [], "types": []} inside lists you will have Table Meta a models

    print(data)

Convert py-model-parser input to TableMeta

Py-models-parser: https://github.com/xnuinside/py-models-parser

Usage example:

    from py_models_parser import parse
    from table_meta import models_to_meta

    model_from = "your python models, supported by parser"
    result = parse(model_from)
    data = models_to_meta(result)

    # models_to_meta returns Dict with 2 keys {"tables": [], "types": []} inside lists you will have a Table Meta models

    print(data)

Changelog

See CHANGELOG.md.

Metadata

Release files for table-meta 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for table-meta 1.0.0
File Interpreter ABI Platform
table_meta-1.0.0-py3-none-any.whl Python 3 none any Details

Release files / table_meta-1.0.0-py3-none-any.whl

Download URL table_meta-1.0.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37fb8b8722cf33a73e35f12dbaa88e2a02dc0151c65b91fdb229d5b34aba5399
BLAKE2b-256 checksum
How to use checksums
a4faef838c097e8f833220636b196565f3fc9b5b589684134f3502f641fffaa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Security for table-meta 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page