marshmallow-jsonschema
JSON Schema Draft v7 (http://json-schema.org/) formatting with marshmallow
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, imposes minimal install friction, and solves a genuine problem: keeping schema definitions in one place while making them available to non-marshmallow consumers. It is well-suited for teams building APIs or multi-platform applications that need consistent validation across environments.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9+ and marshmallow 3.13 or later.
- Low friction: single runtime dependency (marshmallow), pure Python wheel, actively maintained with release within the past 110 days.
License · maintenance · safety
MIT License (permissive) — MIT License (permissive) — you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2026-04-26 (110 days) · last repo commit 2026-04-27 · 214 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 939,900 downloads/mo, #4,684 on PyPI
Alternatives
Verify before relying
from marshmallow import Schema, fields
from marshmallow_jsonschema import JSONSchema
class UserSchema(Schema):
username = fields.String()
age = fields.Integer()
JSONSchema().dump(UserSchema())- Whether the package handles all marshmallow field types and custom validators beyond those documented in the excerpt.
- Performance characteristics when translating large or deeply nested schemas.
- Compatibility details with marshmallow 4 beyond the stated 'works on both marshmallow 3 and marshmallow 4'.
What it is and what it does
marshmallow-jsonschema bridges schema validation and cross-platform form rendering by translating marshmallow schemas into JSON Schema Draft v7 documents. This is useful when you need to validate data or render forms in environments where you cannot import marshmallow—such as web browsers, mobile apps, or API gateways—while keeping your schema definition in one place.
The package handles simple fields, nested schemas, arrays, validators (Range, Length, OneOf, Regexp, etc.), and enum fields. It supports recursive schema references and allows customization of the definitions path and field-level metadata. Validators automatically translate to JSON Schema constraints (e.g., validate.Range becomes minimum/maximum), and schema-level metadata like title and description are preserved in the output.
Use it for
- Render a marshmallow schema as an interactive form in a web browser or native desktop using json-editor or react-jsonschema-form.
- Validate request and response bodies in an API gateway or contract-test layer that consumes JSON Schema directly.
- Publish your data schema as documentation alongside an OpenAPI specification.
- Translate validation rules from marshmallow into a format consumable by mobile or desktop applications.
- Generate JSON Schema for client-side form validation without duplicating schema logic.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, imposes minimal install friction, and solves a genuine problem: keeping schema definitions in one place while making them available to non-marshmallow consumers. It is well-suited for teams building APIs or multi-platform applications that need consistent validation across environments.
Install
marshmallow-jsonschema on PyPI
Before you install
Low friction: single runtime dependency (marshmallow), pure Python wheel, actively maintained with release within the past 110 days. Requires Python 3.9+ and marshmallow 3.13 or later.
Requires Python 3.9+ and marshmallow 3.13 or later.
License in practice
MIT License (permissive) — you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
from marshmallow import Schema, fields
from marshmallow_jsonschema import JSONSchema
class UserSchema(Schema):
username = fields.String()
age = fields.Integer()
JSONSchema().dump(UserSchema())
Verify before relying
- Whether the package handles all marshmallow field types and custom validators beyond those documented in the excerpt.
- Performance characteristics when translating large or deeply nested schemas.
- Compatibility details with marshmallow 4 beyond the stated 'works on both marshmallow 3 and marshmallow 4'.
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagemarshmallow |
| Maintenance | Actively maintained 110 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 939,900 / month, #4,684 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: marshmallow_jsonschema-0.16.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “marshmallow to json schema”
- marshmallow-jsonschemaConverts marshmallow schemas into JSON Schema Draft v7 documents,…
- DeepFriedMarshmallowAccelerates Marshmallow schema serialization and deserialization by…
- marshmallow-mongoengineGenerates marshmallow schemas automatically from mongoengine document…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also drf-jsonschema-serializer · jsonschema-typed-v2 · marshmallow-enum · sphinx-jsonschema · genson · jsonschema2md · json-schema-for-humans · jsonschema-gentypes · apispec-oneofschema · jsonschema-pydantic