Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Converts a JSON Schema to a Plain Old Python Object class

Project description

JSONSchema2PoPo2

Forked from github.com/frx08/jsonschema2popo

A converter to extract 'Plain Old Python Object' classes from JSON Schema files. Similar to the Java project JSONSchema2PoJo. Currently compatible with Python 3.4+ (when using enums, otherwise any version should be fine).

Installation

pip install jsonschema2popo2

Usage

Basic:

jsonschema2popo2 -o /path/to/output_file.py /path/to/json_schema.json

Options:

  • -t, --use-types - Add MyPy typings.
  • -ct, --constructor-type-check - Validate provided types in constructor. Default only type checks when setting property values and not when setting them in the constructor.
  • -t, --use-slots - Add a __slots__ to each generated class to be more memory efficient.

Encode Generated Object to JSON:

import json

g = GeneratedClass()
json.dumps(g.as_dict())

Decode JSON into Generated Object:

import json
g = GeneratedClass.from_dict(json.loads(data))

JSON Schema Format

This library is largely compatible with JSONSchema2PoJo and how that library reads the JSON Schema to generate Java. Specifically, for enumerations, this library supports setting the javaEnumNames array in JSON Schema for an enum to give names to the enum values that will be generated in the Python output.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for JSONSchema2PoPo2, version 2.0.1
Filename, size File type Python version Upload date Hashes
Filename, size jsonschema2popo2-2.0.1.tar.gz (8.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page