Skip to main content

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

pydantic_schema_sync-0.1.2.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

pydantic_schema_sync-0.1.2-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file pydantic_schema_sync-0.1.2.tar.gz.

File metadata

  • Download URL: pydantic_schema_sync-0.1.2.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.1 CPython/3.10.14 Linux/5.15.0-117-generic

File hashes

Hashes for pydantic_schema_sync-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4f4365d7fe61c92e4e45064451a558c533bd58a388ff76f06abc1724725add32
MD5 d82fd541959c08edbccb74d74b851500
BLAKE2b-256 fa5e3e3c1b0a22eb4773e9043acad470883d42087e6ab620c1cbaa11ffac9b29

See more details on using hashes here.

File details

Details for the file pydantic_schema_sync-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pydantic_schema_sync-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 001f367e7b1dbf0380a1d3ec026e3c6ef161f189ae618efd073d68756ce36f38
MD5 8bbf2881c286157dbebe92b057723042
BLAKE2b-256 0bf8d679cc30db53b77e2d29553b3225e13692a6183bf397e8e1d885adf05d0a

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