Skip to main content

Dynamically generate pydantic models from JSON schema.

Project description

dydantic

Documentation GitHub Repo

dyno

Dydantic is a Python library for dynamically generating Pydantic models from JSON schemas. It provides a convenient way to create Pydantic models on-the-fly based on the structure defined in a JSON schema.

Features

  • Automatically generate Pydantic models from JSON schemas
  • Support for nested objects and referenced definitions
  • Customizable model configurations, base classes, and validators
  • Handle various JSON schema types and formats
  • Extensible and flexible API

Installation

You can install dydantic using pip:

pip install -U dydantic

Usage

Here's a simple example of how to use dydantic to create a Pydantic model from a JSON schema:

from dydantic import create_model_from_schema

json_schema = {
    "title": "Person",
    "type": "object",
    "properties": {
        "name": {"type": "string"},
        "age": {"type": "integer"},
    },
    "required": ["name"],
}

Person = create_model_from_schema(json_schema)

person = Person(name="John", age=30)
print(person)  # Output: Person(name='John', age=30)

For more advanced usage and examples, please refer to the documentation.

Documentation

The complete documentation for dydantic can be found at: https://dydantic.readthedocs.io/

The documentation provides detailed information on installation, usage, API reference, and examples.

Contributing

Contributions to dydantic are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository: https://github.com/hinthornw/dydantic

Before contributing, please read our contributing guidelines for more information on how to get started.

License

dydantic is open-source software licensed under the MIT License.

Acknowledgments

We would like to express our gratitude to the following projects:

  • Pydantic - Dydantic builds upon the awesome Pydantic library, which provides the foundation for data validation and serialization.
  • JSON Schema - Dydantic leverages the JSON Schema specification to define the structure and constraints of the data models.
  • All the contributors who have helped improve dydantic with their valuable feedback, bug reports, and code contributions.

Thank you for using dydantic! If you have any questions or need assistance, please don't hesitate to reach out.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dydantic-0.0.4.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

dydantic-0.0.4-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file dydantic-0.0.4.tar.gz.

File metadata

  • Download URL: dydantic-0.0.4.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.2 Darwin/23.4.0

File hashes

Hashes for dydantic-0.0.4.tar.gz
Algorithm Hash digest
SHA256 1d8a9ea80ecbfa3e31b0b633426a951af5c89a631d31e6640602e07231783ea7
MD5 94d6868b6bc1c126f80629246f20bbdf
BLAKE2b-256 0304d4a84f6bd8bd0290f1c4e587d44a7bb7cf96819f285809010c89f2e87a5b

See more details on using hashes here.

File details

Details for the file dydantic-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: dydantic-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.2 Darwin/23.4.0

File hashes

Hashes for dydantic-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8cc0ab03588f8eebfa0fdba0e2c2085a95fbab37950b56d4c52eb1701c07d6cf
MD5 b3ce91f0464be6dd238993a42ce6fdb4
BLAKE2b-256 7a8bf004bfd7a5aa4640a4fd5617d95babba7f8df3f24296197860865b143854

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page