skillfed

hydraters

Hydrate Python dictionaries with Rust.

hydraters v0.1.4 217.0K downloads/30d#9,367 on PyPI8
License unclear Active released

What it is and what it does

Hydraters is a Python package that merges nested dictionaries by delegating the merge operation to Rust code, trading a compiled dependency for speed. It takes a base dictionary and an item dictionary, recursively combines them (with nested dicts merged rather than replaced), and returns the result. The package also provides a DO_NOT_MERGE_MARKER constant and a strip_unmatched_markers function to clean up keys marked for exclusion—useful for workflows where certain fields should be removed before or after hydration.

The package was extracted from the pgstac project, where benchmarking showed that Rust-based dictionary merging significantly outperforms pure Python. It has no runtime dependencies beyond the compiled extension itself, and supports modern Python versions (3.10–3.14) across CPython and PyPy implementations on Linux, macOS, Windows, and musl systems.

Use it for:

  • Merge large nested JSON or dictionary structures in data pipelines where performance matters, such as in geospatial or catalog systems.
  • Combine base configurations with overrides or patches while preserving nested structure and avoiding key replacement.
  • Clean up dictionary entries marked with DO_NOT_MERGE_MARKER before serialization or storage.
  • Accelerate dictionary operations in applications that process many merge operations per second.

Worth the install?

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

Merges nested Python dictionaries efficiently by delegating the merge logic to Rust, with support for marking keys that should not be merged.

Yes, if you need fast nested dictionary merging and are comfortable with a young package (first release November 2024, version 0.1.4). The compiled wheels install without friction on common platforms, there are no runtime dependencies, and the code is actively maintained. However, verify the license status (metadata shows unclear treatment despite the description claiming MIT) and assess whether the early version number and small user base suit your stability requirements.

Install

hydraters on PyPI

pip

pip install hydraters

uv

uv add hydraters

poetry

poetry add hydraters

Installing hydraters

Before you install

Medium install friction due to compiled wheels; the package provides prebuilt binaries for Python 3.10–3.14 across Linux (multiple architectures), macOS, Windows, and musl-based systems, so installation should succeed without compilation on most platforms. Repository is active with a recent commit.

License in practice

License treatment is unclear—the description states MIT, but the metadata fields license_raw and license_spdx are both null. Verify the actual license terms before relying on this package in a commercial or restricted-license context.

Quickstart

import hydraters

base = {"a": "first", "b": "second", "c": {"d": "third"}}
item = {"c": {"e": "fourth", "f": "fifth"}}
result = hydraters.hydrate(base, item)
# result == {"a": "first", "b": "second", "c": {"d": "third", "e": "fourth", "f": "fifth"}}

Requires Python 3.10 or later; no runtime dependencies, but installation requires prebuilt wheels or a Rust toolchain to compile.

Verify before relying

  • Whether the package is suitable for production use given its early version (0.1.4) and small repository footprint (8 stars).
  • Performance characteristics compared to pure-Python alternatives in typical use cases.
  • Stability and API compatibility guarantees across minor versions.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 79 days since the last release
Last repo commit
First released
Downloads 217,047/month — #9,367 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: hydraters-0.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; hydraters-0.1.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; hydraters-0.1.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; hydraters-0.1.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; hydraters-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; hydraters-0.1.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; hydraters-0.1.4-cp310-cp310-musllinux_1_2_aarch64.whl; hydraters-0.1.4-cp310-cp310-musllinux_1_2_armv7l.whl; hydraters-0.1.4-cp310-cp310-musllinux_1_2_i686.whl; hydraters-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl; hydraters-0.1.4-cp310-cp310-win_amd64.whl; hydraters-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl; hydraters-0.1.4-cp311-cp311-macosx_11_0_arm64.whl; hydraters-0.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; hydraters-0.1.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; hydraters-0.1.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; hydraters-0.1.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl; hydraters-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; hydraters-0.1.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl; hydraters-0.1.4-cp311-cp311-musllinux_1_2_aarch64.whl

Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust

Tags

dictionary mergingnested dict mergerust-accelerated dict operationshydrate dictionariesfast dict combiningmerge nested objectsdictionary hydration
rust-accelerateddict-operationsperformance

More Software Development packages