Skip to content

Commit fa79dca

Browse files
authored
Merge pull request #116 from Open-EO/0.3.0
openEO API v0.3.0
2 parents b2e6794 + 59faea9 commit fa79dca

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+6942
-5909
lines changed

.travis.yml

+35-25
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,42 @@
1-
sudo: required
2-
services:
3-
- docker
1+
language: python
2+
3+
python:
4+
- "3.5"
45

5-
env:
6-
global:
7-
- GIT_NAME: "Travis CI Documentation Builder"
8-
- GIT_EMAIL: marius.appel@uni-muenster.de
9-
- GH_REF: git@github.com:Open-EO/openeo-api.git
6+
node_js: 8
7+
8+
sudo: required
109

1110
before_install:
12-
- openssl aes-256-cbc -K $encrypted_cc1eefc65230_key -iv $encrypted_cc1eefc65230_iv -in docs/deploy_key.enc -out deploy_key -d
13-
- chmod 600 deploy_key
14-
- echo -e "Host github \n\t HostName github.com \n\t IdentityFile $TRAVIS_BUILD_DIR/deploy_key" >> ~/.ssh/config
11+
- pip install mkdocs
12+
- pip install mkdocs-material
13+
- pip install pymdown-extensions
14+
- pip install pygments
15+
- npm install -g asyncapi-docgen
1516

1617
install:
17-
- cd docs
18-
- docker build -t openeo/apidocs .
18+
- mkdocs build --clean
19+
- cp openapi.json site/
20+
- cp processes.json site/
21+
- rm -f site/apireference/index.html
22+
- rm -f site/processreference/index.html
23+
- rm -f site/apireference-subscriptions/index.html
24+
- mv docs/apireference.html site/apireference/index.html
25+
- mv docs/processreference.html site/processreference/index.html
26+
- adg subscriptions.json -o site/apireference-subscriptions
1927

