Eomaps

Latest version: v8.1.1

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

Scan your dependencies

Page 1 of 15

8.1.1

A quick bugfix release to address issues with disappearing colorbars on multiple layers.

8.1

A minor release that brings a new plot-shape!

> Make sure to also checkout the release-notes for [EOmaps v8.0](https://github.com/raphaelquast/EOmaps/releases/tag/v8.0.2)!

🌳 New

New hexbin shape
There is a new shape to visualize your data as [hexagonal-bin plots](https://eomaps.readthedocs.io/en/dev/api_data_visualization.html#shp-hexbin)!
python
m.set_shape.hexbin(size=(20, 40), aggregator="mean")

<img src="https://github.com/raphaelquast/EOmaps/assets/22773387/2e8429f1-6aa4-4b5e-a8a9-a3370ab76549" width=70%>

πŸ”¨ Fixes
- ❗ fix using multiple sizes with `m.set_shape.scatter_points(size=...)`
- Fix scroll events should be captured in Jupyter Notebooks if the LayoutEditor is active
- Fix placement of `InsetMaps` indicator-lines if multiple boundary intersections are found
- Fix clipping issues if `m.get_extent()` is used with a crs other than the plot-crs
- Fix using `m.add_gridlines` with uneven number of explicit lon/lat values
- Unify treatment of `ellipses` and `geod_circle` shapes
- Fix using kwargs to style the boundary of the `peek_layer` callback area
- Fix using "hist_size=None" when adding colorbars
- Fix hiding histogram axes with hist_size=0
- Fix identification of layers that contain only dynamic artists
- Fix issues with scalebars outside the axes clip boundary
- Allow passing an explicit norm to `m.plot_map` if no classification is used
- Allow using `bbox=None` with annotations to to hide the bounding-box
- Identification of the directions for `m.add_gridlines(where="tblr")` has been improved

8.0.2

- fix issues with missing companion-widget source files
- fix issues with missing `dask-expr` dependency for `datashader`

8.0.1

A new major release that brings a lot of important updates and improvements for EOmaps!

> A big thanks goes to banesullivan, yeelauren and jhkennedy who provided many useful suggestions and comments to improve EOmaps in the [PyOpenSci](https://www.pyopensci.org/) review (https://github.com/pyOpenSci/software-submission/issues/138)!


Β§ New License!
The EOmaps source code is now licensed under a [BSD 3 Clause License](https://choosealicense.com/licenses/bsd-3-clause) to make it easier for users and contributors to improve and extend the codebase and to use EOmaps to build awesome tools for geo-data analysis!

> Make sure to have a look at the [licensing-note](https://eomaps.readthedocs.io/en/dev/FAQ.html#licensing-and-redistribution) in the FAQ of the docs for some more details!

Interested in contributing to EOmaps? Checkout the updated [Contribution Guide](https://eomaps.readthedocs.io/en/dev/contribute.html)!

⚠️ Major changes to `pip` install

Dependency management for `EOmaps` has been improved to **split between required and optional dependencies**.

>❗`pip install eomaps` now **only installs the bare minimum requirements** to run `EOmaps`.
>❗To install EOmaps with **all optional dependencies**, use `pip install eomaps[all]`.

Make sure to have a look at the updated [installation instructions](https://eomaps.readthedocs.io/en/latest/installation.html) in the docs for more details on how to selectively install optional dependencies!

🌳 New
- `m.set_data(...)` now directly accepts `xarray.Datasets` as input (see docs on [how to assign datasets](https://eomaps.readthedocs.io/en/dev/api_data_visualization.html#assign-the-data))
- There is a new [pre-defined keypress callback](https://eomaps.readthedocs.io/en/dev/api_callbacks.html#pre-defined-keypress-callbacks): `overlay_layer`
- You can use it to toggle showing a layer on top of the currently visible layer.
python
m.all.cb.keypress.attach.overlay_layer(<layer-name>, key="a")

- The `switch_layer` keypress-callback now also accepts lists of layer-names (or lists of tuples `(name, transparency)`)
- [m.cb.pick.share_events()](https://eomaps.readthedocs.io/en/dev/generated/eomaps.eomaps.Maps.cb.pick.share_events.html) now supports the additional kwarg `"ensure_same_id"`
- If True, all maps that share the pick-event will use the same ID to identify the relevant datapoint
- If False, all maps that share the pick-event identify the closest datapoint based on the (reprojected) click position.
- The `LayoutEditor` now accepts `-1` as width/height value for axes (to auto-adjust the value)

πŸ•ΉοΈ Jupyter Widgets

There is now a collection of pre-configured [Jupyter Widgets](https://ipywidgets.readthedocs.io/en/latest/index.html) that can be used as control elements in **Jupyter Notebooks**!

> Make sure to checkout the corresponding [πŸ•ΉοΈ EOmaps Jupyter Widgets](https://eomaps.readthedocs.io/en/widgets/notebooks/widgets.html) section in the docs!


🌦️ Changes
- ❗ Installation config is now provided as a `pyproject.toml` file (instead of `setup.py`)
- ❗ Supported python version is now `>=3.8`
- EOmaps now uses [qtpy](https://github.com/spyder-ide/qtpy) to support multiple Qt versions for the [🧰 Companion Widget](https://eomaps.readthedocs.io/en/latest/api_companion_widget.html)!
- `_version.py` has been removed. The version is now specified in the `[project]` category of the `pyproject.toml` file.
- Actions now use `micromamba` to setup (and cache) test environments
- Colorbar kwargs `show_outline` and `ylabel` have been renamed to `outline` and `hist_label`

> The following (previously deprecated) methods are now removed:
> - `m.set_data_specs` $\Rightarrow$ use ``m.set_data`` instead
> - `m.add_wms.DLR_basemaps...` $\Rightarrow$ use ``m.add_wms.DLR.basemap...`` instead
> - `m_inset.indicate_inset_extent` $\Rightarrow$ use ``m_inset.add_extent_indicator`` instead


πŸ“– Documentation updates

Make sure to checkout the fully updated [API docs](https://eomaps.readthedocs.io/en/dev/api/reference.html)!

- Documentation environment was updated to most recent build dependencies
- Only minimal requirements to import eomaps are now installed for docs-build
- Info on how to [configure VSCode/VSCodium](https://eomaps.readthedocs.io/en/dev/FAQ.html#configuring-the-editor-ide) for EOmaps has been added to the docs
- In general, the docs now (gradually switch to) use [MySt](https://mystmd.org/) and Jupyter Notebooks (parsed with [myst_nb](https://myst-nb.readthedocs.io/en/latest/index.html)) to improve formatting, examples etc.


πŸ”¨ Fixes
- Make sure the widget is compatible with both Qt5 and Qt6
- Fix forcing colorbar-position inheritance
- Fix treatment of colorbar histogram style kwargs (e.g. edgecolor, facecolor, etc.)
- Address `numpy` binary incompatibility warning if `netCDF4` is imported after numpy
- Fix inheriting colorbar positions from other colorbars
- Address unittest issue with contour-shape labels
- Avoid blocking the terminal in unittests for jupyter notebooks
- Fix missing docstring for DLR webmap service
- Fix issues for move-callbacks shared between multiple Maps
- Fix visibility of datasets when using "dynamic_shade_indicator" colorbars
- Fix assignment of vmin/vmax for "count" based shade-aggregation
- Fix treatment of masked values in evaluation of vmin/vmax for encoded datasets
- Fix issues with help-text popups of the CompanionWidget LayerTabBar
- Improvements for colorbar implementation
- Unify treatment of layer-name parsing
- Try to push current view to toolbar nav-stack after layout-restore
- Fix issues with help-popups of the LayerTabBar of the companion-widget
- Fix issues with figure-exports after `m.apply_layout(...)`
- Fix treatment of reprojected 1D datasets with `shade_raster` shape
- Fix parsing *maxsize* argument in companion widget for `raster`-shape
- Fix treatment of infinite values in weighted colorbar histograms
- Allow passing transform-kwarg to `m.add_text(...)`
- Fix truncating companion-widget title if too long
- Make sure companion-widget dataset-dropdown is elided
- Avoid memory-leaks caused by artist-references in pick-containers
- Fix `numpy.ma.masked_array` issues with datashader/numba when using `"shade_points"`
- Fix handling pick-events that do not have an "idx" property
- Fix raster-aggregation if block-size cannot be evaluated (e.g. None)
- Fix handling of pick-events that do not have an "idx" property
- Make sure keypress-events are triggered irrespective of the toolbar mode
- Make sure LayoutEditor x0, y0 values are always set as specified
- Fix issues with string-type dpi values passed to savefig
- Avoid pandas dependency when attempting to use `raster` shape with 1D datasets
- Make sure data encoding fill-value is properly applied

8.0

A new major release that brings a lot of important updates and improvements for EOmaps!

> A big thanks goes to banesullivan, yeelauren and jhkennedy who provided many useful suggestions and comments to improve EOmaps in the [PyOpenSci](https://www.pyopensci.org/) review (https://github.com/pyOpenSci/software-submission/issues/138)!

Β§ New License!
The EOmaps source code is now licensed under a [BSD 3 Clause License](https://choosealicense.com/licenses/bsd-3-clause) to make it easier for users and contributors to improve and extend the codebase and to use EOmaps to build awesome tools for geo-data analysis!

> Make sure to have a look at the [licensing-note](https://eomaps.readthedocs.io/en/dev/FAQ.html#licensing-and-redistribution) in the FAQ of the docs for some more details!

Interested in contributing to EOmaps? Checkout the updated [Contribution Guide](https://eomaps.readthedocs.io/en/dev/contribute.html)!

⚠️ Major changes to `pip` install

Dependency management for `EOmaps` has been improved to **split between required and optional dependencies**.

>❗`pip install eomaps` now **only installs the bare minimum requirements** to run `EOmaps`.
>❗To install EOmaps with **all optional dependencies**, use `pip install eomaps[all]`.

Make sure to have a look at the updated [installation instructions](https://eomaps.readthedocs.io/en/latest/installation.html) in the docs for more details on how to selectively install optional dependencies!

🌳 New
- `m.set_data(...)` now directly accepts `xarray.Datasets` as input (see docs on [how to assign datasets](https://eomaps.readthedocs.io/en/dev/api_data_visualization.html#assign-the-data))
- There is a new [pre-defined keypress callback](https://eomaps.readthedocs.io/en/dev/api_callbacks.html#pre-defined-keypress-callbacks): `overlay_layer`
- You can use it to toggle showing a layer on top of the currently visible layer.
python
m.all.cb.keypress.attach.overlay_layer(<layer-name>, key="a")

- The `switch_layer` keypress-callback now also accepts lists of layer-names (or lists of tuples `(name, transparency)`)
- [m.cb.pick.share_events()](https://eomaps.readthedocs.io/en/dev/generated/eomaps.eomaps.Maps.cb.pick.share_events.html) now supports the additional kwarg `"ensure_same_id"`
- If True, all maps that share the pick-event will use the same ID to identify the relevant datapoint
- If False, all maps that share the pick-event identify the closest datapoint based on the (reprojected) click position.
- The `LayoutEditor` now accepts `-1` as width/height value for axes (to auto-adjust the value)

πŸ•ΉοΈ Jupyter Widgets

There is now a collection of pre-configured [Jupyter Widgets](https://ipywidgets.readthedocs.io/en/latest/index.html) that can be used as control elements in **Jupyter Notebooks**!

> Make sure to checkout the corresponding [πŸ•ΉοΈ EOmaps Jupyter Widgets](https://eomaps.readthedocs.io/en/widgets/notebooks/widgets.html) section in the docs!


🌦️ Changes
- ❗ Installation config is now provided as a `pyproject.toml` file (instead of `setup.py`)
- ❗ Supported python version is now `>=3.8`
- EOmaps now uses [qtpy](https://github.com/spyder-ide/qtpy) to support multiple Qt versions for the [🧰 Companion Widget](https://eomaps.readthedocs.io/en/latest/api_companion_widget.html)!
- `_version.py` has been removed. The version is now specified in the `[project]` category of the `pyproject.toml` file.
- Actions now use `micromamba` to setup (and cache) test environments
- Colorbar kwargs `show_outline` and `ylabel` have been renamed to `outline` and `hist_label`

> The following (previously deprecated) methods are now removed:
> - `m.set_data_specs` $\Rightarrow$ use ``m.set_data`` instead
> - `m.add_wms.DLR_basemaps...` $\Rightarrow$ use ``m.add_wms.DLR.basemap...`` instead
> - `m_inset.indicate_inset_extent` $\Rightarrow$ use ``m_inset.add_extent_indicator`` instead


πŸ“– Documentation updates

Make sure to checkout the fully updated [API docs](https://eomaps.readthedocs.io/en/dev/api/reference.html)!

- Documentation environment was updated to most recent build dependencies
- Only minimal requirements to import eomaps are now installed for docs-build
- Info on how to [configure VSCode/VSCodium](https://eomaps.readthedocs.io/en/dev/FAQ.html#configuring-the-editor-ide) for EOmaps has been added to the docs
- In general, the docs now (gradually switch to) use [MySt](https://mystmd.org/) and Jupyter Notebooks (parsed with [myst_nb](https://myst-nb.readthedocs.io/en/latest/index.html)) to improve formatting, examples etc.


πŸ”¨ Fixes
- Make sure the widget is compatible with both Qt5 and Qt6
- Fix forcing colorbar-position inheritance
- Fix treatment of colorbar histogram style kwargs (e.g. edgecolor, facecolor, etc.)
- Address `numpy` binary incompatibility warning if `netCDF4` is imported after numpy
- Fix inheriting colorbar positions from other colorbars
- Address unittest issue with contour-shape labels
- Avoid blocking the terminal in unittests for jupyter notebooks
- Fix missing docstring for DLR webmap service
- Fix issues for move-callbacks shared between multiple Maps
- Fix visibility of datasets when using "dynamic_shade_indicator" colorbars
- Fix assignment of vmin/vmax for "count" based shade-aggregation
- Fix treatment of masked values in evaluation of vmin/vmax for encoded datasets
- Fix issues with help-text popups of the CompanionWidget LayerTabBar
- Improvements for colorbar implementation
- Unify treatment of layer-name parsing
- Try to push current view to toolbar nav-stack after layout-restore
- Fix issues with help-popups of the LayerTabBar of the companion-widget
- Fix issues with figure-exports after `m.apply_layout(...)`
- Fix treatment of reprojected 1D datasets with `shade_raster` shape
- Fix parsing *maxsize* argument in companion widget for `raster`-shape
- Fix treatment of infinite values in weighted colorbar histograms
- Allow passing transform-kwarg to `m.add_text(...)`
- Fix truncating companion-widget title if too long
- Make sure companion-widget dataset-dropdown is elided
- Avoid memory-leaks caused by artist-references in pick-containers
- Fix `numpy.ma.masked_array` issues with datashader/numba when using `"shade_points"`
- Fix handling pick-events that do not have an "idx" property
- Fix raster-aggregation if block-size cannot be evaluated (e.g. None)
- Fix handling of pick-events that do not have an "idx" property
- Make sure keypress-events are triggered irrespective of the toolbar mode
- Make sure LayoutEditor x0, y0 values are always set as specified
- Fix issues with string-type dpi values passed to savefig
- Avoid pandas dependency when attempting to use `raster` shape with 1D datasets
- Make sure data encoding fill-value is properly applied

8.0rc2

A third **release-candidate** for **EOmaps v8**.

For a full list of upcoming changes, fixes and improvements, see 205

Page 1 of 15

Β© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.