Skip to content

0.13.0.dev5

Pre-release
Pre-release
Compare
Choose a tag to compare
@forman forman released this 30 Nov 07:51
f5a4930

Changes 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 function xcube.core.tile.compute_rgba_tile().
  • Added method get_level_for_resolution(xy_res) to
    abstract base class xcube.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)
      The bucket name can be either:

      • s3://datasets - publishes all datasets in Zarr format.
      • s3://pyramids - publishes all datasets in a multi-level levels
        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 bucket s3://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 bucket s3://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 by s3 endpoints.

    • The --show option of xcube 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 the isLogScaled 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 colormap
      • ColormapCategory - represents a colormap category
      • ColormapRegistry - manages colormaps and their categories

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 raising FileNotFoundError
    with Zarr >= 2.13.

Full Changelog: v0.13.0.dev4...v0.13.0.dev5