Skip to content

Commit 8510a03

Browse files
committed
Preparing 1.0 release
1 parent 377817c commit 8510a03

10 files changed

+61
-62
lines changed

CHANGES.md

+45-46
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,51 @@
1-
## Changes in 1.0.0.dev3
1+
## Changes in 1.0.0
22

33
### Enhancements
44

5+
* Added a catalog API compliant to [STAC](https://stacspec.org/en/) to
6+
xcube server. (#455)
7+
- It serves a single collection named "datacubes" whose items are the
8+
datasets published by the service.
9+
- The collection items make use the STAC
10+
[datacube](https://github.com/stac-extensions/datacube) extension.
11+
12+
* Simplified the cloud deployment of xcube server/viewer applications (#815).
13+
This has been achieved by the following new xcube server features:
14+
- Configuration files can now also be URLs which allows
15+
provisioning from S3-compatible object storage.
16+
For example, it is now possible to invoke xcube server as follows:
17+
```bash
18+
$ xcube serve --config s3://cyanoalert/xcube/demo.yaml ...
19+
```
20+
- A new endpoint `/viewer/config/{*path}` allows
21+
for configuring the viewer accessible via endpoint `/viewer`.
22+
The actual source for the configuration items is configured by xcube
23+
server configuration using the new entry `Viewer/Configuration/Path`,
24+
for example:
25+
```yaml
26+
Viewer:
27+
Configuration:
28+
Path: s3://cyanoalert/xcube/viewer-config
29+
```
30+
- A typical xcube server configuration comprises many paths, and
31+
relative paths of known configuration parameters are resolved against
32+
the `base_dir` configuration parameter. However, for values of
33+
parameters passed to user functions that represent paths in user code,
34+
this cannot be done automatically. For such situations, expressions
35+
can be used. An expression is any string between `"${"` and `"}"` in a
36+
configuration value. An expression can contain the variables
37+
`base_dir` (a string), `ctx` the current server context
38+
(type `xcube.webapi.datasets.DatasetsContext`), as well as the function
39+
`resolve_config_path(path)` that is used to make a path absolut with
40+
respect to `base_dir` and to normalize it. For example
41+
```yaml
42+
Augmentation:
43+
Path: augmentation/metadata.py
44+
Function: metadata:update_metadata
45+
InputParameters:
46+
bands_config: ${resolve_config_path("../common/bands.yaml")}
47+
```
48+
549
* xcube's spatial resampling functions `resample_in_space()`,
650
`affine_transform_dataset()`, and `rectify_dataset()` exported
751
from module `xcube.core.resampling` now encode the target grid mapping
@@ -77,51 +121,6 @@
77121
This notebook shows how a new data store instance can connect and list
78122
Zarr files from Azure bolb storage using the new `abfs` data store.
79123

80-
81-
* Added a catalog API compliant to [STAC](https://stacspec.org/en/) to
82-
xcube server. (#455)
83-
- It serves a single collection named "datacubes" whose items are the
84-
datasets published by the service.
85-
- The collection items make use the STAC
86-
[datacube](https://github.com/stac-extensions/datacube) extension.
87-
88-
* Simplified the cloud deployment of xcube server/viewer applications (#815).
89-
This has been achieved by the following new xcube server features:
90-
- Configuration files can now also be URLs which allows
91-
provisioning from S3-compatible object storage.
92-
For example, it is now possible to invoke xcube server as follows:
93-
```bash
94-
$ xcube serve --config s3://cyanoalert/xcube/demo.yaml ...
95-
```
96-
- A new endpoint `/viewer/config/{*path}` allows
97-
for configuring the viewer accessible via endpoint `/viewer`.
98-
The actual source for the configuration items is configured by xcube
99-
server configuration using the new entry `Viewer/Configuration/Path`,
100-
for example:
101-
```yaml
102-
Viewer:
103-
Configuration:
104-
Path: s3://cyanoalert/xcube/viewer-config
105-
```
106-
- A typical xcube server configuration comprises many paths, and
107-
relative paths of known configuration parameters are resolved against
108-
the `base_dir` configuration parameter. However, for values of
109-
parameters passed to user functions that represent paths in user code,
110-
this cannot be done automatically. For such situations, expressions
111-
can be used. An expression is any string between `"${"` and `"}"` in a
112-
configuration value. An expression can contain the variables
113-
`base_dir` (a string), `ctx` the current server context
114-
(type `xcube.webapi.datasets.DatasetsContext`), as well as the function
115-
`resolve_config_path(path)` that is used to make a path absolut with
116-
respect to `base_dir` and to normalize it. For example
117-
```yaml
118-
Augmentation:
119-
Path: augmentation/metadata.py
120-
Function: metadata:update_metadata
121-
InputParameters:
122-
bands_config: ${resolve_config_path("../common/bands.yaml")}
123-
```
124-
125124
* xcube's `Dockerfile` no longer creates a conda environment `xcube`.
126125
All dependencies are now installed into the `base` environment making it
127126
easier to use the container as an executable for xcube applications.

xcube/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@
1919
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2020
# DEALINGS IN THE SOFTWARE.
2121

22-
version = '1.0.0.dev3'
22+
version = '1.0.0'
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
{
22
"files": {
33
"main.css": "./static/css/main.8beec6ca.chunk.css",
4-
"main.js": "./static/js/main.c1bd55ac.chunk.js",
5-
"main.js.map": "./static/js/main.c1bd55ac.chunk.js.map",
4+
"main.js": "./static/js/main.db2998c5.chunk.js",
5+
"main.js.map": "./static/js/main.db2998c5.chunk.js.map",
66
"runtime-main.js": "./static/js/runtime-main.9aa7873d.js",
77
"runtime-main.js.map": "./static/js/runtime-main.9aa7873d.js.map",
88
"static/css/2.fe017264.chunk.css": "./static/css/2.fe017264.chunk.css",
9-
"static/js/2.058c41b0.chunk.js": "./static/js/2.058c41b0.chunk.js",
10-
"static/js/2.058c41b0.chunk.js.map": "./static/js/2.058c41b0.chunk.js.map",
9+
"static/js/2.866d0e4c.chunk.js": "./static/js/2.866d0e4c.chunk.js",
10+
"static/js/2.866d0e4c.chunk.js.map": "./static/js/2.866d0e4c.chunk.js.map",
1111
"index.html": "./index.html",
1212
"static/css/2.fe017264.chunk.css.map": "./static/css/2.fe017264.chunk.css.map",
1313
"static/css/main.8beec6ca.chunk.css.map": "./static/css/main.8beec6ca.chunk.css.map",
14-
"static/js/2.058c41b0.chunk.js.LICENSE.txt": "./static/js/2.058c41b0.chunk.js.LICENSE.txt",
14+
"static/js/2.866d0e4c.chunk.js.LICENSE.txt": "./static/js/2.866d0e4c.chunk.js.LICENSE.txt",
1515
"static/media/python-bw.071ec04f.png": "./static/media/python-bw.071ec04f.png"
1616
},
1717
"entrypoints": [
1818
"static/js/runtime-main.9aa7873d.js",
1919
"static/css/2.fe017264.chunk.css",
20-
"static/js/2.058c41b0.chunk.js",
20+
"static/js/2.866d0e4c.chunk.js",
2121
"static/css/main.8beec6ca.chunk.css",
22-
"static/js/main.c1bd55ac.chunk.js"
22+
"static/js/main.db2998c5.chunk.js"
2323
]
2424
}

xcube/webapi/viewer/data/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="viewport" content="minimum-scale=1,initial-scale=1,width=device-width"/><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"/><link rel="icon" href="./images/favicon.ico"/><link rel="apple-touch-icon" href="./images/logo192.png"/><link rel="manifest" href="./manifest.json"/><title>xcube Viewer</title><link href="./static/css/2.fe017264.chunk.css" rel="stylesheet"><link href="./static/css/main.8beec6ca.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,i,l=r[0],f=r[1],a=r[2],p=0,s=[];p<l.length;p++)i=l[p],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(c&&c(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var f=t[l];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="./";var l=this["webpackJsonpxcube-viewer"]=this["webpackJsonpxcube-viewer"]||[],f=l.push.bind(l);l.push=r,l=l.slice();for(var a=0;a<l.length;a++)r(l[a]);var c=f;t()}([])</script><script src="./static/js/2.058c41b0.chunk.js"></script><script src="./static/js/main.c1bd55ac.chunk.js"></script></body></html>
1+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="viewport" content="minimum-scale=1,initial-scale=1,width=device-width"/><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"/><link rel="icon" href="./images/favicon.ico"/><link rel="apple-touch-icon" href="./images/logo192.png"/><link rel="manifest" href="./manifest.json"/><title>xcube Viewer</title><link href="./static/css/2.fe017264.chunk.css" rel="stylesheet"><link href="./static/css/main.8beec6ca.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,i,l=r[0],f=r[1],a=r[2],p=0,s=[];p<l.length;p++)i=l[p],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(c&&c(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var f=t[l];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="./";var l=this["webpackJsonpxcube-viewer"]=this["webpackJsonpxcube-viewer"]||[],f=l.push.bind(l);l.push=r,l=l.slice();for(var a=0;a<l.length;a++)r(l[a]);var c=f;t()}([])</script><script src="./static/js/2.866d0e4c.chunk.js"></script><script src="./static/js/main.db2998c5.chunk.js"></script></body></html>

xcube/webapi/viewer/data/static/js/2.058c41b0.chunk.js renamed to xcube/webapi/viewer/data/static/js/2.866d0e4c.chunk.js

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

xcube/webapi/viewer/data/static/js/2.058c41b0.chunk.js.map renamed to xcube/webapi/viewer/data/static/js/2.866d0e4c.chunk.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

xcube/webapi/viewer/data/static/js/main.c1bd55ac.chunk.js.map

-1
This file was deleted.

xcube/webapi/viewer/data/static/js/main.c1bd55ac.chunk.js renamed to xcube/webapi/viewer/data/static/js/main.db2998c5.chunk.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

xcube/webapi/viewer/data/static/js/main.db2998c5.chunk.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)