Skip to content

Releases: xcube-dev/xcube

1.9.1.dev2

07 Apr 07:52
Compare
Choose a tag to compare
1.9.1.dev2 Pre-release
Pre-release

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

03 Apr 14:11
6bbd0ab
Compare
Choose a tag to compare
1.9.0.dev1 Pre-release
Pre-release

What's Changed

  • Specify backend parameters for multi-level datasets by @forman in #1145

Full Changelog: v1.9.0.dev0...v1.9.0.dev1

1.9.0.dev0

01 Apr 15:22
f8341ed
Compare
Choose a tag to compare
1.9.0.dev0 Pre-release
Pre-release

What's Changed

Full Changelog: v1.9.0...v1.9.0.dev0

1.9.0

22 Mar 10:11
cc15e46
Compare
Choose a tag to compare

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 the preload_data method in xcube.core.store.DataStore. The PreloadedDataStore is a data store containing a preload_handle field, which holds the handle associated with a preload job.

  • Renamed xrlint config file from xrlint_config.yaml to xrlint-config.yaml.

Full Changelog: v1.8.3...v1.9.0

1.8.3

21 Feb 14:10
31e5882
Compare
Choose a tag to compare

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)

    1. New description properties have been added to responses from xcube Server for
      datasets and variables.
    2. User can now provide abstracts or descriptions using markdown format for dataset
      configurations in xcube Server. A new configuration setting Description
      now accompanies settings such as Title.
    3. Default values for the Description setting are derived from metadata of
      datasets and variable CF attributes.
  • 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 package xcube.webapi.viewer.components
    exporting class Markdown which has a single text 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

31 Jan 14:45
7e882a7
Compare
Choose a tag to compare

Changes in 1.8.2

  • Bundled xcube Viewer 1.4.1 with fixes regarding the share feature.

  • No longer logging a TypeError if xcube server's GET viewer/ext/contributions is called without any viewer extensions configured. (#1116)

1.8.1

27 Jan 14:09
Compare
Choose a tag to compare

Resolved an issue where the resample_in_space function no longer worked with irregular grid mappings, such as Sentinel-3 data, due to changes introduced in version 1.8.0. (#1114)

1.8.0

23 Jan 15:51
Compare
Choose a tag to compare

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 supports xarray.Datasets
    containing multi-dimensional data variables structured as var(..., y_dim, x_dim).
    The two spatial dimensions (y_dim and x_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
      new xcube.core.store.DataPreloader interface.
    • Added handy default implementations NullPreloadHandle and ExecutorPreloadHandle
      to be returned by implementations of the prepare_data() method of a
      given data store.
  • A xy_res keyword argument was added to the transform() 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 no tile_size is specified for the target grid mapping. It now
    defaults to the tile_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, the DatasetNetcdfFsDataAccessor
    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 in DataStore has an enhanced include_attrs parameter.
    Previously accepting only Container[str], it now also supports a bool value.
    Setting include_attrs to True 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 calling rectify_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 either dataset or mldataset. (#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 decorators layout() and callback()
    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 in examples/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 with timeout arg;
    • added new context manager s3_test_server() with timeout arg to be used
      within tests function bodies;
    • S3Test, @s3_test(), and s3_test_server() now restore environment
      variables modified for the Moto S3 test server.

Full Changelog: v1.7.1...v1.8.0

1.7.2.dev1

15 Nov 15:40
d11e2ba
Compare
Choose a tag to compare
1.7.2.dev1 Pre-release
Pre-release

What's Changed

Full Changelog: v1.7.2.dev0...v1.7.2.dev1

1.7.2.dev0

14 Nov 14:33
a16335d
Compare
Choose a tag to compare
1.7.2.dev0 Pre-release
Pre-release

What's Changed

Full Changelog: v1.7.1...v1.7.2.dev0