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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pydantic_schema_sync-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 3bbf533c701caa76df1653a157948ef04812edac5967b96a54cd4669f0d310d9
MD5 68d2a50ac5867f0d143d80f6c66a025b
BLAKE2b-256 50ec5d2e28afa43184ae50d7f7a6a986e95db4acd672b81dd2f30a6cc992cdef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydantic_schema_sync-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 049ef26c07238a0703ae568d4eb56e7141addb44875bf4ddd7951fbe5b4c18fd
MD5 a1d1ff61f05573e8dd267127633b78d9
BLAKE2b-256 c0544642738c3dd5b52e78e9098ef127bab6c699423870e72bc87636a2720aee

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