Hdmf

Latest version: v4.0.0

Safety actively analyzes 711993 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 12

3.0.1

Bug fixes
- Fixed release CI that prevented distribution from being uploaded to PyPI. rly (641)

3.0.0

New features
- Add support for Python 3.9, drop support for Python 3.6. rly (620)
- Add support for h5py 3. ajtritt (480)
- h5py 3 introduced [breaking changes regarding how strings are handled]
(https://docs.h5py.org/en/latest/whatsnew/3.0.html#breaking-changes-deprecations), specifically that
variable-length UTF-8 strings in datasets are now read as `bytes` objects instead of `str` by default.
To reduce the impact of this change on HDMF users, when HDMF reads a variable-length UTF-8 string
dataset, instead of returning an `h5py.Dataset` that is read as `bytes` objects, HDMF will return a
`hdmf.utils.StrDataset` object that extends `h5py.Dataset` and is read as `str` objects, which preserves
previous behavior. For example, under HDMF 2.x, an HDF5 dataset `d` with data ['a', 'b'] is read as a
`h5py.Dataset` object, and `d[:]` returns `str` objects. Under HDMF 3.x, the same dataset `d` is read
as a `hdmf.utils.StrDataset` object and `d[:]` still returns `str` objects.
- Add RRID to docs. oruebel (633)
- Allow passing ``index=True`` to ``DynamicTable.to_dataframe()`` to support returning `DynamicTableRegion` columns
as indices or Pandas DataFrame. rly (579)
- Improve ``DynamicTable`` documentation. rly (639)
- Updated external resources tutorial. mavaylon1 (611)

Breaking changes and deprecations
- Previously, when using ``DynamicTable.__getitem__`` or ``DynamicTable.get`` to access a selection of a
``DynamicTable`` containing a ``DynamicTableRegion``, new columns with mangled names for the table data referred to
by the ``DynamicTableRegion`` were added to the returned DataFrame. This did not work properly for ragged
``DynamicTableRegion``, multiple levels of nesting, or multiple rows returned.
Now, these methods will by default return columns of indices of the ``DynamicTableRegion``. If ``index=False`` is
passed to ``DynamicTable.get``, then nested DataFrames will be returned, one DataFrame per row of the original
resulting DataFrame. rly (579)

Minor improvements
- Updated requirements and tests. rly (640)

Bug fixes
- Update the validator to allow extensions to data types which only define data_type_inc. dsleiter (609)
- Fix error when validating lazy-loaded datasets containing references. dsleiter (609)
- Fix error when using ``DynamicTable.__getitem__`` or ``DynamicTable.get`` when table has a ragged
``DynamicTableRegion``. rly (579)

2.5.8

- Fix incorrect dtype precision upgrade for VectorIndex (631)

Minor improvements
- Improve Sphinx documentation. rly (627)

Bug fix
- Fix error with representing an indexed table column when the `VectorIndex` dtype precision is upgraded more
than one step, e.g., uint8 to uint32. This can happen when, for example, a single `add_row` call is used to
add more than 65535 elements to an empty indexed column. rly (631)

2.5.7

Bug fix
- Fix generation of extension classes that extend `MultiContainerInterface` and use a custom _fieldsname. rly (626)

2.5.6

Bug fix
- Raise minimum version of pandas from 0.23 to 1.0.5 to be compatible with numpy 1.20. rly (618)
- Update documentation and update structure of requirements files. rly (619)

2.5.5

Bug fix
- Fix incompatibility issue with downstream github-release tool used to deploy releases to GitHub. rly (614)

Page 8 of 12

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.