skillfed

databind.core

Databind is a library inspired by jackson-databind to de-/serialize Python dataclasses. Compatible with Python 3.8 and newer. Deprecated, use `databind` package.

databind-core v4.5.5 246.5K downloads/30d#8,710 on PyPI15
Permissive license MIT Active released

What it is and what it does

Databind is a dataclass (de)serialization framework designed for flexible configuration loading rather than high-performance scenarios. It understands most native Python types—including Enum, Decimal, UUID, Path, datetime, date, time, and timedelta—as well as dataclasses themselves, and can round-trip them to and from JSON-like nested dictionaries. The library supports generic types, multiple union serialization modes, customized type handlers, and field flattening, with runtime type checking during serialization.

The package is configured through settings applied at three levels: globally per load/dump call, as class-level decorators, or inline via type hints using Annotated. It is not intended for scenarios requiring high throughput; the maintainer explicitly recommends other libraries for performance-critical use cases.

Use it for:

  • Load application configuration from JSON files into typed dataclass structures with automatic type conversion and validation.
  • Serialize dataclass instances back to JSON for storage or API responses with full type awareness.
  • Handle complex nested configurations with support for enums, dates, UUIDs, and other non-primitive types.
  • Define custom serialization rules per type or field using decorators and Annotated hints.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Deserializes and serializes Python dataclasses and native types to and from JSON-like nested data structures, with support for enums, decimals, UUIDs, paths, datetimes, and generic types.

Yes, if you need flexible dataclass serialization for configuration loading and can tolerate non-optimized performance. The library is actively maintained, permissively licensed, and has low install friction. Note: the package is marked deprecated in favor of the merged 'databind' package; verify whether migration is recommended for new projects.

Install

databind-core on PyPI

pip

pip install databind-core

uv

uv add databind-core

poetry

poetry add databind-core

Installing databind.core

Before you install

Low install friction; pure Python wheel. Actively maintained with a release 84 days ago. Supports Python 3.8 and newer.

License in practice

MIT license permits commercial and private use with minimal restrictions—suitable for most projects.

Quickstart

pip install databind-core

from dataclasses import dataclass
from databind.json import load, dump

@dataclass
class Config:
    host: str
    port: int

data = {"host": "localhost", "port": 8080}
config = load(data, Config)
result = dump(config, Config)

Verify before relying

  • Whether databind-core is still the recommended entry point or if users should migrate to the merged 'databind' package instead

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 1 — databind
Maintenance actively maintained — 84 days since the last release
Last repo commit
First released
Downloads 246,452/month — #8,710 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: databind_core-4.5.5-py3-none-any.whl

Tags

dataclass serialization deserializationjson to dataclass mappingpython type-aware serializationconfiguration loading from jsondataclass json encoder decoder
dataclass-serializationconfiguration-loading

More Software Development packages