{"id":45177,"library":"jambo","title":"Jambo - JSON Schema to Pydantic Converter","description":"Jambo converts JSON Schema definitions into Pydantic models. Version 0.1.7 supports Python 3.10-3.12. Actively maintained, but still early-stage; minor releases occur monthly.","status":"active","version":"0.1.7","language":"python","source_language":"en","source_url":"https://github.com/nicedoc/jambo","tags":["json-schema","pydantic","converter","code-generation"],"install":[{"cmd":"pip install jambo","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Jambo generates Pydantic models and uses them at runtime.","package":"pydantic","optional":false},{"reason":"Used for parsing date-time format strings.","package":"python-dateutil","optional":false}],"imports":[{"wrong":"from jambo import Jambo","symbol":"SchemaConverter","correct":"from jambo import SchemaConverter"}],"quickstart":{"code":"from jambo import Jambo\n\nschema = {\n    \"type\": \"object\",\n    \"properties\": {\n        \"name\": {\"type\": \"string\"},\n        \"age\": {\"type\": \"integer\", \"minimum\": 0}\n    },\n    \"required\": [\"name\"]\n}\n\nconverter = Jambo()\nmodel = converter.convert(schema, name=\"Person\")\nprint(model.schema_json(indent=2))","lang":"python","description":"Converts a JSON Schema to a Pydantic model class."},"warnings":[{"fix":"Use `from jambo.errors import JamboError` for >=0.1.6; for 0.1.3-0.1.5 use `from jambo.exceptions import ...`.","message":"In version 0.1.3, the error submodule was renamed from `errors` to `exceptions`. If upgrading from <0.1.3, change `from jambo.errors import ...` to `from jambo.exceptions import ...`. However, the latest 0.1.7 uses `errors` again (reverted in 0.1.6). Check your version.","severity":"breaking","affected_versions":"<0.1.3, 0.1.3-0.1.5, >=0.1.6"},{"fix":"Pre-resolve references before conversion, or flatten your schema.","message":"Jambo does not support all JSON Schema draft features. `$ref`, `allOf`, `oneOf`, and `if/then/else` are not yet implemented. Using unsupported keywords may raise errors or produce incorrect models.","severity":"gotcha","affected_versions":"all <=0.1.7"},{"fix":"Access the model via `result.model` after calling `convert()`.","message":"The `converter.convert()` method in 0.1.6 and earlier returned a Pydantic model class directly. In 0.1.7 it now returns a `ModelResult` object with a `model` attribute. This is a non-breaking deprecation: the old return type is still accessible via `converter.convert(...).model`.","severity":"deprecated","affected_versions":"0.1.7+"}],"env_vars":null,"search_vec":"'-3.12':20 '0.1.7':16 '3.10':19 'activ':21 'code':38 'code-gener':37 'convert':6,8,36 'definit':11 'earli':26 'early-stag':25 'generat':39 'jambo':1,7 'json':2,9,33 'json-schema':32 'maintain':22 'minor':28 'model':14 'month':31 'occur':30 'pydant':5,13,35 'python':18 'releas':29 'schema':3,10,34 'stage':27 'still':24 'support':17 'version':15","created_at":"2026-06-07T12:53:44.677593+00:00","updated_at":"2026-06-07T12:53:44.677593+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","storage"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}