structurize 2.16.5__py3-none-any.whl → 2.17.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- avrotize/__init__.py +1 -0
- avrotize/_version.py +3 -3
- avrotize/avrotocsharp.py +74 -10
- avrotize/avrotojava.py +1130 -51
- avrotize/avrotopython.py +4 -2
- avrotize/commands.json +671 -53
- avrotize/common.py +6 -1
- avrotize/jsonstoavro.py +518 -49
- avrotize/structuretocpp.py +697 -0
- avrotize/structuretocsv.py +365 -0
- avrotize/structuretodatapackage.py +659 -0
- avrotize/structuretodb.py +1125 -0
- avrotize/structuretogo.py +720 -0
- avrotize/structuretographql.py +502 -0
- avrotize/structuretoiceberg.py +355 -0
- avrotize/structuretojava.py +853 -0
- avrotize/structuretokusto.py +639 -0
- avrotize/structuretomd.py +322 -0
- avrotize/structuretoproto.py +764 -0
- avrotize/structuretorust.py +714 -0
- avrotize/structuretoxsd.py +679 -0
- structurize-2.17.0.dist-info/METADATA +107 -0
- {structurize-2.16.5.dist-info → structurize-2.17.0.dist-info}/RECORD +27 -14
- structurize-2.16.5.dist-info/METADATA +0 -848
- {structurize-2.16.5.dist-info → structurize-2.17.0.dist-info}/WHEEL +0 -0
- {structurize-2.16.5.dist-info → structurize-2.17.0.dist-info}/entry_points.txt +0 -0
- {structurize-2.16.5.dist-info → structurize-2.17.0.dist-info}/licenses/LICENSE +0 -0
- {structurize-2.16.5.dist-info → structurize-2.17.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: structurize
|
|
3
|
+
Version: 2.17.0
|
|
4
|
+
Summary: Tools to convert from and to JSON Structure from various other schema languages.
|
|
5
|
+
Author-email: Clemens Vasters <clemensv@microsoft.com>
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: jsonschema>=4.23.0
|
|
13
|
+
Requires-Dist: lark>=1.1.9
|
|
14
|
+
Requires-Dist: pyarrow>=22.0.0
|
|
15
|
+
Requires-Dist: asn1tools>=0.167.0
|
|
16
|
+
Requires-Dist: jsonpointer>=3.0.0
|
|
17
|
+
Requires-Dist: jsonpath-ng>=1.6.1
|
|
18
|
+
Requires-Dist: jsoncomparison>=1.1.0
|
|
19
|
+
Requires-Dist: requests>=2.32.3
|
|
20
|
+
Requires-Dist: azure-kusto-data>=5.0.5
|
|
21
|
+
Requires-Dist: azure-identity>=1.17.1
|
|
22
|
+
Requires-Dist: datapackage>=1.15.4
|
|
23
|
+
Requires-Dist: jinja2>=3.1.4
|
|
24
|
+
Requires-Dist: pyiceberg>=0.10.0
|
|
25
|
+
Requires-Dist: pandas>=2.2.2
|
|
26
|
+
Requires-Dist: docker>=7.1.0
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: pytest>=8.3.2; extra == "dev"
|
|
29
|
+
Requires-Dist: fastavro>=1.9.5; extra == "dev"
|
|
30
|
+
Requires-Dist: xmlschema>=3.3.2; extra == "dev"
|
|
31
|
+
Requires-Dist: xmlunittest>=1.0.1; extra == "dev"
|
|
32
|
+
Requires-Dist: pylint>=3.2.6; extra == "dev"
|
|
33
|
+
Requires-Dist: dataclasses_json>=0.6.7; extra == "dev"
|
|
34
|
+
Requires-Dist: dataclasses>=0.8; extra == "dev"
|
|
35
|
+
Requires-Dist: pydantic>=2.8.2; extra == "dev"
|
|
36
|
+
Requires-Dist: avro>=1.12.0; extra == "dev"
|
|
37
|
+
Requires-Dist: testcontainers>=4.7.2; extra == "dev"
|
|
38
|
+
Requires-Dist: pymysql>=1.1.1; extra == "dev"
|
|
39
|
+
Requires-Dist: psycopg2>=2.9.9; extra == "dev"
|
|
40
|
+
Requires-Dist: pyodbc>=5.1.0; extra == "dev"
|
|
41
|
+
Requires-Dist: pymongo>=4.8.0; extra == "dev"
|
|
42
|
+
Requires-Dist: oracledb>=2.3.0; extra == "dev"
|
|
43
|
+
Requires-Dist: cassandra-driver>=3.29.1; extra == "dev"
|
|
44
|
+
Requires-Dist: sqlalchemy>=2.0.32; extra == "dev"
|
|
45
|
+
Dynamic: license-file
|
|
46
|
+
|
|
47
|
+
# Structurize / Avrotize
|
|
48
|
+
|
|
49
|
+
**Structurize** is a powerful schema conversion toolkit that helps you transform between various schema formats including JSON Schema, JSON Structure, Avro Schema, Protocol Buffers, XSD, SQL, and many more.
|
|
50
|
+
|
|
51
|
+
This package is published under two names:
|
|
52
|
+
|
|
53
|
+
- **`structurize`** - The primary package name, emphasizing JSON Structure conversion capabilities
|
|
54
|
+
- **`avrotize`** - The original package name, emphasizing Avro Schema conversion capabilities
|
|
55
|
+
|
|
56
|
+
Both packages currently share the same features and codebase. However, in future releases, Avro-focused and JSON Structure-focused features may be split across the two tools to make the feature list more manageable and focused for users. Choose whichever variant better aligns with your primary use case.
|
|
57
|
+
|
|
58
|
+
## Quick Start
|
|
59
|
+
|
|
60
|
+
Install the package:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pip install structurize
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
or
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
pip install avrotize
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Use the CLI:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Using structurize
|
|
76
|
+
structurize --help
|
|
77
|
+
|
|
78
|
+
# Or using avrotize
|
|
79
|
+
avrotize --help
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Key Features
|
|
83
|
+
|
|
84
|
+
- Convert between JSON Schema, JSON Structure, and Avro Schema
|
|
85
|
+
- Transform schemas to and from Protocol Buffers, XSD, ASN.1
|
|
86
|
+
- Generate code in C#, Python, TypeScript, Java, Go, Rust, C++, JavaScript
|
|
87
|
+
- Export schemas to SQL databases (MySQL, PostgreSQL, SQL Server, Oracle, Cassandra, MongoDB, DynamoDB, and more)
|
|
88
|
+
- Convert to Parquet, Iceberg, Kusto, and other data formats
|
|
89
|
+
- Generate documentation in Markdown
|
|
90
|
+
|
|
91
|
+
## Documentation
|
|
92
|
+
|
|
93
|
+
For complete documentation, examples, and detailed usage instructions, please see the main repository:
|
|
94
|
+
|
|
95
|
+
**[📖 Full Documentation](https://github.com/clemensv/avrotize)**
|
|
96
|
+
|
|
97
|
+
The main README includes:
|
|
98
|
+
|
|
99
|
+
- Comprehensive command reference
|
|
100
|
+
- Conversion examples and use cases
|
|
101
|
+
- Code generation guides
|
|
102
|
+
- Database schema export instructions
|
|
103
|
+
- API documentation
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
MIT License - see the [LICENSE](../LICENSE) file in the repository root.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
avrotize/__init__.py,sha256=
|
|
1
|
+
avrotize/__init__.py,sha256=JjPSX7c686TV00J_x0Py9JwXS0aJl8vpLn81Y0ondkw,3606
|
|
2
2
|
avrotize/__main__.py,sha256=5pY8dYAURcOnFRvgb6fgaOIa_SOzPLIWbU8-ZTQ0jG4,88
|
|
3
|
-
avrotize/_version.py,sha256=
|
|
3
|
+
avrotize/_version.py,sha256=rxOyQGpFc2ZRj-yKs4vV_8H_TMvi5KkUHofU5OzQOp0,714
|
|
4
4
|
avrotize/asn1toavro.py,sha256=QDNwfBfXMxSH-k487CA3CaGCGDzOLs4PpVbbENm5uF0,8386
|
|
5
5
|
avrotize/avrotize.py,sha256=VHFpBltMVBpyt0ju3ZWW725BKjQ4Fk-nrAy8udW-X44,5713
|
|
6
6
|
avrotize/avrotocpp.py,sha256=hRZV247_TDD7Sm6_8sFx-UH5SueLLx2Wg6TvAVUX0iE,25693
|
|
7
|
-
avrotize/avrotocsharp.py,sha256=
|
|
7
|
+
avrotize/avrotocsharp.py,sha256=E47i7ly-OeQRqPkfz1PG8zxLgG-_43tPn82tkT4Cb74,64521
|
|
8
8
|
avrotize/avrotocsv.py,sha256=PaDEW2aGRFVNLwewWhJ3OwxbKFI3PBg_mTgtT4uLMko,3689
|
|
9
9
|
avrotize/avrotodatapackage.py,sha256=zSCphLvCYiBKRAUCdccsr-4JysH3PyAS6fSgwa65Tss,7259
|
|
10
10
|
avrotize/avrotodb.py,sha256=5fNJgz00VMimyOl7eI0lIxlcaN_JnN0mb2Q9lzCRecw,46989
|
|
11
11
|
avrotize/avrotogo.py,sha256=RnycgAuGejq00hDdsUGdMHiJX6nr0VAqNArbCkTzUMg,21880
|
|
12
12
|
avrotize/avrotographql.py,sha256=i6G7xWjH_Lsn_CLiM4BCPb8OyZuCCpsYjXwXNTRMwEE,7394
|
|
13
13
|
avrotize/avrotoiceberg.py,sha256=plVHGWkED1YDLcMDxL7NMdJl2f8G32hwlNWFrBLcsD8,9057
|
|
14
|
-
avrotize/avrotojava.py,sha256=
|
|
14
|
+
avrotize/avrotojava.py,sha256=d3vu4PF596XAwEtgNIDZ2egg2_VNYIoa0zXN7rZqT5Y,127610
|
|
15
15
|
avrotize/avrotojs.py,sha256=QjB6XjFnDrpZBZrrWqS0TN8fQfRXBfhHabfG73FOIo8,12249
|
|
16
16
|
avrotize/avrotojsons.py,sha256=WXWniQqwcl8eU35VibDv7qJJwbiLV_yoWZ4JxiZ8mHA,21588
|
|
17
17
|
avrotize/avrotojstruct.py,sha256=-Hs4Ta958bRKmOfSTzRFENABCZ6lQPSPbIBEXvOQD1M,14660
|
|
@@ -20,17 +20,17 @@ avrotize/avrotomd.py,sha256=WHPHnfmkI3xDNIHKZ3ReYxj6tib1eCny3JOznNSN6r8,5348
|
|
|
20
20
|
avrotize/avrotools.py,sha256=dTbGgWQyKdSuvCf4yuoymwhYO5gX9ywPu-klIXYwKZM,6052
|
|
21
21
|
avrotize/avrotoparquet.py,sha256=qm5hfia5elW1Yn4KACG8bbudLAqQSwGk3fIkTvdT5Rg,9088
|
|
22
22
|
avrotize/avrotoproto.py,sha256=STqbdGjVrgKrlKXt-6dZlekW_Oq0W0StRx80St1XqIc,22486
|
|
23
|
-
avrotize/avrotopython.py,sha256=
|
|
23
|
+
avrotize/avrotopython.py,sha256=sPsSLseSq-toKHnsFsYRRtGePGYospRz2mwGLep-POw,31147
|
|
24
24
|
avrotize/avrotorust.py,sha256=QMIBNkFpDlH44kuQo24k5D-f0lmdhoA5b7hEbhKsnMw,22214
|
|
25
25
|
avrotize/avrotots.py,sha256=EalaA9feiHMyw7lfD8rifs24LsUVigmuPOu7nPh-wUc,29002
|
|
26
26
|
avrotize/avrotoxsd.py,sha256=iGQq_8kC0kfKsqvqS6s_mO-kJ8N5G8vXOwqRI_DZUxc,17744
|
|
27
|
-
avrotize/commands.json,sha256=
|
|
28
|
-
avrotize/common.py,sha256=
|
|
27
|
+
avrotize/commands.json,sha256=41BcQ1-_w4284hm8zqMZrfwJB2Rc4df4F5mR7wuzG3g,82429
|
|
28
|
+
avrotize/common.py,sha256=enqNR1I9-SbW7fNJE3w7N2R87kiN6_9Oa7VB4b2AUBc,31913
|
|
29
29
|
avrotize/constants.py,sha256=oz9iCf9M9-R1UCZRdTHQ8ztZis9xClkoDLAhlwx0TNk,112
|
|
30
30
|
avrotize/csvtoavro.py,sha256=TuIYm_Xv8gioEHl1YgWQKOYkFGGHfuwmK5RuEAEXbt8,4293
|
|
31
31
|
avrotize/datapackagetoavro.py,sha256=lw1S3H6UpKtjJj9ywDTuRw-qcihFx0vFJNPK7SlgKvY,2607
|
|
32
32
|
avrotize/dependency_resolver.py,sha256=LGOTutpobJ4kMjAwvs-l0Mt2tEoZFaXCazs-u38qnYk,19374
|
|
33
|
-
avrotize/jsonstoavro.py,sha256=
|
|
33
|
+
avrotize/jsonstoavro.py,sha256=ZzigsCjAxw_TflXCjTLKHTrPmkiZRZMpuaZICfT_r_I,120069
|
|
34
34
|
avrotize/jsonstostructure.py,sha256=WVoKcFoDvtA_QIScZJa8oXZbwpc7Au-bTV3_pUXzTik,135445
|
|
35
35
|
avrotize/jstructtoavro.py,sha256=sOq7Ru1b8_ZLCEsnBqx3gsMWd7dPAaYxoraAD0bz6rk,33891
|
|
36
36
|
avrotize/kstructtoavro.py,sha256=t97JY22n0uILK3WcvQu_Yp9ONvouJRLAC2bZ3rvZ1L0,2856
|
|
@@ -39,14 +39,27 @@ avrotize/parquettoavro.py,sha256=iAPrSYNkiH3fBKNVDfIgeXkQbAiopa252ULJrGgmBDI,553
|
|
|
39
39
|
avrotize/proto2parser.py,sha256=__9R3cqiUJXc_efPCZZcF7rt18kA7mfhmX0qm2v0eSw,19742
|
|
40
40
|
avrotize/proto3parser.py,sha256=MfE84c-oAWWuzYmKlEZ5g5LUF7YzZaASFh2trX3UCaw,15604
|
|
41
41
|
avrotize/prototoavro.py,sha256=hqXBGRxYojaEbEgoHZxXwMG4R1nWC7UMl_XNLWfqH38,17346
|
|
42
|
+
avrotize/structuretocpp.py,sha256=tBWOvyZPYQ1CHN6RgDnWlmzJ1giOyQ9SlHBHWvhPyiw,35898
|
|
42
43
|
avrotize/structuretocsharp.py,sha256=RSmLdsSp3jzVVUJ6fURUlskRbw62ZWfIbQuuoFOFxW4,103741
|
|
44
|
+
avrotize/structuretocsv.py,sha256=w9cwXAnnakKaeTtXsLWWO8KwYnXUxyXvC7a-ZKs-E94,13851
|
|
45
|
+
avrotize/structuretodatapackage.py,sha256=NEHRt30KfVDWH1EQakvuMdRZTtfVXx8fsaYud0ofb2g,29768
|
|
46
|
+
avrotize/structuretodb.py,sha256=3QE_TCdNklGH5ymzGsEnX1sI4OhvX2AYKPH7xtR5tHk,43926
|
|
47
|
+
avrotize/structuretogo.py,sha256=VCEUz-5J8uRqX1hWaTimtfVzEsIB-gs4wxa308rYD0s,32470
|
|
48
|
+
avrotize/structuretographql.py,sha256=wcGXnrup5v5saRa1BhR6o-X8q8ujsQMVqrFHQTBPjww,20468
|
|
49
|
+
avrotize/structuretoiceberg.py,sha256=itKb33Kj-7-udk4eHTLmTEasIeh1ggpZ3e_bwCxLABM,15344
|
|
50
|
+
avrotize/structuretojava.py,sha256=jG2Vcf1KdezWrZo5lsecxLnmnMw1rA96uOxVWJQ4Rso,43372
|
|
43
51
|
avrotize/structuretojsons.py,sha256=PJrQBaf6yQHu5eFkePxbjPBEmL-fYfX2wj6OmH1jsWw,22495
|
|
52
|
+
avrotize/structuretokusto.py,sha256=rOKgYIcm7ZK8RS-VvMFPNzPzwtv7c4dIKU-fKjrJLyM,30618
|
|
53
|
+
avrotize/structuretomd.py,sha256=exfCldYbieVdduhotSoLrxsbphmyJQyeQso9qv4qyUw,13642
|
|
54
|
+
avrotize/structuretoproto.py,sha256=Aq0-fwMXSjjAxgZ5mq1kpo_TauigMRrJK9LNyoN-YGs,42679
|
|
44
55
|
avrotize/structuretopython.py,sha256=ePlXrwbqA9r63Vw6xL-Gq3hBUScdcF9aqCQSi_xtaGo,37980
|
|
56
|
+
avrotize/structuretorust.py,sha256=ChRmO7uzU-pMdDdS0Vtg-MVUaOaNhNUPwH-ZKKOHglU,35134
|
|
45
57
|
avrotize/structuretots.py,sha256=PLV6W8k-yd7xkspUaQ-Vj90F26PTkB5HO0OkPJolkJ0,30800
|
|
58
|
+
avrotize/structuretoxsd.py,sha256=01VpasyWSMOx04sILHLP7H-WkhGdXAEGKohUUfgrNf0,32797
|
|
46
59
|
avrotize/xsdtoavro.py,sha256=nQtNH_3pEZBp67oUCPqzhvItEExHTe-8obsIfNRXt8Y,19064
|
|
47
|
-
structurize-2.
|
|
48
|
-
structurize-2.
|
|
49
|
-
structurize-2.
|
|
50
|
-
structurize-2.
|
|
51
|
-
structurize-2.
|
|
52
|
-
structurize-2.
|
|
60
|
+
structurize-2.17.0.dist-info/licenses/LICENSE,sha256=xGtQGygTETTtDQJafZCUbpsed3GxO6grmqig-jGEuSk,11348
|
|
61
|
+
structurize-2.17.0.dist-info/METADATA,sha256=YV0r7HWtiNW0IbudLO2LJWG2CLQjFxB5Q5Si6iOqLec,3670
|
|
62
|
+
structurize-2.17.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
63
|
+
structurize-2.17.0.dist-info/entry_points.txt,sha256=biIH7jA5auhVqfbwHVk2gmD_gvrPYKgjpCAn0JWZ-Rs,55
|
|
64
|
+
structurize-2.17.0.dist-info/top_level.txt,sha256=yn-yQ0Cm1O9fbF8KJgv4IIvX4YRGelKgPqZF1wS5P50,9
|
|
65
|
+
structurize-2.17.0.dist-info/RECORD,,
|