Synchronise Pydantic model schemas with JSONSchema files
Project description
pydantic-schema-sync
Synchronise Pydantic model schemas with JSONSchema files.
Usage
CLI
usage: model-schema-sync [-h] [--model MODEL] [--schema_path SCHEMA_PATH]
[--mjs_kwargs MJS_KWARGS]
Config for syncing Pydantic model schemas to disk.
options:
-h, --help show this help message and exit
--model MODEL Dotted import path to the Pydantic model
--schema_path SCHEMA_PATH
File path to save the schema at
--mjs_kwargs MJS_KWARGS
Kwargs to pass `.model_json_schema()`
To serialise the schema of the model named SyncCLI (in the package pydantic_schema_sync's cli module)
to the file schema.json, passing the by_alias=False param to .model_json_schema():
model-schema-sync \
--model pydantic_schema_sync.cli.SyncCLI \
--schema_path schema.json \
--mjs_kwargs '{"by_alias": false}'
Python
From a model class:
from pydantic_schema_sync import sync_schema
# Using field alias (default)
sync_schema(model=Foo, schema_path="schema.json")
# Unaliased field
sync_schema(model=Foo, schema_path="schema.json", mjs_kwargs={"by_alias": False})
From a path to a model class:
from pydantic_schema_sync import sync_schema_from_path
# This path must be in an installed package
path_to_model_cls = "pydantic_schema_sync.cli.SyncCLI"
sync_schema_from_path(model=path_to_model_cls, schema_path="schema.json")
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
Built Distribution
Close
Hashes for pydantic_schema_sync-0.1.5.tar.gz
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 3bbf533c701caa76df1653a157948ef04812edac5967b96a54cd4669f0d310d9 |
|
| MD5 | 68d2a50ac5867f0d143d80f6c66a025b |
|
| BLAKE2b-256 | 50ec5d2e28afa43184ae50d7f7a6a986e95db4acd672b81dd2f30a6cc992cdef |
Close
Hashes for pydantic_schema_sync-0.1.5-py3-none-any.whl
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 049ef26c07238a0703ae568d4eb56e7141addb44875bf4ddd7951fbe5b4c18fd |
|
| MD5 | a1d1ff61f05573e8dd267127633b78d9 |
|
| BLAKE2b-256 | c0544642738c3dd5b52e78e9098ef127bab6c699423870e72bc87636a2720aee |