Metadata-Version: 2.4
Name: pydantic-jsonschema
Version: 0.0.1
Summary: JSON Schema to Pydantic model conversion library
Project-URL: Homepage, https://github.com/Danipulok/pydantic-jsonschema
Project-URL: Documentation, https://danipulok.github.io/pydantic-jsonschema/
Project-URL: Repository, https://github.com/Danipulok/pydantic-jsonschema
Project-URL: Issues, https://github.com/Danipulok/pydantic-jsonschema/issues
Project-URL: Changelog, https://github.com/Danipulok/pydantic-jsonschema/blob/main/docs/changelog.md
Author-email: Danipulok <danipulok@gmail.com>
License: MIT
License-File: LICENSE
Keywords: ai,json-schema,llm,pydantic,schema,type-safety,validation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: openapi-pydantic>=0.5.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: formats-all
Requires-Dist: email-validator>=2.0.0; extra == 'formats-all'
Requires-Dist: fqdn; extra == 'formats-all'
Requires-Dist: pydantic-extra-types[all]; extra == 'formats-all'
Requires-Dist: rfc3986>=2.0.0; extra == 'formats-all'
Provides-Extra: formats-base
Requires-Dist: email-validator>=2.0.0; extra == 'formats-base'
Requires-Dist: fqdn; extra == 'formats-base'
Requires-Dist: rfc3986>=2.0.0; extra == 'formats-base'
Provides-Extra: formats-extra
Requires-Dist: pydantic-extra-types[all]; extra == 'formats-extra'
Description-Content-Type: text/markdown

# Pydantic JSON Schema

[![CI](https://github.com/danipulok/pydantic-jsonschema/workflows/CI/badge.svg)](https://github.com/danipulok/pydantic-jsonschema/actions)
[![Coverage](https://img.shields.io/codecov/c/github/danipulok/pydantic-jsonschema)](https://codecov.io/gh/danipulok/pydantic-jsonschema)
[![PyPI](https://img.shields.io/pypi/v/pydantic-jsonschema.svg)](https://pypi.org/project/pydantic-jsonschema/)
[![Python Versions](https://img.shields.io/pypi/pyversions/pydantic-jsonschema.svg)](https://pypi.org/project/pydantic-jsonschema/)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/danipulok/pydantic-jsonschema/blob/main/LICENSE)
[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://danipulok.github.io/pydantic-jsonschema/)

Convert JSON Schema definitions into Pydantic models with runtime validation.

## Installation

```bash
uv add pydantic-jsonschema
```

Requires Python 3.12+.
See the [installation guide](https://danipulok.github.io/pydantic-jsonschema/install/) for optional format validator extras.

## Quick Start

```python
from pydantic_jsonschema import Schema, to_model

schema = Schema.model_validate({
    "type": "object",
    "properties": {
        "name": {"type": "string"},
        "age": {"type": "integer", "minimum": 0},
    },
    "required": ["name"],
})

User = to_model(schema, model_name="User")

user = User(name="Alice", age=30)
print(user.model_dump())
#> {'name': 'Alice', 'age': 30}
```

## Documentation

[https://danipulok.github.io/pydantic-jsonschema/](https://danipulok.github.io/pydantic-jsonschema/)

## License

MIT License - see [LICENSE](LICENSE) for details.
