Convert JSON Schema into Python Class
Project description
json-schema-to-class
Convert JSON Schema into Python Class
Installation
Need Python 3.6+.
pip install json-schema-to-class
Usage
For example, convert tests/test_schema.json into Python class:
# generate & highlight
json-schema-to-class tests/test_schema.json --indent 2 | pygmentize
# or generate to file
json-schema-to-class tests/test_schema.json -o tests/schema_build.py
# generate code with __repr__ method
json-schema-to-class tests/test_schema.json --indent 2 --repr | pygmentize
Get tests/schema_build.py
as follow:
from typing import List
class WarmUp:
def __init__(self, values: dict = None):
values = values if values is not None else {}
self.start: float = values.get("start", 0.0)
self.steps: int = values.get("steps", 0)
class LrSchedulerConfig:
def __init__(self, values: dict = None):
values = values if values is not None else {}
self.lr_mode: str = values.get("lr_mode", 'cos')
self.base_lr: float = values.get("base_lr", None)
self.target_lr: float = values.get("target_lr", 0.0002)
self.decay_factor: float = values.get("decay_factor", 0.1)
self.milestones: List[float] = values.get("milestones", [0.3, 0.6, 0.9])
self.lr_decay: float = values.get("lr_decay", 0.98)
self.warm_up = WarmUp(values=values.get("warm_up"))
class LrSchedulerConfigs(list):
def __init__(self, values: list = None):
super().__init__()
values = values if values is not None else []
self[:] = [LrSchedulerConfig(value) for value in values]
Project details
Release history Release notifications | RSS feed
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 json-schema-to-class-0.2.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7704f54ea90444beb50597c2edf22b7434d6488e9af85f56f9da450f5c3e9b78 |
|
MD5 | e57c412eafa7edad29e8af0de75db7c2 |
|
BLAKE2b-256 | a6a18fcbbac5287baa830731381a9ca55fb363120a875ffb39a340cc7539527f |
Close
Hashes for json_schema_to_class-0.2.3-py3.6.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49024e873169cca4b9d8555de8fa3f80a3f08f4a6f8c471b2b5f5f41380b9c93 |
|
MD5 | 7aff3737885dceb0d5a1fb02bb2db0c4 |
|
BLAKE2b-256 | b88263fe24fece9d8fced88cdc17a76562ad2078f2798653a267f1f5049f4c55 |