$npx skillfedfor your agent

hickle

Hickle - an HDF5 based version of pickle

With conditionsPyPI Python ModulesReleased Mar 202476.0K downloads / moPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — hickle-5.0.3-py3-none-any.whl
v5.0.3 · released 2024-03-30 · Python >=3.7 · 2 runtime deps: h5py, numpy

Yes, if you need cross-language data interchange or HDF5-specific features (compression, chunking, checksums). The low install friction, active maintenance, and lack of known vulnerabilities make it safe to adopt. However, verify the license first—it is marked OSI-approved but the exact terms are not in the metadata. Not worth installing if you only need Python-to-Python serialization (pickle is simpler) or if you cannot add the h5py system dependency.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires h5py and numpy; h5py itself depends on HDF5 system libraries (libhdf5), which must be installed separately on your system.
  • Low install friction with only two runtime dependencies (h5py and numpy).
  • The package is actively maintained with recent commits and has been in production use since 2014, supporting current Python versions (3.7–3.11).

License · maintenance · safety

(unclear) — License treatment is unclear—no SPDX identifier or raw license text is available in the metadata. Verify the actual license before adopting in proprietary or restricted-license contexts.

last release 2024-03-30 (867 days) · last repo commit 2026-08-06 · 502 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 76,041 downloads/mo, #14,659 on PyPI

Verify before relying

import hickle as hkl
import numpy as np

array_obj = np.ones(32768, dtype='float32')
hkl.dump(array_obj, 'test.hkl', mode='w', compression='gzip')
array_loaded = hkl.load('test.hkl')
  • Exact license identifier and terms—metadata lists 'License :: OSI Approved' but provides no SPDX or raw license text.
  • Performance comparison with pickle on typical workloads—description claims faster than pickle but provides no benchmarks.
  • Compatibility of HDF5 files across different hickle versions and h5py releases.
Same gist for agents: .md · .json

What it is and what it does

Hickle is a serialization library that stores Python objects—especially numpy arrays—directly to HDF5 files instead of pickle's binary format. It wraps h5py to provide a pickle-like API (dump/load) while leveraging HDF5's hierarchical structure, compression filters, and cross-platform readability. The main appeal is that HDF5 files can be read by most programming languages and scientific tools, not just Python, and data can be transparently compressed using LZF or GZIP.

The package is designed as a drop-in replacement for pickle when your use case is data storage rather than serializing arbitrary Python objects. It excels at handling large numpy arrays and supports custom loaders for user-defined classes (via dedicated loader functions in version 4.x and later). Trade-offs: HDF5 adds a system dependency (libhdf5), and while hickle handles many common types, arbitrary Python object serialization falls back to pickle, defeating some of the cross-language benefit.

Use it for

  • Store large numpy arrays with transparent gzip or LZF compression, reducing file size while keeping data readable by non-Python tools.
  • Export scientific data (arrays, structured data) to HDF5 for sharing with MATLAB, R, or C/C++ codebases without format conversion.
  • Replace pickle in data pipelines where serialization speed matters and you control the data types being stored.
  • Archive simulation or experimental results in a format that preserves metadata and structure across programming languages.
  • Dump pandas DataFrames or scipy objects to HDF5 using hickle's built-in loaders for those types.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need cross-language data interchange or HDF5-specific features (compression, chunking, checksums).

The low install friction, active maintenance, and lack of known vulnerabilities make it safe to adopt. However, verify the license first—it is marked OSI-approved but the exact terms are not in the metadata. Not worth installing if you only need Python-to-Python serialization (pickle is simpler) or if you cannot add the h5py system dependency.

Install

hickle on PyPI

Before you install

Low install friction with only two runtime dependencies (h5py and numpy). The package is actively maintained with recent commits and has been in production use since 2014, supporting current Python versions (3.7–3.11).

Requires h5py and numpy; h5py itself depends on HDF5 system libraries (libhdf5), which must be installed separately on your system.

License in practice

License treatment is unclear—no SPDX identifier or raw license text is available in the metadata. Verify the actual license before adopting in proprietary or restricted-license contexts.

Quickstart

import hickle as hkl
import numpy as np

array_obj = np.ones(32768, dtype='float32')
hkl.dump(array_obj, 'test.hkl', mode='w', compression='gzip')
array_loaded = hkl.load('test.hkl')

Verify before relying

  • Exact license identifier and terms—metadata lists 'License :: OSI Approved' but provides no SPDX or raw license text.
  • Performance comparison with pickle on typical workloads—description claims faster than pickle but provides no benchmarks.
  • Compatibility of HDF5 files across different hickle versions and h5py releases.

Package facts

LicenseNot declared unclear
Python supportSupports the current Python release >=3.7
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
h5pynumpy
MaintenanceActively maintained 867 days since the last release
Last repo commit
First released
Downloads76,041 / month, #14,659 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI ApprovedNatural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Evidence: hickle-5.0.3-py3-none-any.whl

Tags

Capabilities
pickle to HDF5 serializationcross-language data storagenumpy array compressionHDF5 file format Pythonpickle replacementdata export HDF5compressed data serialization
Topics
data-serializationhdf5numpy-arrays
PyPI keywords
picklehdf5data storagedata export

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 › “pickle to HDF5 serialization”

  • hickleHickle serializes Python objects to HDF5 files as a pickle…
  • zodbpickleProvides a ZODB-compatible pickle interface that handles…
  • pickle5Backports the pickle 5 protocol (PEP 574) and related pickle module…

Give your agent the search over MCP, or paste the wish link into any chat.

More Python Modules packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
PyYAML Worth it
PyPI · Python Modules · released Sep 2025

PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.

MITcompiled wheel · 3.8+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
annotated-types Worth it
PyPI · Python Modules · released Jul 2026

Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.

Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…

MITpure Python · 3.10+
871.3Mdownloads / mo
typing-inspection Worth it
PyPI · Python Modules · released Aug 2026

Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.

MITpure Python · 3.10+
783.0Mdownloads / mo

See also h5py · compress-pickle · tables · h5grove · h5netcdf · mat73 · dill · kerchunk · jsonpickle · hdf5plugin