This libs works to convert a json schema or json to a glue schema struct.
Project description
Jsonschema to Glue struct
A small library that works to read your provided jsonschema and convert it to a glue struct model, in this way you can integrate it in your pipeline or uses it just to get a output and insert manually in your glue table schema.
Installation
pip install glue-struct-transform
Get Started
How to convert a full json schema to a glue struct schema using this lib
import json
from glue_struct_transform import GlueStructTransform
# Read or set your json schema
schema = open(f'YOUR_JSON_SCHEMA.json',)
schemaLoad = json.load(schema)
# Pass your json schema in dict type to the function
result = GlueStructTransform.json_schema_to_glue_struct(schemaLoad)
How to convert a object into the json schema to a glue struct schema using this lib
import json
from glue_struct_transform import GlueStructTransform
# Read or set your json schema
schema = open(f'YOUR_JSON_SCHEMA.json',)
schemaLoad = json.load(schema)
# Pass your json schema in dict type to the function
result = GlueStructTransform.json_schema_to_glue_struct(schemaLoad, objectField = "objectKey", fullSchema = False)
How to convert a full json to a glue struct schema using this lib
import json
from glue_struct_transform import GlueStructTransform
# Read or set your json schema
payload = open(f'YOUR_JSON_FILE.json',)
payloadLoad = json.load(payload)
# Pass your json schema in dict type to the function
result = GlueStructTransform.json_schema_to_glue_struct(payloadLoad)
How to convert a object into the json file to a glue struct schema using this lib
import json
from glue_struct_transform import GlueStructTransform
# Read or set your json schema
payload = open(f'YOUR_JSON_FILE.json',)
payloadLoad = json.load(payload)
# Pass your json schema in dict type to the function
result = GlueStructTransform.json_schema_to_glue_struct(payloadLoad, objectField = "objectKey", fullBody = False)
Conversions implementation status
| From | From Type | Glue Schema type | Implementation status | Version |
|---|---|---|---|---|
| Json Schema | string | string | implemented |
0.1.0 |
| Json Schema | number | double | implemented |
0.1.0 |
| Json Schema | integer | int | implemented |
0.1.0 |
| Json Schema | object | struct | implemented |
0.1.0 |
| Json Schema | array | array | implemented |
0.1.0 |
| Json Schema | boolean | boolean | implemented |
0.1.0 |
| Json Schema | null | Raises exception | implemented |
0.1.2 |
| Json | str | string | implemented |
0.3.0 |
| Json | float | double | implemented |
0.3.0 |
| Json | int | int | implemented |
0.3.0 |
| Json | dict | struct | implemented |
0.3.0 |
| Json | list | array | implemented |
0.3.0 |
| Json | null | Raises exception | implemented |
0.3.0 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file glue-struct-transform-0.4.0.tar.gz.
File metadata
- Download URL: glue-struct-transform-0.4.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8b3e459f3a4b743b285393d277925f1b6b2ffa9be4708ded13d441a6177b01f
|
|
| MD5 |
40c6292c00945c902d0b92baff2eab6c
|
|
| BLAKE2b-256 |
acfbc2c640fe1a241945e90a7c226156155b89e7296c3bef3878ecc600559034
|
File details
Details for the file glue_struct_transform-0.4.0-py3-none-any.whl.
File metadata
- Download URL: glue_struct_transform-0.4.0-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae6a9661db97553bb5a96b44c32568b5dedd832ad9f37f292213cce4be5a7b3
|
|
| MD5 |
2461a85c771410b60bead9cd2651911f
|
|
| BLAKE2b-256 |
8b3ffbf0aa2afc7d14feb33fd6d914751d41a5a96c2ac8886f4afa25e5ed9410
|