Metadata-Version: 2.4
Name: structurize
Version: 2.16.6
Summary: Tools to convert from and to JSON Structure from various other schema languages.
Author-email: Clemens Vasters <clemensv@microsoft.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jsonschema>=4.23.0
Requires-Dist: lark>=1.1.9
Requires-Dist: pyarrow>=22.0.0
Requires-Dist: asn1tools>=0.167.0
Requires-Dist: jsonpointer>=3.0.0
Requires-Dist: jsonpath-ng>=1.6.1
Requires-Dist: jsoncomparison>=1.1.0
Requires-Dist: requests>=2.32.3
Requires-Dist: azure-kusto-data>=5.0.5
Requires-Dist: azure-identity>=1.17.1
Requires-Dist: datapackage>=1.15.4
Requires-Dist: jinja2>=3.1.4
Requires-Dist: pyiceberg>=0.10.0
Requires-Dist: pandas>=2.2.2
Requires-Dist: docker>=7.1.0
Provides-Extra: dev
Requires-Dist: pytest>=8.3.2; extra == "dev"
Requires-Dist: fastavro>=1.9.5; extra == "dev"
Requires-Dist: xmlschema>=3.3.2; extra == "dev"
Requires-Dist: xmlunittest>=1.0.1; extra == "dev"
Requires-Dist: pylint>=3.2.6; extra == "dev"
Requires-Dist: dataclasses_json>=0.6.7; extra == "dev"
Requires-Dist: dataclasses>=0.8; extra == "dev"
Requires-Dist: pydantic>=2.8.2; extra == "dev"
Requires-Dist: avro>=1.12.0; extra == "dev"
Requires-Dist: testcontainers>=4.7.2; extra == "dev"
Requires-Dist: pymysql>=1.1.1; extra == "dev"
Requires-Dist: psycopg2>=2.9.9; extra == "dev"
Requires-Dist: pyodbc>=5.1.0; extra == "dev"
Requires-Dist: pymongo>=4.8.0; extra == "dev"
Requires-Dist: oracledb>=2.3.0; extra == "dev"
Requires-Dist: cassandra-driver>=3.29.1; extra == "dev"
Requires-Dist: sqlalchemy>=2.0.32; extra == "dev"
Dynamic: license-file

# Structurize / Avrotize

**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.

This package is published under two names:

- **`structurize`** - The primary package name, emphasizing JSON Structure conversion capabilities
- **`avrotize`** - The original package name, emphasizing Avro Schema conversion capabilities

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.

## Quick Start

Install the package:

```bash
pip install structurize
```

or

```bash
pip install avrotize
```

Use the CLI:

```bash
# Using structurize
structurize --help

# Or using avrotize
avrotize --help
```

## Key Features

- Convert between JSON Schema, JSON Structure, and Avro Schema
- Transform schemas to and from Protocol Buffers, XSD, ASN.1
- Generate code in C#, Python, TypeScript, Java, Go, Rust, C++, JavaScript
- Export schemas to SQL databases (MySQL, PostgreSQL, SQL Server, Oracle, Cassandra, MongoDB, DynamoDB, and more)
- Convert to Parquet, Iceberg, Kusto, and other data formats
- Generate documentation in Markdown

## Documentation

For complete documentation, examples, and detailed usage instructions, please see the main repository:

**[📖 Full Documentation](https://github.com/clemensv/avrotize)**

The main README includes:

- Comprehensive command reference
- Conversion examples and use cases
- Code generation guides
- Database schema export instructions
- API documentation

## License

MIT License - see the [LICENSE](../LICENSE) file in the repository root.
