{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/22"},{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/11"}],"enrichment":{"capability":"Hickle serializes Python objects to HDF5 files as a pickle alternative, enabling cross-language data interchange and optional compression of numpy arrays and other data structures.","skillfed_tags":["data-serialization","hdf5","numpy-arrays"],"use_cases":["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."],"what_it_does":"Hickle is a serialization library that stores Python objects\u2014especially numpy arrays\u2014directly 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.\n\nThe 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.","worth_installing":"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\u2014it 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."},"id":"hickle","links":{"html":"https://skillfed.io/packages/hickle","md":"https://skillfed.io/packages/hickle.md","pypi":"https://pypi.org/project/hickle/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2024-03-30","license_spdx":null,"license_treatment":"unclear","name":"hickle","python_support":"supports_current","summary":"Hickle - an HDF5 based version of pickle"},"popularity":{"monthly_downloads":76041,"position":14659,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"5.0.3"}
