Releases: xcube-dev/xcube
1.9.1.dev2
What's Changed
- Open Zarrs with store, even with another backend by @forman in #1148
- Enable ordering of datasets from config file shown in
xcube-viewer
by @b-yogesh in #1147 - Update
EntrypointDatasetId
schema by @b-yogesh in #1149 - Fix failing
EntrypointDatasetId
test by @b-yogesh in #1150 - Bundled xcube viewer 1.5.1-dev.1
Full Changelog: v1.9.0.dev1...v1.9.1.dev2
1.9.0.dev1
What's Changed
Full Changelog: v1.9.0.dev0...v1.9.0.dev1
1.9.0.dev0
What's Changed
Full Changelog: v1.9.0...v1.9.0.dev0
1.9.0
Changes in 1.9.0
Enhancements
-
Bundled xcube Viewer 1.5.0 with an updated UI/UX regarding side panel management including server-side panel extensions.
-
Added a new server-side panel extension to the
examples/serve/panels-demo
for demonstration. It shows spectrum plots for a selected map point.
Other changes
-
Extension panels for xcube Viewer of type
xcube.webapi.viewer.contrib.panel.Panel
now have two more properties:icon
: name of a Material Design Icon to be used for the icon button that represents the panel in the viewer's sidebar.position
: to set the position of the respective icon button in the viewer's sidebar.
-
Added a new abstract class
PreloadedDataStore
that defines the return type of thepreload_data
method inxcube.core.store.DataStore
. ThePreloadedDataStore
is a data store containing apreload_handle
field, which holds the handle associated with a preload job. -
Renamed xrlint config file from
xrlint_config.yaml
toxrlint-config.yaml
.
Full Changelog: v1.8.3...v1.9.0
1.8.3
Changes in 1.8.3
Enhancements
-
xcube Server now can be configured to provide abstracts/descriptions for datasets
so they can be rendered as markdown in xcube Viewer
(xcube-dev/xcube-viewer#454). (#1122)- New
description
properties have been added to responses from xcube Server for
datasets and variables. - User can now provide abstracts or descriptions using markdown format for dataset
configurations in xcube Server. A new configuration settingDescription
now accompanies settings such asTitle
. - Default values for the
Description
setting are derived from metadata of
datasets and variable CF attributes.
- New
-
Improved axis labeling in 2D histogram visualization in the Panel demo.
-
Added support for the xcube Viewer's
Markdown
component so it can be used in
server-side viewer extensions. See new packagexcube.webapi.viewer.components
exporting classMarkdown
which has a singletext
property that takes
the markdown text. -
Bundled xcube Viewer 1.4.2.
Other changes
- Reformatted code base according to the default settings used by
isort and
ruff. Updated development
dependencies accordingly. - Updated copyright notices.
- Ensured xcube can be installed and tested in Python 3.13 environments.
- Added a configuration file
xrlint_config.yaml
for the
xrlint tool to the project repository.
Full Changelog: v1.8.2...v1.8.3
1.8.2
1.8.1
1.8.0
Changes in 1.8.0
Enhancements
-
The method
xcube.core.GridMapping.transform
now supports lazy execution. If
computations based on actual data are required—such as determining whether the
grid mapping is regular or estimating the resolution in the x or y direction—only a
single chunk is accessed whenever possible, ensuring faster performance. -
The function
xcube.core.resampling.rectify_dataset
now supportsxarray.Datasets
containing multi-dimensional data variables structured asvar(..., y_dim, x_dim)
.
The two spatial dimensions (y_dim
andx_dim
) must occupy the last two positions
in the variable's dimensions. -
Added a new preload API to xcube data stores:
- Enhanced the
xcube.core.store.DataStore
class to optionally support
preloading of datasets via an API represented by the
newxcube.core.store.DataPreloader
interface. - Added handy default implementations
NullPreloadHandle
andExecutorPreloadHandle
to be returned by implementations of theprepare_data()
method of a
given data store.
- Enhanced the
-
A
xy_res
keyword argument was added to thetransform()
method of
xcube.core.gridmapping.GridMapping
, enabling users to set the grid-mapping
resolution directly, which speeds up the method by avoiding time-consuming
spatial resolution estimation. (#1082) -
The behaviour of the function
xcube.core.resample.resample_in_space()
has
been changed if notile_size
is specified for the target grid mapping. It now
defaults to thetile_size
of the source grid mapping, improving the
user-friendliness of resampling and reprojection. (#1082) -
The
"https"
data store (store = new_data_store("https", ...)
) now allows
for lazily accessing NetCDF files.
Implementation note: For this to work, theDatasetNetcdfFsDataAccessor
class has been adjusted. (#1083) -
Added new endpoint
/viewer/state
to xcube Server that allows for xcube Viewer
state persistence. (#1088)The new viewer API operations are:
GET /viewer/state
to get a keys of stored states or restore a specific state;PUT /viewer/state
to store a state and receive a key for it.
Persistence is configured using new optional
Viewer/Persistence
setting:Viewer: Persistence: # Any filesystem. Can also be relative to base_dir. Path: memory://states # Filesystem-specific storage options # StorageOptions: ...
-
The
get_data_ids()
method inDataStore
has an enhancedinclude_attrs
parameter.
Previously accepting onlyContainer[str]
, it now also supports abool
value.
Settinginclude_attrs
toTrue
retrieves all attributes of the data_ids. -
Updated dependency
urllib3
to be>=2.0
. -
Bundled xcube-viewer 1.4.0
Fixes
- The function
xcube.core.resample.resample_in_space()
now supports the parameter
source_ds_subset=True
when callingrectify_dataset
. This feature enables
performing the reprojection exclusively on the spatially congruent subset of
the dataset. - The function
xcube.core.resample.resample_in_space()
now always operates
lazily and therefore supports chunk-wise, parallel processing. (#1082) - Bug fix in the
has_data
method of the"https"
data store
(store = new_data_store("https", ...)
). (#1084) - Bug fix in the
has_data
method of all filesystem-based data store
("file", "s3", "https"
).data_type
can be any of the supported data types,
e.g. for.tif
file,data_type
can be eitherdataset
ormldataset
. (#1084) - The explanation of the parameter
xy_scale
in the method
xcube.core.gridmapping.GridMapping.scale
has been corrected. (#1086) - The spurious tileserver/viewer warning "no explicit representation of
timezones available…" (formerly "parsing timezone aware datetimes is
deprecated…") is no longer generated. (#807)
Other changes
-
Added experimental feature that allows for extending the xcube Viewer
user interface with server-side panels. For this to work, users can now
configure xcube Server to load one or more Python modules that provide
xcube.webapi.viewer.contrib.Panel
UI-contributions.
Panel instances provide two decoratorslayout()
andcallback()
which are used to implement the UI and the interaction behaviour,
respectively. The functionality is provided by the
Chartlets Python library.
A working example can be found inexamples/serve/panels-demo
. -
The xcube test helper module
test.s3test
has been enhanced to support
testing the experimental server-side panels described above:- added new decorator
@s3_test()
for individual tests withtimeout
arg; - added new context manager
s3_test_server()
withtimeout
arg to be used
within tests function bodies; S3Test
,@s3_test()
, ands3_test_server()
now restore environment
variables modified for the Moto S3 test server.
- added new decorator
Full Changelog: v1.7.1...v1.8.0
1.7.2.dev1
What's Changed
Full Changelog: v1.7.2.dev0...v1.7.2.dev1
1.7.2.dev0
What's Changed
- Allow lazy execution of the reprojection method by @konstntokas in #1082
- Allow to open netcdf file from remote HTTPS server by @konstntokas in #1083
- Error in documentation of
GridMapping.scale
method corrected by @konstntokas in #1087 - Server-side panels by @forman in #1085
- Bug fix in
has_data
method for"https"
data store by @konstntokas in #1084
Full Changelog: v1.7.1...v1.7.2.dev0