Skip to content

director OpenAPI, refactoring #187

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
421 commits
Select commit Hold shift + click to select a range
4730f42
FileManager follows new Project Schema
Aug 15, 2018
12bc736
getBuiltInServices returns a map
Aug 15, 2018
ff35249
input/outputPorts are maps not arrays
Aug 15, 2018
29922b2
Built In File Manager working again
Aug 15, 2018
7049718
improving code
Aug 15, 2018
83bc0d1
Merge pull request #4 from odeimaiz/feature/prj_model
oetiker Aug 16, 2018
3bf1384
use getInputPort method
oetiker Aug 16, 2018
454b4e0
restore addLinkNew
oetiker Aug 16, 2018
a4ae9ba
the filemanager provides generic data files
oetiker Aug 16, 2018
57708d7
Using addLinkNew when loading projects
Aug 16, 2018
cd5810f
Merge branch 'settings-updates' of https://github.com/oetiker/osparc-…
Aug 16, 2018
05dac1b
fixed env variable for docker compose on Windows
sanderegg Aug 16, 2018
3bf2bf2
renamed source folder in src
sanderegg Aug 16, 2018
a8f4bce
initial openAPI 2.0 for director
sanderegg Aug 16, 2018
455b2cb
accepted by swagger validator
sanderegg Aug 16, 2018
47b8bcd
added default responses
sanderegg Aug 16, 2018
3b71b41
refined API
sanderegg Aug 16, 2018
74f08a4
Adapt serviceCatalogue to portsMap
Aug 16, 2018
f3e237e
FileManager's port types updated
Aug 16, 2018
cbcaa6e
Drag&Drop logic updated since inputs and outputs can have same IDs
Aug 16, 2018
8673201
Merge pull request #5 from odeimaiz/feature/prj_model
oetiker Aug 16, 2018
97021bd
mime type matching
oetiker Aug 17, 2018
8947100
mimetype class
oetiker Aug 17, 2018
8a28f0a
fix LinkDragOver
Aug 17, 2018
096b2f3
Merge branch 'settings-updates' of https://github.com/oetiker/osparc-…
Aug 17, 2018
1a70b47
Merge pull request #6 from odeimaiz/feature/prj_model
oetiker Aug 17, 2018
b862d09
back to flask
sanderegg Aug 17, 2018
af4383a
Merge branch 'ITISFoundation/osparc-simcore#185' of github.com:sander…
Aug 17, 2018
b8830bd
getInputValue added to NodeBase (not completly working)
Aug 17, 2018
ccfc511
minor
Aug 17, 2018
b900223
nodeMap not needed for now
Aug 17, 2018
46b7e7e
"dynamic" is the type of the node. We don't look for the string in th…
Aug 17, 2018
e754556
minor
Aug 17, 2018
0222f8a
serialize pipeline following the new project model
Aug 17, 2018
4257ebf
serialize pipeline following the new project model (2)
Aug 17, 2018
292592e
using apiset
sanderegg Aug 17, 2018
12a7b46
Merge branch 'ITISFoundation/osparc-simcore#185' of github.com:sander…
Aug 17, 2018
12d950e
missing file
sanderegg Aug 17, 2018
4c21767
Merge branch 'ITISFoundation/osparc-simcore#185' of github.com:sander…
Aug 17, 2018
69549be
Getting input values from the form object
Aug 17, 2018
9409947
Creating setups
Aug 17, 2018
b0967f9
Director:
Aug 17, 2018
369f728
director-service: added draft scripts for code-generation
Aug 17, 2018
dd312e3
director-service: added request/errors in handle rguments
Aug 17, 2018
c8d16fe
Forgot
Aug 17, 2018
145b9bf
Merge branch 'master' into ITISFoundation/osparc-simcore#185
sanderegg Aug 21, 2018
0e38f44
Merge pull request #7 from pcrespov/sanderegg-simcore#185
sanderegg Aug 21, 2018
9bcbfb4
Merge remote-tracking branch 'upstream/master'
Aug 21, 2018
a714c36
Merge branch 'master' into feature/prj_model
Aug 21, 2018
1aec808
Merge pull request #7 from odeimaiz/feature/prj_model
oetiker Aug 21, 2018
b04fcff
automatic creation of routes mapping
sanderegg Aug 21, 2018
ebc8327
cleanup
sanderegg Aug 21, 2018
071120c
fixed automatic creation of routes
sanderegg Aug 21, 2018
962cf7b
added exceptions for director
sanderegg Aug 21, 2018
6d0f978
enabled use of director related exceptions
sanderegg Aug 21, 2018
fc0ae9c
returning web exceptions
sanderegg Aug 21, 2018
77273e2
return 204 when stopping service
sanderegg Aug 21, 2018
a718e00
use ServiceDescription model
sanderegg Aug 22, 2018
7528079
openapi 3.0.0
sanderegg Aug 22, 2018
c77496a
Fake data updated
Aug 22, 2018
2a30256
Showing fake data in the Service Catalogue
Aug 22, 2018
7ff7864
Setting default value in the form. @oetiker, I'm not sure about this one
Aug 22, 2018
bc3b805
OAS3.0
sanderegg Aug 22, 2018
7baec64
removed duplicate
sanderegg Aug 22, 2018
527026f
fixed port
sanderegg Aug 22, 2018
4cc493c
OAS3 generated code, moved to subfolder
sanderegg Aug 22, 2018
740896a
OAS3 generated code, moved to subfolder
sanderegg Aug 22, 2018
bc96a40
Merge branch 'ITISFoundation/osparc-simcore#185' of github.com:sander…
sanderegg Aug 22, 2018
4659e3b
fixed typo in API specs
sanderegg Aug 22, 2018
b1183b6
modified generated code to allow nullable parameter
sanderegg Aug 22, 2018
3e3d2fc
fixed port value may be nullable
sanderegg Aug 22, 2018
9865c2d
fixed returned values jsonified 2x times
sanderegg Aug 22, 2018
1b81094
renamed service into runningservice
sanderegg Aug 22, 2018
8ec5560
clean up
sanderegg Aug 22, 2018
4b9f4ce
return RunningService when calling start_service
sanderegg Aug 22, 2018
776ce85
do not try to access defaultValue
Aug 22, 2018
01a4a59
Create NodeData from MetaData for new nodes
Aug 22, 2018
82baca9
Create node layout in a separate call
Aug 22, 2018
0cfdb51
Set Svg Layer id from outside
Aug 22, 2018
7ebfc01
move metaDataToNodeData to Store
Aug 22, 2018
a227e47
Added getNodeMetaData to Store
Aug 22, 2018
be27cef
minor fix
Aug 22, 2018
3f4eed8
Merge remote-tracking branch 'upstream/master'
Aug 22, 2018
c591456
cleaning code
Aug 23, 2018
1f7f935
updated dockerfile to new aiohttp directorand pip install process
sanderegg Aug 23, 2018
d9fb3db
removed version 2.0 generator
sanderegg Aug 23, 2018
93336d3
minor
Aug 23, 2018
e1407f7
moved .openapi folder inside package for making pip install happy
sanderegg Aug 23, 2018
a7011ca
minor
Aug 23, 2018
cf71322
Extending Project model
Aug 23, 2018
22fa0fc
minor
Aug 23, 2018
c01aaae
Application.js only asks Store for Nodes (Services) and Projects
Aug 23, 2018
a7a96d2
removing calls to fake data
Aug 23, 2018
90b72f7
moved and renamed script
sanderegg Aug 23, 2018
3cbba1a
removing calls to fake data (2)
Aug 23, 2018
47914fd
minor
Aug 23, 2018
1146e28
schema allows any type of data for file inputs and outputs
Aug 23, 2018
7c2d93a
metaDataToNodeData removed
Aug 23, 2018
76db99e
small fixes
sanderegg Aug 23, 2018
d78100d
added specialised script for generating python server code
sanderegg Aug 23, 2018
8551e1a
Do not set for data when creating new instance
Aug 23, 2018
2cb1220
openDynamic signal depracated
Aug 23, 2018
14cbec2
Merge remote-tracking branch 'upstream/master'
Aug 23, 2018
151fee4
Merge branch 'master' into settings-updates
odeimaiz Aug 23, 2018
9478ee2
added codegen.sh to automatically generate server-side code from API
sanderegg Aug 23, 2018
f58a553
small fix in project schema
Aug 23, 2018
97da643
now automatically corrects the python namespace
sanderegg Aug 23, 2018
8bfbaf8
Merge remote-tracking branch 'upstream/master'
Aug 23, 2018
76ec5ae
Merge branch 'settings-updates' of https://github.com/oetiker/osparc-…
Aug 23, 2018
4266c21
fixed conflict
sanderegg Aug 23, 2018
9d3b89b
refactoring director API
sanderegg Aug 24, 2018
5b3bc37
refactored director api to follow good practices
sanderegg Aug 24, 2018
0a8d651
moved scripts under /openapi folder
sanderegg Aug 24, 2018
e3ceec0
moved generated_code inside rest subfolderadapted codegen.sh to gener…
sanderegg Aug 28, 2018
a919888
renamed director to agreed service naming
sanderegg Aug 28, 2018
877fe20
fix name of package to simcore-service-director
sanderegg Aug 28, 2018
3a5ca5a
fixed issue not checking the service version at start
sanderegg Aug 28, 2018
2156be6
forgotten part
sanderegg Aug 28, 2018
7fd9a8d
added middleware to handle errors as defined by API
sanderegg Aug 28, 2018
dca2f45
separation of service descriptions and the rest ;) of the API...
sanderegg Aug 28, 2018
fbe44f7
added some error checking
sanderegg Aug 29, 2018
8d55713
added simcore node json schema in API
sanderegg Aug 29, 2018
8c93db7
using simcore node json schema
sanderegg Aug 29, 2018
54b196b
added config to define api/json file paths
sanderegg Aug 29, 2018
e57d6e2
Merge branch 'ITISFoundation/osparc-simcore#185' of git://github.com/…
Aug 29, 2018
837b050
Minor style comments
Aug 29, 2018
b8dffd6
openapi validation error corrections
sanderegg Aug 30, 2018
4ddc202
Merge pull request #8 from pcrespov/sanderegg-ITISFoundation/osparc-s…
sanderegg Aug 30, 2018
c8e2d8b
Merge branch 'ITISFoundation/osparc-simcore#185' of github.com:sander…
sanderegg Aug 30, 2018
ab1ff55
updated readme
sanderegg Aug 30, 2018
c0f3f98
pylint
sanderegg Aug 30, 2018
835ae1d
cleanu up
sanderegg Aug 30, 2018
6115be3
remove generated utils.py from pylint
sanderegg Aug 30, 2018
b80a775
added envelope to responses
sanderegg Aug 30, 2018
b062680
changed exception name
sanderegg Aug 30, 2018
141b0c3
added some skeleton for unit tests
sanderegg Aug 30, 2018
6eb510d
Minor
Aug 30, 2018
7bc3070
converted json
sanderegg Aug 31, 2018
f4c210a
updated API to provide envelopes as recommended by good practices
sanderegg Sep 4, 2018
ece2516
fixed issue that gcc is missing from container
sanderegg Sep 4, 2018
892940c
typo
sanderegg Sep 4, 2018
fd5ba16
enveloping
sanderegg Sep 4, 2018
5b71cb9
fixed handlers
sanderegg Sep 4, 2018
2d590b5
Merge branch 'master' into ITISFoundation/osparc-simcore#185
sanderegg Sep 4, 2018
358e8ea
missing conlict merge
sanderegg Sep 4, 2018
227d087
Merge branch 'ITISFoundation/osparc-simcore#185' of git://github.com/…
Sep 4, 2018
82a1b33
missed error enveloped for / route
sanderegg Sep 4, 2018
e4235cd
error removed from the envelope
sanderegg Sep 4, 2018
6016b6a
refactorign
sanderegg Sep 4, 2018
b77705f
fix executing local swarm
sanderegg Sep 4, 2018
5bfcfcc
make pylint happy
sanderegg Sep 4, 2018
acac985
fixed test coverage
sanderegg Sep 4, 2018
7243544
sdk base folder structure
sanderegg Sep 4, 2018
a14f91c
Merge remote-tracking branch 'upstream/master'
Sep 4, 2018
9ee49d4
Merge branch 'master' into feature/prj_model
Sep 4, 2018
13ce036
Merge pull request #8 from odeimaiz/feature/prj_model
oetiker Sep 4, 2018
f0fe1dd
created generator for asyncio python client
sanderegg Sep 5, 2018
6f87aa9
example code
sanderegg Sep 5, 2018
60ab0d8
removed files
sanderegg Sep 5, 2018
5f301b0
output folder current folder
sanderegg Sep 5, 2018
a539af9
generated client code
sanderegg Sep 5, 2018
d84a23b
renamed director client to sample
sanderegg Sep 5, 2018
3087cfd
added readme
sanderegg Sep 5, 2018
67550f3
fixed URL
sanderegg Sep 5, 2018
5e0d0a6
temporarily fix pylint for director-sdk
sanderegg Sep 5, 2018
702ae75
Merge pull request #9 from sanderegg/director-sdk
sanderegg Sep 5, 2018
560d5da
renamed director_api.yaml to openapi.yaml
sanderegg Sep 5, 2018
9e001ae
Merge branch 'ITISFoundation/osparc-simcore#185' of github.com:sander…
sanderegg Sep 5, 2018
446e8c8
renamed .openapi folder to .oas3
sanderegg Sep 5, 2018
24e7a91
separation of openapi schemas in several files
sanderegg Sep 5, 2018
2dc3218
split openapi.yaml in paths, parameters and schemas
sanderegg Sep 5, 2018
59119bb
re-generated client code using latest openapi-codegen docker
sanderegg Sep 5, 2018
ae0f9e9
moved root path to subfolder
sanderegg Sep 5, 2018
6b420e0
added tools to recipes
sanderegg Sep 6, 2018
9cfbdac
refactored director Dockerfile to be in sync with current osparc best…
sanderegg Sep 6, 2018
e6a6c9c
updated README
sanderegg Sep 6, 2018
a680909
fixed listing of extra files with new folder structure
sanderegg Sep 6, 2018
08aa921
health check now returns package name/version as defined in setup.py
sanderegg Sep 6, 2018
073416f
removed unnecessary requirements file
sanderegg Sep 6, 2018
37142b6
added portainer
sanderegg Sep 6, 2018
3f8d156
modifed api to have only one server url due to a [bug](https://github…
sanderegg Sep 6, 2018
2c8705e
now installs director-sdk
sanderegg Sep 6, 2018
60e2a5e
replaced director_proxy.py by director_sdk.py
sanderegg Sep 6, 2018
b0f5b41
removed log message
sanderegg Sep 6, 2018
cdeacdb
added asyncio calls
sanderegg Sep 6, 2018
f13ee26
removed dead code
sanderegg Sep 6, 2018
1610092
typos
sanderegg Sep 6, 2018
a88fd70
install director-sdk
sanderegg Sep 6, 2018
7bcb0b6
Merge pull request #10 from sanderegg/replace_server_director_proxy
sanderegg Sep 6, 2018
2714a11
Merge branch 'oetiker-settings-updates' into adapt_webclient
sanderegg Sep 6, 2018
cad5364
Merge branch 'ITISFoundation/osparc-simcore#185' of git://github.com/…
Sep 6, 2018
e643ab5
updated fct call to cope with new returned structure that follows jso…
sanderegg Sep 6, 2018
1263235
Minor
Sep 6, 2018
a193f83
Added director sdk in requirements.
Sep 6, 2018
d91dfc8
now uses a fork of aiohttp-apiset that corrects bugs with empty body …
sanderegg Sep 7, 2018
e00732a
fixed handling of apiset exception by correctly transforming the message
sanderegg Sep 7, 2018
9ef88cd
returns one entity not an array
sanderegg Sep 7, 2018
a70675f
added test call to starting a service through the director sdk
sanderegg Sep 7, 2018
dc01b46
added some more logging in the director
sanderegg Sep 7, 2018
4024c5e
changed signature of start_dynamic_service to get a service key inste…
sanderegg Sep 7, 2018
ddf2ba1
fixed converter from new node structure
sanderegg Sep 7, 2018
f6c41ee
adapted calls to start dynamic services
sanderegg Sep 7, 2018
f7cf4f3
Merge pull request #11 from pcrespov/sanderegg-ITISFoundation/osparc-…
sanderegg Sep 7, 2018
8f1fbd6
installation of director-sdk is done through requirements now
sanderegg Sep 7, 2018
7777550
Make eslint happy
Sep 11, 2018
618012e
Make eslint happy
Sep 11, 2018
258f493
Undo what was wrong
Sep 11, 2018
2dcdf07
minor
Sep 11, 2018
6e6bea3
store services in cache
Sep 11, 2018
9e69600
Fill service catalogue with async data
Sep 11, 2018
fad3182
store services in cache (2)
Sep 11, 2018
0cf93fb
minor
Sep 12, 2018
5778bb8
Check and cache services when starting the editor
Sep 12, 2018
3302f04
reverting makefile changes
Sep 12, 2018
3d95053
added route to get the detail of a specific service given its key and…
sanderegg Sep 12, 2018
25be928
temp fix: conversion from new payload to old payload
sanderegg Sep 12, 2018
72694bd
Do the nodeCheck when accessing LayoutManager
Sep 12, 2018
dd35119
conversion to old port
sanderegg Sep 12, 2018
2adffa2
cleanup dockerfiles
sanderegg Sep 12, 2018
543ade8
refactoring: moved code to api_converter.py
sanderegg Sep 13, 2018
ebb1f11
fixed fct signature
sanderegg Sep 13, 2018
d7ec304
minor
Sep 13, 2018
1b3f541
Fix FileManager
Sep 13, 2018
4b04a2f
Fix serialization
Sep 13, 2018
555844e
workaround for nodes without defaultValue
Sep 13, 2018
b94f5c8
pylint
sanderegg Sep 13, 2018
f409a9f
fix filemanager not updating node
sanderegg Sep 13, 2018
cc58c36
fix access to S3
sanderegg Sep 13, 2018
34d072d
Merge pull request #12 from odeimaiz/feature/prj_model_w_server
sanderegg Sep 13, 2018
a9d3f3a
Merge branch 'ITISFoundation/osparc-simcore#185' into feature#213_ada…
sanderegg Sep 13, 2018
f4d2a03
small fix
Sep 13, 2018
37c9154
Merge branch 'ITISFoundation/osparc-simcore#185' of git://github.com/…
Sep 13, 2018
2a5bee6
Merge pull request #13 from sanderegg/feature#213_adapt_server_to_new…
sanderegg Sep 13, 2018
f8611b9
Merge pull request #14 from odeimaiz/feature/prj_model_w_server
sanderegg Sep 13, 2018
ac14930
pylint
sanderegg Sep 13, 2018
36356b5
Make Sample Project work Sylvain
Sep 13, 2018
c4940ff
minor
Sep 13, 2018
3907787
Open Viewer working again
Sep 13, 2018
87be32b
Merge branch 'ITISFoundation/osparc-simcore#185' of git://github.com/…
Sep 13, 2018
58bab7a
numbers with value 0 were not transfered correctly
sanderegg Sep 13, 2018
e10ed0c
Merge pull request #15 from odeimaiz/feature/prj_model_w_server
sanderegg Sep 13, 2018
d37422e
Expecting nodeId in the payload of startDynamic
Sep 13, 2018
66758ad
also returns service uuid when starting a service
sanderegg Sep 13, 2018
603de92
Add listener once to ShowViewer
Sep 13, 2018
fd7f713
Merge branch 'ITISFoundation/osparc-simcore#185' of git://github.com/…
Sep 13, 2018
e0c407a
director doesn't node about nodes
Sep 13, 2018
b6d22e2
Merge pull request #16 from odeimaiz/feature/prj_model_w_server
sanderegg Sep 13, 2018
c222f46
only transmit the computational services in the adjacency list. This …
sanderegg Sep 13, 2018
b39e82d
typo
sanderegg Sep 13, 2018
d82d706
updated labels of 3d viewer service. cleanup and tag is now in sync w…
sanderegg Sep 13, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
"extends": "eslint:recommended",
"parser": "babel-eslint",
"globals": {
"osparc": false
"osparc": false,
"window": false
},
"rules": {
"max-len": [
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,9 @@ services/docker-compose.swarm.yml
# key-words in filename to ignore them
*secret*
*ignore*

# Any output directory
*output/
# backup files
*~
*.bak
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ matrix:
- pip install --upgrade pip wheel setuptools && pip3 --version
- pip3 install packages/s3wrapper[test]
- pip3 install packages/simcore-sdk[test]
- pip3 install services/director[test]
- pip3 install packages/director-sdk/python
- pushd services/web/server; pip3 install -r requirements/ci.txt; popd

before_script:
Expand Down
20 changes: 13 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
# author: Sylvain Anderegg

# TODO: add flavours by combinging docker-compose files. Namely development, test and production.
VERSION := $(shell cat /proc/version)
VERSION := $(shell uname -a)
# SAN this is a hack so that docker-compose works in the linux virtual environment under Windows
ifneq (,$(findstring Microsoft,$(VERSION)))
export DOCKER_COMPOSE=docker-compose
export DOCKER=docker
export RUN_DOCKER_ENGINE_ROOT=1
# Windows does not have these things defined... but they are needed to execute a local swarm
export DOCKER_GID=1001
export HOST_GID=1000
else
export DOCKER_COMPOSE=docker-compose
export DOCKER=docker
export RUN_DOCKER_ENGINE_ROOT=0
# TODO: Add a meaningfull call to retrieve the local docker group ID and the user ID in linux.
endif

PY_FILES = $(strip $(shell find services packages -iname '*.py' -not -path "*egg*" -not -path "*contrib*"))
PY_FILES = $(strip $(shell find services packages -iname '*.py' -not -path "*egg*" -not -path "*contrib*" -not -path "*/director-sdk/python*" -not -path "*/generated_code/models*" -not -path "*/generated_code/util*"))

export PYTHONPATH=${CURDIR}/packages/s3wrapper/src:${CURDIR}/packages/simcore-sdk/src

all:
Expand All @@ -31,7 +36,7 @@ rebuild-devel:
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.devel.yml build --no-cache

up-devel:
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.devel.yml up
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.devel.yml -f services/docker-compose.tools.yml up

build:
${DOCKER_COMPOSE} -f services/docker-compose.yml build
Expand All @@ -40,18 +45,18 @@ rebuild:
${DOCKER_COMPOSE} -f services/docker-compose.yml build --no-cache

up:
${DOCKER_COMPOSE} -f services/docker-compose.yml up
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.tools.yml up

up-swarm:
${DOCKER} swarm init
${DOCKER} stack deploy -c services/docker-compose.yml -c services/docker-compose.deploy.yml services
${DOCKER} stack deploy -c services/docker-compose.yml -c services/docker-compose.deploy.yml -c services/docker-compose.tools.yml services

up-swarm-devel:
${DOCKER} swarm init
${DOCKER} stack deploy -c services/docker-compose.yml -c services/docker-compose.devel.yml -c services/docker-compose.deploy.devel.yml services
${DOCKER} stack deploy -c services/docker-compose.yml -c services/docker-compose.devel.yml -c services/docker-compose.deploy.devel.yml -c services/docker-compose.tools.yml services

down:
${DOCKER_COMPOSE} -f services/docker-compose.yml down
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.tools.yml down
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.devel.yml down

down-swarm:
Expand Down Expand Up @@ -84,6 +89,7 @@ run_test:
pytest --cov=s3wrapper -v packages/s3wrapper/tests
pytest --cov=simcore_sdk -v packages/simcore-sdk/tests
pytest --cov=server -v services/web/server/tests
pytest --cov=simcore_service_director -v services/director/tests

after_test:
# leave a clean slate (not sure whether this is actually needed)
Expand Down
28 changes: 28 additions & 0 deletions packages/director-sdk/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# simcore-director-sdk

The simcore-director-sdk is the client library needed to access the director REST Api.

It is currently available as an auto-generated python package but could be easily generated for other languages.

## Usage

pip install -v git+https://github.com/ITISFoundation/osparc-simcore.git@director-sdk#subdirectory=packages/director-sdk/python

## Development

No development as the code is automatically generated.

### local testing

Do the following:
1. Start the oSparc swarm
```bash
make build
make up-swarm
```
2. Execute __sample.py__ as an example
3. Observe logs

## code generation from REST API "client side"

Python: The code was generated using the __codegen.sh__ script together with __codegen_config.json__.
6 changes: 6 additions & 0 deletions packages/director-sdk/codegen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#/bin/bash
exec ../../scripts/openapi/openapi_codegen.sh \
-i ../../services/director/src/simcore_service_director/.oas3/v1/openapi.yaml \
-o . \
-g python \
-c ./codegen_config.json
7 changes: 7 additions & 0 deletions packages/director-sdk/codegen_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"packageName":"simcore_director_sdk",
"projectName":"simcore-director-sdk",
"packageVersion":"1.0.0",
"packageUrl":"https://github.com/ITISFoundation/osparc-simcore/tree/master/packages/director-sdk/python",
"library":"asyncio"
}
1 change: 1 addition & 0 deletions packages/director-sdk/python/.openapi-generator/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.3.0-SNAPSHOT
14 changes: 14 additions & 0 deletions packages/director-sdk/python/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "2.7"
- "3.2"
- "3.3"
- "3.4"
- "3.5"
#- "3.5-dev" # 3.5 development branch
#- "nightly" # points to the latest development branch e.g. 3.6-dev
# command to install dependencies
install: "pip install -r requirements.txt"
# command to run tests
script: nosetests
103 changes: 103 additions & 0 deletions packages/director-sdk/python/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# simcore-director-sdk
This is the oSparc's director API

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 2.7 and 3.4+

## Installation & Usage
### pip install

If the python package is hosted on Github, you can install directly from Github

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:
```python
import simcore_director_sdk
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import simcore_director_sdk
```

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python
from __future__ import print_function
import time
import simcore_director_sdk
from simcore_director_sdk.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = simcore_director_sdk.UsersApi(simcore_director_sdk.ApiClient(configuration))

try:
# Service health-check endpoint
api_response = api_instance.root_get()
pprint(api_response)
except ApiException as e:
print("Exception when calling UsersApi->root_get: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *http://{host}:{port}/{version}*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*UsersApi* | [**root_get**](docs/UsersApi.md#root_get) | **GET** / | Service health-check endpoint
*UsersApi* | [**running_interactive_services_delete**](docs/UsersApi.md#running_interactive_services_delete) | **DELETE** /running_interactive_services/{service_uuid} | Stops and removes an interactive service from the oSparc platform
*UsersApi* | [**running_interactive_services_get**](docs/UsersApi.md#running_interactive_services_get) | **GET** /running_interactive_services/{service_uuid} | Succesfully returns if a service with the defined uuid is up and running
*UsersApi* | [**running_interactive_services_post**](docs/UsersApi.md#running_interactive_services_post) | **POST** /running_interactive_services | Starts an interactive service in the oSparc platform and returns its entrypoint
*UsersApi* | [**services_by_key_version_get**](docs/UsersApi.md#services_by_key_version_get) | **GET** /services/{service_key}/{service_version} | Returns details of the selected service if available in the oSparc platform
*UsersApi* | [**services_get**](docs/UsersApi.md#services_get) | **GET** /services | Lists available services in the oSparc platform


## Documentation For Models

- [Error](docs/Error.md)
- [ErrorEnveloped](docs/ErrorEnveloped.md)
- [HealthCheck](docs/HealthCheck.md)
- [HealthCheckEnveloped](docs/HealthCheckEnveloped.md)
- [NodeMetaV0](docs/NodeMetaV0.md)
- [Nodemetav0Authors](docs/Nodemetav0Authors.md)
- [Response204Enveloped](docs/Response204Enveloped.md)
- [RunningService](docs/RunningService.md)
- [RunningServiceEnveloped](docs/RunningServiceEnveloped.md)
- [ServicesEnveloped](docs/ServicesEnveloped.md)


## Documentation For Authorization

All endpoints do not require authorization.


## Author

[email protected]


12 changes: 12 additions & 0 deletions packages/director-sdk/python/docs/Error.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Error

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**message** | **str** | Error message |
**errors** | **list[object]** | | [optional]
**status** | **int** | Error code |

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


11 changes: 11 additions & 0 deletions packages/director-sdk/python/docs/ErrorEnveloped.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# ErrorEnveloped

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**Error**](Error.md) | | [optional]
**status** | **int** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


13 changes: 13 additions & 0 deletions packages/director-sdk/python/docs/HealthCheck.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# HealthCheck

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **str** | | [optional]
**status** | **str** | | [optional]
**api_version** | **str** | | [optional]
**version** | **str** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


11 changes: 11 additions & 0 deletions packages/director-sdk/python/docs/HealthCheckEnveloped.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# HealthCheckEnveloped

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**HealthCheck**](HealthCheck.md) | | [optional]
**status** | **int** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


18 changes: 18 additions & 0 deletions packages/director-sdk/python/docs/NodeMetaV0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# NodeMetaV0

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**key** | **str** | distinctive name for the node based on the docker registry path |
**version** | **str** | semantic version number |
**type** | **str** | service type |
**name** | **str** | short, human readable name for the node |
**description** | **str** | human readable description of the purpose of the node |
**authors** | [**list[Nodemetav0Authors]**](Nodemetav0Authors.md) | |
**contact** | **str** | email to correspond to the authors about the node |
**inputs** | **object** | definition of the inputs of this node |
**outputs** | **object** | definition of the outputs of this node |

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


12 changes: 12 additions & 0 deletions packages/director-sdk/python/docs/Nodemetav0Authors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Nodemetav0Authors

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **str** | Name of the author | [optional]
**email** | **str** | Email address | [optional]
**affiliation** | **str** | Affiliation of the author | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


11 changes: 11 additions & 0 deletions packages/director-sdk/python/docs/Response204Enveloped.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Response204Enveloped

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | **str** | | [optional]
**status** | **int** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


12 changes: 12 additions & 0 deletions packages/director-sdk/python/docs/RunningService.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# RunningService

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**published_port** | **int** | The ports where the service provides its interface |
**entry_point** | **str** | The entry point where the service provides its interface if specified | [optional]
**service_uuid** | **str** | The UUID attached to this service |

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


11 changes: 11 additions & 0 deletions packages/director-sdk/python/docs/RunningServiceEnveloped.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# RunningServiceEnveloped

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**RunningService**](RunningService.md) | | [optional]
**status** | **int** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


11 changes: 11 additions & 0 deletions packages/director-sdk/python/docs/ServicesEnveloped.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# ServicesEnveloped

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**list[NodeMetaV0]**](NodeMetaV0.md) | | [optional]
**status** | **int** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


Loading