# itsh5py
*Python datatype support for hdf files*
While there are many ways to store different data types, many of them have
their drawbacks. Sometimes it can be practical to store arrays with
additional (pythonic) data in a single file. While *hdf attributes* can
support some types, many exception exists especially with pyhtonic types.
This is a small implementation of recursive dict support for python to write
and read *hdf* files with many different pythonic data types. Almost all types
implemented in default python and *numpy* should be supported, even in nested
structures. The resulting files work in hdfview and panoply with some small
drawbacks.
Data types which are unknown will be serialized if possible using *yaml*.
Lists and tuples are unrolled so they do not have to be serialized in most cases.
Lazy support can be enabled allowing to work fast with large files, only loading
references of large arrays and fetching the data on demand as supported by
*h5py*. This works for *numpy* arrays only but mixed results are possible, e.g.
having fully loaded pythonic types and referenced *numpy* arrays in a single
loaded file.
Since this module is most likely used for data storage, please be warned that
*tests are still WiP* and there is a good chance that you will encounter some
types that either **won't be saved** or possibly **break your file**. No
warranty is given.
The original idea was taken from [SiggiGue](https://github.com/SiggiGue/hdfdict)
thus there are some obvious similarities. This package extends the
functionality to handle most of the pythonic data types and adds functions
for convenient handling of the different data structures.
Find the [Full documentation here](https://itsh5py.readthedocs.io/en/latest)
Raw data
{
"_id": null,
"home_page": "https://github.com/max3-2/itsh5py",
"name": "itsh5py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "h5py, hdf, data storage",
"author": "Max Elfner <max_elfner@gmx.net>",
"author_email": null,
"download_url": null,
"platform": null,
"description": "# itsh5py\n*Python datatype support for hdf files*\n\nWhile there are many ways to store different data types, many of them have\ntheir drawbacks. Sometimes it can be practical to store arrays with\nadditional (pythonic) data in a single file. While *hdf attributes* can\nsupport some types, many exception exists especially with pyhtonic types.\n\nThis is a small implementation of recursive dict support for python to write\nand read *hdf* files with many different pythonic data types. Almost all types\nimplemented in default python and *numpy* should be supported, even in nested\nstructures. The resulting files work in hdfview and panoply with some small\ndrawbacks.\n\nData types which are unknown will be serialized if possible using *yaml*.\nLists and tuples are unrolled so they do not have to be serialized in most cases.\nLazy support can be enabled allowing to work fast with large files, only loading\nreferences of large arrays and fetching the data on demand as supported by\n*h5py*. This works for *numpy* arrays only but mixed results are possible, e.g.\nhaving fully loaded pythonic types and referenced *numpy* arrays in a single\nloaded file.\n\nSince this module is most likely used for data storage, please be warned that\n*tests are still WiP* and there is a good chance that you will encounter some\ntypes that either **won't be saved** or possibly **break your file**. No\nwarranty is given.\n\nThe original idea was taken from [SiggiGue](https://github.com/SiggiGue/hdfdict)\nthus there are some obvious similarities. This package extends the\nfunctionality to handle most of the pythonic data types and adds functions\nfor convenient handling of the different data structures.\n\n\nFind the [Full documentation here](https://itsh5py.readthedocs.io/en/latest)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python datatype support for hdf files",
"version": "0.7.2",
"split_keywords": [
"h5py",
" hdf",
" data storage"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "26e991dffcc9d278f9d6fba38244f935050863d4ab5580313282bdac79f628a3",
"md5": "e0573c81829f77ae070222f3750f2cd8",
"sha256": "6acf365a0abbb978ddfe12445a24032cf65df237ceabf2ee21e093fd41c79a41"
},
"downloads": -1,
"filename": "itsh5py-0.7.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e0573c81829f77ae070222f3750f2cd8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 12602,
"upload_time": "2023-01-28T20:20:55",
"upload_time_iso_8601": "2023-01-28T20:20:55.472974Z",
"url": "https://files.pythonhosted.org/packages/26/e9/91dffcc9d278f9d6fba38244f935050863d4ab5580313282bdac79f628a3/itsh5py-0.7.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-28 20:20:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "max3-2",
"github_project": "itsh5py",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "itsh5py"
}