marshmallow-code/marshmallow

A lightweight library for converting complex objects to and from simple Python datatypes.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 30 minutes ago
Added to GitGenius on September 9th, 2026
Created on November 10th, 2013
Open Issues & Pull Requests: 151 (+0)
GitHub issues: Enabled
Number of forks: 733
Total Stargazers: 7,237 (+0)
Total Subscribers: 70 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 62
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,811 days
Stale 30+ days: 56
Stale 90+ days: 54

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feedback welcome (38)
  • help wanted (31)
  • question (25)
  • backwards incompat (18)
  • docs (12)
  • typing (7)
  • polymorphism (6)
  • refactor (6)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Marshmallow is a Python library for converting complex objects to and from simple Python datatypes.

The library solves the problem of serializing, deserializing, and validating data when working with complex types that need to be converted to primitive Python types. It works by defining schemas that specify how objects should be transformed. Schemas declare fields with types and validation rules, then use dump() to serialize objects to primitive types suitable for JSON or other formats, and load() to deserialize input data back into application objects. The approach is framework-agnostic, working with any ORM, ODM, or standalone objects.

Marshmallow suits projects that need to validate and transform data at API boundaries, particularly HTTP APIs that exchange JSON. It works well when you want to separate data validation logic from your models and need fine-grained control over serialization. The library is lightweight and makes sense for teams that prefer explicit schema definitions over implicit behavior. It handles nested objects, custom field types, and complex validation rules without requiring tight coupling to a specific framework.

The project maintains active continuous integration with automated build and release workflows. Code quality is enforced through pre-commit checks. The maintainers actively encourage community participation and have established contribution guidelines. The project sustains itself through community backing and sponsorship.