Eomaps

Latest version: v8.2.1

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

Scan your dependencies

Page 2 of 15

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

8.0rc1

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

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

8.0rc0

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

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

7.3.3

Another round of bug-fixes for [v7.3](https://github.com/raphaelquast/EOmaps/releases/tag/v7.3).

🌳 New
- `MapsGrid` objects now have dedicated `.show()` and `.snapshot()` methods

🔨 Fixes
- ❗ fix restoring visible layer in interactive backends after using `m.savefig()`
- ❗ fix issues with InsetMaps in `ipympl` backend
- fix re-drawing spines with `m.set_frame()` if corners are not rounded
- fix colorbar should use figure directly instead of relying on `plt.gcf`
- fix re-fetching backgrounds if colorbars change axes sizes
- fix parsing "maxsize" argument for raster-shape in companion-widget
- fix treatment of weighted colorbar histograms with (out_of_range_vals="masked")

7.3.2

A second bugfix release for [v7.3](https://github.com/raphaelquast/EOmaps/releases/tag/v7.3) that brings some important fixes for Jupyter Notebooks, custom WebMap services and RGB/RGBA composite plots.

🌳 New

- Style kwargs are now supported when adding multiple preset-features in one go, for example:
python
m = Maps()
m.add_feature.preset("coastline", "ocean", "land", alpha=0.5)

- You can now specify additional wms properties when using custom WebMap services, for example:
python
my_wms = m.add_wms.get_service("service-url", service_type="wms", version=1.3.0)


🌦️ Changes
- The figure-header added by the **Jupyter-notebook** `ipympl` backend is now hidden by default.
To revert back to the old behavior (and enable the header), use:
python
%matplotlib widget
m = Maps()
m.f.canvas.header_visible = True


🔨 fixes
- ❗ fix issues with **RGB/RGBA composite plots**
- ❗ fix **UserDefined Classification** issue: max-bin replaced by data-max
- ❗ fix using transparent snapshots in IPython/Jupyter Notebooks
- fix duplicated figures shown in **jupyter notebooks** inline backend
- fix re-fetching backgrounds and spines with `m.set_frame()`
- fix using `m.set_frame()` in jupyter notebook inline backend
- improve syntax for disabling draw or update in the BlitManager
- improve handling of issues with "tight_bbox" redraws
- avoid logging during draw on higher levels
- avoid turning off interactive mode with the jupyter notebook inline backend
- allow passing kwargs to custom WebMap services

Page 2 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.