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.
@@ -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=97k5LzCs6YJYNm4PpM3x4Rg4OrY-RxVa_cwuJbC6G3Q,3510
1
+ avrotize/__init__.py,sha256=JjPSX7c686TV00J_x0Py9JwXS0aJl8vpLn81Y0ondkw,3606
2
2
  avrotize/__main__.py,sha256=5pY8dYAURcOnFRvgb6fgaOIa_SOzPLIWbU8-ZTQ0jG4,88
3
- avrotize/_version.py,sha256=6cZBSHBAKcXe_V7KG4hvSXOQPtSHbsgw_Jyr1x2JjII,714
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=aTnORrpGBuHWb0AfSZq7KNKQJlbi2rRiToP_4H-UkeU,61005
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=cubDX2FesXs-QVZrkvowYkOwTcgYJDmes8Qh5uVu7JE,59669
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=h1hXn0adIQH-ohB_hW3U32rBfAAMcQE5Oty6nQ_s4CE,31019
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=snvvom1s0kMeL6mGi1vaGbsjjXhuqncXeT-MbGIsFL0,67999
28
- avrotize/common.py,sha256=sh9fJ3BfTVTOjtLtMZAEMOUkgDAkuKwyS6_sTrOCM4U,31616
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=DlsydYW-6nXI4eOIEvG23XFpDqYEEuHp1lXJPRdOqEQ,96073
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.16.5.dist-info/licenses/LICENSE,sha256=xGtQGygTETTtDQJafZCUbpsed3GxO6grmqig-jGEuSk,11348
48
- structurize-2.16.5.dist-info/METADATA,sha256=jzH1hmPK1EMO98350wNORQ2pUxvW3CBu9VswBl1pho0,52518
49
- structurize-2.16.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
- structurize-2.16.5.dist-info/entry_points.txt,sha256=biIH7jA5auhVqfbwHVk2gmD_gvrPYKgjpCAn0JWZ-Rs,55
51
- structurize-2.16.5.dist-info/top_level.txt,sha256=yn-yQ0Cm1O9fbF8KJgv4IIvX4YRGelKgPqZF1wS5P50,9
52
- structurize-2.16.5.dist-info/RECORD,,
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,,