0.13.0.dev5
Pre-releaseChanges in 0.13.0.dev5
Intermediate changes
- xcube server Python scripts can now import modules from
the script's directory. - Loading of dynamic cubes is now logged.
Changes in 0.13.0.dev4
- xcube serve correctly resolves relative paths to datasets (#758)
Changes in 0.13.0.dev3
- A new function
compute_tiles()
has been
refactored out from functionxcube.core.tile.compute_rgba_tile()
. - Added method
get_level_for_resolution(xy_res)
to
abstract base classxcube.core.mldataset.MultiLevelDataset
. - Removed outdated example resources from
examples/serve/demo
. - Account for different spatial resolutions in x and y in
xcube.core.geom.get_dataset_bounds()
. - Make code robust against 0-size coordinates in
xcube.core.update._update_dataset_attrs()
.
Changes in 0.13.0.dev2
Intermediate changes
-
Fixed unit test w.r.t. change in 0.13.0.dev1
-
xcube now tries to prevent indexing timezone-naive variables with
timezone-aware indexers, or vice versa.
Changes in 0.13.0.dev1
Intermediate changes
- Include package data
xcube/webapi/meta/res/openapi.html
.
Changes in 0.13.0.dev0
Enhancements
-
xcube Server has been rewritten almost from scratch.
-
Introduced a new endpoint
${server_url}/s3
that emulates
and AWS S3 object storage for the published datasets. (#717)
Thebucket
name can be either:s3://datasets
- publishes all datasets in Zarr format.s3://pyramids
- publishes all datasets in a multi-levellevels
format (multi-resolution N-D images)
that comprises level datasets in Zarr format.
Datasets published through the S3 API are slightly
renamed for clarity. For buckets3://pyramids
:- if a dataset identifier has suffix
.levels
, the identifier remains; - if a dataset identifier has suffix
.zarr
, it will be replaced by
.levels
only if such a dataset doesn't exist; - otherwise, the suffix
.levels
is appended to the identifier.
For buckets3://datasets
the opposite is true: - if a dataset identifier has suffix
.zarr
, the identifier remains; - if a dataset identifier has suffix
.levels
, it will be replaced by
.zarr
only if such a dataset doesn't exist; - otherwise, the suffix
.zarr
is appended to the identifier.
With the new S3 endpoints in place, xcube Server instances can be used
as xcube data stores as follows:store = new_data_store( "s3", root="datasets", # bucket "datasets", use also "pyramids" max_depth=2, # optional, but we may have nested datasets storage_options=dict( anon=True, client_kwargs=dict( endpoint_url='http://localhost:8080/s3' ) ) )
-
The limited
s3bucket
endpoints are no longer available and are
replaced bys3
endpoints. -
The
--show
option ofxcube serve
is no longer available. (#750)
We may reintroduce it, but then with a packaged build of
xcube Viewer that matches the current xcube Server version.
-
-
xcube Server's colormap management has been improved in several ways:
- Colormaps are no longer managed globally. E.g., on server configuration
change, new custom colormaps are reloaded from files. - Colormaps are loaded dynamically from underlying
matplotlib and cmocean registries, and custom SNAP color palette files.
That means, latest matplotlib colormaps are now always available. (#687) - Colormaps can now be reversed (name suffix
"_r"
),
can have alpha blending (name suffix"_alpha"
),
or both (name suffix"_r_alpha"
). - Loading of custom colormaps from SNAP
*.cpd
has been rewritten.
Now also theisLogScaled
property of the colormap is recognized. (#661) - The module
xcube.util.cmaps
has been redesigned and now offers
three new classes for colormap management:Colormap
- a colormapColormapCategory
- represents a colormap categoryColormapRegistry
- manages colormaps and their categories
- Colormaps are no longer managed globally. E.g., on server configuration
Other
-
Deprecated CLI
xcube tile
has been removed. -
Deprecated modules, classes, methods, and functions
have finally been removed:xcube.core.geom.get_geometry_mask()
xcube.core.mldataset.FileStorageMultiLevelDataset
xcube.core.mldataset.open_ml_dataset()
xcube.core.mldataset.open_ml_dataset_from_local_fs()
xcube.core.mldataset.open_ml_dataset_from_object_storage()
xcube.core.subsampling.get_dataset_subsampling_slices()
xcube.core.tiledimage
xcube.core.tilegrid
-
The following classes, methods, and functions have been deprecated:
xcube.core.xarray.DatasetAccessor.levels()
xcube.util.cmaps.get_cmap()
xcube.util.cmaps.get_cmaps()
-
Fixed problem with
xcube gen
raisingFileNotFoundError
with Zarr >= 2.13.
Full Changelog: v0.13.0.dev4...v0.13.0.dev5