EOmaps v8.0.2
EOmaps v8.0.2
- fix issues with missing companion-widget source files
- fix issues with missing
dask-exprdependency fordatashader
EOmaps v8.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 review (pyOpenSci/software-submission#138)!
§ New License!
The EOmaps source code is now licensed under a BSD 3 Clause License 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 in the FAQ of the docs for some more details!
Interested in contributing to EOmaps? Checkout the updated Contribution Guide!
⚠️ Major changes to pip install
Dependency management for EOmaps has been improved to split between required and optional dependencies.
❗
pip install eomapsnow only installs the bare minimum requirements to runEOmaps.
❗To install EOmaps with all optional dependencies, usepip install eomaps[all].
Make sure to have a look at the updated installation instructions in the docs for more details on how to selectively install optional dependencies!
🌳 New
m.set_data(...)now directly acceptsxarray.Datasetsas input (see docs on how to assign datasets)- There is a new pre-defined keypress callback:
overlay_layer- You can use it to toggle showing a layer on top of the currently visible layer.
m.all.cb.keypress.attach.overlay_layer(<layer-name>, key="a")
- You can use it to toggle showing a layer on top of the currently visible layer.
- The
switch_layerkeypress-callback now also accepts lists of layer-names (or lists of tuples(name, transparency)) - m.cb.pick.share_events() 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
LayoutEditornow accepts-1as width/height value for axes (to auto-adjust the value)
🕹️ Jupyter Widgets
There is now a collection of pre-configured Jupyter Widgets that can be used as control elements in Jupyter Notebooks!
Make sure to checkout the corresponding 🕹️ EOmaps Jupyter Widgets section in the docs!
🌦️ Changes
- ❗ Installation config is now provided as a
pyproject.tomlfile (instead ofsetup.py) - ❗ Supported python version is now
>=3.8 - EOmaps now uses qtpy to support multiple Qt versions for the 🧰 Companion Widget!
_version.pyhas been removed. The version is now specified in the[project]category of thepyproject.tomlfile.- Actions now use
micromambato setup (and cache) test environments - Colorbar kwargs
show_outlineandylabelhave been renamed tooutlineandhist_label
The following (previously deprecated) methods are now removed:
m.set_data_specs$\Rightarrow$ usem.set_datainsteadm.add_wms.DLR_basemaps...$\Rightarrow$ usem.add_wms.DLR.basemap...insteadm_inset.indicate_inset_extent$\Rightarrow$ usem_inset.add_extent_indicatorinstead
📖 Documentation updates
Make sure to checkout the fully updated API docs!
- 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 for EOmaps has been added to the docs
- In general, the docs now (gradually switch to) use MySt and Jupyter Notebooks (parsed with myst_nb) 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
numpybinary incompatibility warning ifnetCDF4is 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_rastershape - 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_arrayissues 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
rastershape with 1D datasets - Make sure data encoding fill-value is properly applied