2028
script:
21-
- rm -rf site
22-
- docker run -v $PWD:/shared --env TRAVIS_BRANCH=$TRAVIS_BRANCH openeo/apidocs
23-
- eval "$(ssh-agent -s)"
24-
- ssh-add $TRAVIS_BUILD_DIR/deploy_key
25-
- git clone --branch gh-pages https://github.com/Open-EO/openeo-api /tmp/gh-pages
26-
- if [[ $TRAVIS_BRANCH == 'master' ]] ; then cd /tmp/gh-pages/ && rm -rf !(v) && cd - && cp -R site/* /tmp/gh-pages/ ; fi
27-
- if [[ $TRAVIS_BRANCH != 'master' ]] ; then rm -rf /tmp/gh-pages/v/$TRAVIS_BRANCH && mkdir -p /tmp/gh-pages/v/$TRAVIS_BRANCH/ && cp -R site/* /tmp/gh-pages/v/$TRAVIS_BRANCH/ ; fi
28-
- git config user.name "Travis CI Documentation Builder"
29-
- git config user.email "marius.appel@uni-muenster.de"
30-
- cd /tmp/gh-pages && git add .
31-
- git commit -m "Automated documentation build[ci skip]"
32-
- git push --force "${GH_REF}" gh-pages:gh-pages
29+
- git clone --branch gh-pages https://$GITHUB_TOKEN@github.com/Open-EO/openeo-api.git gh-pages
30+
- cd gh-pages
31+
- if [[ $TRAVIS_BRANCH == 'master' ]] ; then rm -rf !(v) && cp -R ../site/* ./ ; fi
32+
- if [[ $TRAVIS_BRANCH =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] ; then rm -rf v/$TRAVIS_BRANCH/ && mkdir -p v/$TRAVIS_BRANCH/ && cp -R ../site/* v/$TRAVIS_BRANCH/ ; fi
33+
34+
deploy:
35+
provider: pages
36+
skip-cleanup: true
37+
github-token: $GITHUB_TOKEN
38+
keep-history: true
39+
committer-from-gh: true
40+
local-dir: gh-pages
41+
on:
42+
all_branches: true

README.md

+19-30
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,29 @@
1-
# openEO API prototype for proof of concept
1+
# openEO API
22

3-
[![Status](https://img.shields.io/badge/Status-proof--of--concept-yellow.svg)]()
3+
openEO develops an open API to connect R, python and javascript clients to big Earth observation cloud back-ends in a simple and unified way. This repository contains this API, the openEO (core) API.
44

5-
This repository provides a draft [Swagger 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md) definition of the [openEO](http://openeo.org) API for rapid prototyping and a proof of concept. The complete API is described in `swagger.json`. An additional description of core ideas and concepts including the API specification itself can be found at **[https://open-eo.github.io/openeo-api](https://open-eo.github.io/openeo-api/)**. Since swagger 2.0 does not support JSON schema combinations with `oneOf` and `anyOf`, this definition lacks a formalization of process argument values.
5+
* **[Documentation / Specification](https://open-eo.github.io/openeo-api/v/0.3.0/index.html)**
66

7-
## Documentation and editing
8-
You can use [swagger-ui](https://github.com/swagger-api/swagger-ui) and [swagger-editor]() to
9-
inspect and edit the API specification. Using Docker, the following commands will run swagger-ui on localhost at port 80.
7+
## Versions
108

11-
```
12-
git clone https://github.com/Open-EO/openeo-api.git && cd openeo-api
13-
docker run -p 80:8080 -e SWAGGER_JSON=/api/swagger.json -v $PWD:/api swaggerapi/swagger-ui
14-
# -> open browser at http://localhost
15-
```
9+
The openEO (core) API is currently released in version **0.3**.
1610

17-
Alternatively, you may import the URL `https://raw.githubusercontent.com/Open-EO/openeo-api/master/swagger.json` directly in [editor.swagger.io](https://editor.swagger.io/) or in the [swagger-ui demo](http://petstore.swagger.io/).
11+
**Note:** The specification is currently still an early version, with the potential for some major things to change. The core is now fleshed out, so implementors are encouraged to try it out and give feedback. But the goal is to actually be able to act on that feedback, which will mean changes are quite possible. A solid basis is specified right now, but best practices, extensions and specification details will emerge with implementation.
1812

19-
## Generating server stubs
13+
| Version / Branch | Status | Description |
14+
| ------------------------------------------------------------ | ------- | ------------------------------------------------------------ |
15+
| [0.0.1](https://github.com/Open-EO/openeo-api/tree/0.0.1) ([Spec](https://open-eo.github.io/openeo-api/v/0.0.1/index.html)) | legacy | First draft with basic ideas, loosely implemented. |
16+
| [0.0.2](https://github.com/Open-EO/openeo-api/tree/0.0.2) ([Spec](https://open-eo.github.io/openeo-api/v/0.0.2/index.html)) | legacy | Proof of concept, implemented. |
17+
| [**0.3.0**](https://github.com/Open-EO/openeo-api/tree/0.3.0) ([Spec](https://open-eo.github.io/openeo-api/v/0.3.0/index.html)) | current | Currently in implementation by clients and back-ends. Major rework. |
18+
| [0.4.0](https://github.com/Open-EO/openeo-api/tree/0.4.0) ([Spec](https://open-eo.github.io/openeo-api/v/0.4.0/index.html)) | planned | Planned to add data set and process descriptions and an extension concept. |
2019

21-
**NodeJS**
20+
See also the [milestones](https://github.com/Open-EO/openeo-api/milestones) for a rough roadmap based on GitHub issues.
2221

23-
```
24-
git clone https://github.com/Open-EO/openeo-api.git && cd openeo-api
25-
docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate -i https://raw.githubusercontent.com/Open-EO/openeo-api/master/swagger.json -l nodejs-server -o /local/
26-
npm start
27-
```
22+
## Repository
2823

29-
**JAVA JAXRS**
24+
This repository contains a set of files formally and technically describing the openEO API, each with a human-readable and easily browseable version:
3025

31-
```
32-
git clone https://github.com/swagger-api/swagger-codegen.git && cd swagger-codegen
33-
mvn clean package
34-
cd ..
35-
git clone https://github.com/Open-EO/openeo-api.git && cd openeo-api
36-
java -jar ./swagger-codegen/modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i ./openeo-api/swagger.json -l jaxrs -o ./openEO_swagger/java -c ./openeo-api/java_jaxrs_generator.conf
37-
```
38-
39-
40-
## Generating client stubs
26+
* [openapi.json](openapi.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.3.0/apireference/)) provides the [openAPI](https://www.openapis.org/) 3.0 definition of the openEO API.
27+
* [processes.json](processes.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.3.0/processreference/)) defines pre-defined core processes back-ends may implement for best interoperability.
28+
* [subscriptions.json](subscriptions.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.3.0/apireference-subscriptions/)) provides the [AsyncAPI](https://www.asyncapi.com/) 1.2 definitions for the WebSocket-based subscriptions and notifications API for openEO.
29+
* [docs/](docs/) ([browseable version](https://open-eo.github.io/openeo-api/v/0.3.0/)) contains all additional written documentation, including 'getting started' guides, the architecture, feature descriptions, development guidelines and more.

docs/Docker/generate_docs.sh

-17
This file was deleted.

docs/Dockerfile

-14
This file was deleted.

0 commit comments

Comments
 (0)