Dantro

Latest version: v0.20.1

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

Scan your dependencies

Page 1 of 9

0.18.0

- !263 implements various improvements to the plotting and data transformation framework, improving performance, communication and overall usability:
- Allow caching whole `TransformationDAG` trees in order to avoid re-building them (which can be very time-consuming if there are many nodes)
- Improve logging (formulation of messages, choice of level, removal)
- Improve communication of run times, now only shown if beyond a threshold
- Implement a significantly faster `cPickle`-based deep copy function which is used when building `TransformationDAG` and speeds up creation of large DAGs
- Use `__slots__` in DAG placeholder classes to reduce memory load
- In DAG, only load from cache file if the content was *not* already loaded
- !270 drops official support and testing for Python 3.7
- !271 strongly reduces the time it takes to `import dantro` by delaying imports of dependencies
- !277 improves the [dantro documentation][dantro-docs] by adding cross-referencing to other sphinx-based docs and tweaking many minor aspects of the dantro docs.
- !278 implements the `TERMINAL_INFO` dict which holds information about the terminal size and can be updated using `dantro.tools.update_terminal_info()`.
- !279 adds the `set_margins` function to the `PlotHelper`, giving access to the [`ax.margins`](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.margins.html) method.
- !280 reworks the structure of the `dantro.utils.data_ops` module, now available directly via `dantro.data_ops`.
Furthermore, this implements the `is_operation` decorator which can be used to register functions as operations directly where they are defined.
- !281 completely restructures the plotting module (and some other modules):
- Plotting related functionality is now condensed in `dantro.plot`, with plot creators having moved to `dantro.plot.creators`.
- The `ExternalPlotCreator` is renamed to `PyPlotCreator`, highlighting that it works with `matplotlib.pyplot` as a backend.
- The `dantro.groups.pspgrp` module was renamed to `dantro.groups.psp`
- The `dantro.containers.xrdatactr` module was renamed to `dantro.containers.xr`
- !282 moves the former `ExternalPlotCreator`'s plot function loading functionality into `PlotManager`, making it a central component of the plotting framework rather than a creator's special feature.
- This also makes `BasePlotCreator` a fully-functioning (no longer abstract) creator class, which is averse to any plotting backend.
- Adds the customizable `PlotFuncResolver` class which now takes care of these tasks in a more decoupled setting.
- !282 also completely removes the plot creator auto detection feature, reducing implementation complexity.

Internal
- !267 performs some code clean-up and improves the sphinx setup
- This may lead to implicit loss of Python 3.6 compatibility (which is no longer supported officially since a few releases ago).
- Makes use of newer language features (like consistent use of f-strings)
- !280 separates the `dantro.utils.data_ops` module into a `dantro.data_ops` subpackage
- !285 expands and improves the `dantro._import_tools` module and improves tests

Deprecations
- !278 deprecates use of `dantro.tools.IS_A_TTY` and `dantro.tools.TTY_COLS` constants. This information should be retrieved from the `dantro.tools.TERMINAL_INFO` dict instead.
- !280 deprecates imports from `dantro.utils.data_ops`; use `dantro.data_ops` instead.
- !282 deprecates `creator_type` and `creator_name` arguments to the `is_plot_func` decorator; use `creator` instead.

0.17.2

- !266 Updates versions of pre-commit hooks to improve compatibility
- !265 Adds CI test environment for Python 3.10
- !269 Update requirements to more recent and more compatible version combinations

0.17.1

- !261 allows skipping plots if a file already exists at the desired plot output path; to use this option, set the `exist_ok` argument of a plot or plot creator to `skip`.
- !262 improves and expands the `PlotHelper` and the `multiplot` plot function.
- The `multiplot` function now accepts axis-level arguments, allowing to call different function sequences on each subplot.
Furthermore, ad-hoc imports of function calls are now possible.
- A workaround for a bug in the `errorbars` plot is added (addressing 261)
- The `PlotHelper` is extended with new axis-level helpers (`annotate`, `call`) and figure-level helpers (`align_labels`, `subplots_adjust`, and `figcall`).

0.17.0

- !231 improves the performance of the ``LabelledDataGroup`` selection methods (when using the ``merge`` or ``auto`` combination method). A new combination method ``auto`` is added and set as default.
- !257 reduces memory usage (see 251) by postponing coordinate resolution to the time they are actually needed and removing unnecessary cache attributes.
- !258 changes the sphinx theme for the documentation (283) and adds a dantro logo :tada:
- !259 fixes file cache reading for xarray 0.18
- !256 adds new features and various improvements for plotting with the data transformation framework:
- New features:
- Exclude tags starting with `.` or `_` from `compute_only: all` (272)
- In `UniversePlotCreator`, allow to specify individual universes by name (281)
- Improvements:
- Make DAG construction faster by using cPickle-based deepcopying (relevant when having many 100k nodes in the DAG)
- Improve log and error messages in `PlotManager` and data transformation framework, now including more time information
- Improve how error messages from failing data operations show their arguments (276)
- Let xarray objects loaded from file cache not be renamed (275)
- Make it easier to conditionally skip a plot by providing the `raise_SkipPlot` data operation (165)
- The `print_data` data operation now allows specifying the output format using a format string, greatly simplifying debugging of DAGs
- New data operations added (see !256 changes for details)

0.16.3

- !254 adds the `define` syntax to the data transformation framework, allowing to specify transformations in a dict-based fashion
- !254 improves `MultiversePlotCreator`:
- The `select_and_combine.transform_after_combine` argument can now be used to apply transformations to the data *after* the combination happened.
- The `select_and_combine.combination_method` argument can now also be used to specify a custom combination operation, which can be just any data operation available elsewhere in the data operation framework.

0.16.2

- !253 implements parallel loading of files via the `DataManager` and is usable for all data loaders.
Refer to the [`DataManager.load` docstring](https://dantro.readthedocs.io/en/stable/api/dantro.data_mngr.html#dantro.data_mngr.DataManager.load) for more information.

Page 1 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.