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.3.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pydantic_schema_sync-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 955aea5e6234f8c1244f738a7b8653c64ac4de26372fe12c409930dd880382bb
MD5 5778f40ffa91655ff46942481b957d5a
BLAKE2b-256 5508d512c8632f51f83f82c8029d85a3d758fca7462558648f5beb177dfc6256

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydantic_schema_sync-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 eb12bd1c0032d10d68bd3e87a903134b594cccedff7a2b52deb481dfe839a373
MD5 bc91dab006f9c285507c93bf9301f667
BLAKE2b-256 e75777bb1a3a51bef6c654ca3522b53ee2b588a7f5717c259612b1b351d068d5

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