Dantro

Latest version: v0.20.2

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

Scan your dependencies

Page 6 of 9

0.10.1

- !118 fixes an issue with the `MultiversePlotCreator` where the `select_and_combine` argument was erroneously passed-through to the plot function.
- 111 updates the documentation to reflect that the `paramspace` dependency is [now available on PyPI][paramspace-pypi] and can be installed from there.

0.10.0

- !104 adds the `set_text` function to the `PlotHelper`
- !106 changes `PathMixin` such that detached objects now have `/<name>` as their path, which improves path handling. Furthermore, the `Link` object is now adjusted to this change and its tests are extended to a wide range of scenarios.
- 100 deprecates plot creator auto-detection via the plot function signature of `ExternalPlotCreator`. Instead, the `is_plot_func` decorator should be used.
- !107 changes the `xarray` version requirement from `0.12.1` to `0.13.0`.
- !105 adds a transformation framework (48) that allows caching of data operations (96). It does so by implementing a directed acyclic graph of data transformations, where each node is uniquely represented by a hash. This hash can then be used reliably to determine cache hits. See the MR description for more information. Other minor changes alongside this MR:
- Improve `LinkContainer`
- Add `SizeOfMixin`, allowing to compute the size of a container's data
- Incorporate `PathMixin` into `AbstractDataContainer`
- Add `base_path` argument to `DataManager.load`
- Add xarray- and numpy-related data loaders
- Modularize the tests of the `utils` submodule
- !109 integrates the transformation framework into the plot creators (99) and further extends the capabilities of the DAG.
- Data selection and transformation is now built-in to the `BasePlotCreator`, making it available for all derived plot creators. There are specializations for some of the classes:
- `ExternalPlotCreator` extends the `is_plot_func` decorator to control DAG integration and specify required tags
- `UniversePlotCreator` sets the selected single universe as the basis of select operations.
- `MultiversePlotCreator` has to take care of building a tree that selects and combines the data from all desired universes.
- Improvements to the `TransformationDAG` and related classes:
- Nodes can now be added programmatically using public methods.
- Hash computation is much (factor 100) faster than in the implementation from !105.
- Profiling information is more detailed now and also available in the `TransformationDAG` itself, aggregating information from all registered transformation nodes.
- It is possible to set and change the reference that serves as basis for `select` operations.
- Other improvements:
- 98 addresses an h5py deprecation warning regarding the default file mode
- 106 adds the `AllAvailableLoadersMixin` to provide all available data loaders, making downstream import easier
- 102 makes the documentation available [online](https://dantro.readthedocs.io/)
- 107 extends and improves the documentation

0.9.1

- !100 adds experimental (!) transformator capabilities to `ParamSpaceGroup.select`, improves logging, and resolves minor bugs and inconsistencies.
- !101 adds `base_path` argument to `ParamSpaceGroup.select`, allowing for all other paths to be specified relative to it.
- !102 fixes 88 and a bug in `UniversePlotCreator` when providing a `ParamSpace` as plot configuration.

0.9.0

- 76 and !91 improve working interactively with dantro, e.g. by providing the `__repr__` method and adding IPython key completion for group members.
- !95 makes it possible to use forward slashes in plot names, which will lead to the corresponding directories being created in the evaluation directory.
- 74 adds the `Link` class and `LinkContainer`, which allow having links from one container or group to another, given that they are all within the same data tree. Furthermore, this allows the `XrDataContainer` to use a linked container for coordinates (new coordinate modes: `linked`, `from_path`). Additionally, the `XrDataContainer` also supports coordinate modes `trivial` and `indices` now, which both assign the trivial indices to the dimension without the need for further arguments.
- 56 modularizes coordinate handling and adds `LabelledDataGroup`, which allows to work with all sorts of labelled data using the xarray selection interface. It not only allows to select a single element from the group, but follows the same selection syntax as in xarray and furthermore allows to perform a `deep` selection alongside, going down into the member data before combining the data. This brings along two specializations:
- The `TimeSeriesGroup` now has the full feature set for its `isel` and `sel` methods.
- There is the `HeterogeneousTimeSeriesGroup` which has high flexibility in how the labelled data is stored: containers of this group may represent data stored at irregular times, with overlapping or non-overlapping coordinate values, and also representing more than a single time snapshot.
- 22 adds the `logging` module, which implements custom log levels. These make conveying information to the user much more powerful by giving more granular control about the verbosity: instead of in effect having only the `debug` and `info` levels available, there are now the additional levels `trace`, `note`, `progress`, `hilight`, and `success`.

0.8.1

- 89 enables the `NetworkGroup` to handle one dimensional data that is not time-labelled.
- 90 fixes an issue during garbage collection of `Hdf5Proxy`

0.8.0

- 27 renames `ProxyMixin`-based classes to `ProxySupportMixin` to better communicate what they do and avoid confusion with `BaseDataProxy`-derived classes.
- Also with 27, it is possible to load HDF5 data into [`dask.array`s](http://docs.dask.org/en/latest/array.html), which allow to perform lazy operations on the data. This makes it hugely more comfortable to work with large amounts of data in dantro.
- The `HDFDataProxy` can resolve HDF5 data as delayed `dask.array`s.
- The `Hdf5LoaderMixin` now allows to pass parameters to created proxies, thus allowing to create proxies which `resolve_as_dask`.
- The `dask.array` can be used as underlying data for the `XrDataContainer` while retaining the _exact_ same interface as with in-memory numpy data. This is possible due to the tight [integration of xarray with dask](http://xarray.pydata.org/en/stable/dask.html).
- 59 adds additional groups and mixins that allow handling indexed data:
- `IndexedDataGroup` expects integer-parsable members and maintains ordering not by their string representation but by their integer representation.
- The `IntegerItemAccessMixin` and `PaddedIntegerItemAccessMixin` provide convenient access to group members via integer keys; internally, keys are always strings.
- The `ParamSpace`-related groups now use these mixins and groups rather than their own implementation; there are no changes to the public interface.
- 79 adds a specialization of an `IndexedDataGroup`, namely the `TimeSeriesGroup`, which assumes that it holds members whose names refer to a point in time. The interface here slightly mimicks that of `xr.DataArray`.
- 79 also adds the `LockDataMixin`, incorporates it into `BaseDataGroup`, and adds the `ForwardAttrsMixin`, which is a more general form of the already existing `ForwardAttrsToDataMixin`.
- With 58, the `NetworkGroup` is now using the `TimeSeriesGroup` and `XrDataContainer`. It is now possible to also load node and edge properties into a graph.
- 75 adds dimension information to the info string of `XrDataContainer`s.
- 85 addresses a bug where the `UniversePlotCreator` failed plotting in cases where a multidimensional `ParamSpace` was associated with it but the data was only available for the default point in parameter space.
- dantro now requires `matplotlib >= 3.1`

Page 6 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.