ellipsis 3.1.51__tar.gz → 3.1.53__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ellipsis might be problematic. Click here for more details.
- {ellipsis-3.1.51 → ellipsis-3.1.53}/PKG-INFO +1 -1
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/__init__.py +1 -1
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/compute/root.py +51 -24
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/root.py +10 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/PKG-INFO +1 -1
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/requires.txt +1 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/setup.py +3 -2
- {ellipsis-3.1.51 → ellipsis-3.1.53}/LICENSE +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/README.md +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/accessToken/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/accessToken/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/apiManager.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/compute/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/bookmark/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/bookmark/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/file/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/file/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/folder/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/folder/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/hashtag/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/hashtag/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/invite/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/invite/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/member/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/member/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/file/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/file/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/order/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/order/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/util.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/style/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/style/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/file/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/file/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/order/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/order/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/util.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/setUpTask/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/setUpTask/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/usage/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/usage/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/featureProperty/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/featureProperty/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/style/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/style/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/message/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/message/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/series/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/series/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/file/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/file/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/order/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/order/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/sanitize.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/user/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/user/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/util/__init__.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/util/root.py +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/SOURCES.txt +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/dependency_links.txt +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/top_level.txt +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/setup.cfg +0 -0
- {ellipsis-3.1.51 → ellipsis-3.1.53}/test/test.py +0 -0
|
@@ -7,10 +7,9 @@ from ellipsis import sanitize
|
|
|
7
7
|
from ellipsis import apiManager
|
|
8
8
|
from ellipsis.account import getInfo
|
|
9
9
|
|
|
10
|
+
apiManager.baseUrl = 'https://acc.api.ellipsis-drive.com/v3'
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
def createCluster(layers, token, nodes=None, interpreter='python3.12', requirements= [], awaitTillStarted = True):
|
|
13
|
-
|
|
12
|
+
def createCompute(layers, token, nodes=None, interpreter='python3.12', requirements= [], awaitTillStarted = True):
|
|
14
13
|
layers = sanitize.validDictArray('layers', layers, True)
|
|
15
14
|
token = sanitize.validString('token', token, True)
|
|
16
15
|
nodes = sanitize.validInt('nodes', nodes, False)
|
|
@@ -28,20 +27,22 @@ def createCluster(layers, token, nodes=None, interpreter='python3.12', requireme
|
|
|
28
27
|
body = {'layers':layers, 'interpreter':interpreter, 'nodes':nodes, 'requirements':requirements}
|
|
29
28
|
r = apiManager.post('/compute', body, token)
|
|
30
29
|
|
|
31
|
-
|
|
30
|
+
computeId = r['id']
|
|
32
31
|
while awaitTillStarted:
|
|
33
|
-
res =
|
|
34
|
-
r = [x for x in res if x['id'] ==
|
|
35
|
-
|
|
32
|
+
res = listComputes(token=token)['result']
|
|
33
|
+
r = [x for x in res if x['id'] == computeId][0]
|
|
36
34
|
if r['status'] == 'available':
|
|
37
35
|
break
|
|
36
|
+
if r['status'] == 'errored':
|
|
37
|
+
raise ValueError(r['message'])
|
|
38
|
+
|
|
38
39
|
time.sleep(1)
|
|
39
40
|
|
|
40
|
-
return {'id':
|
|
41
|
+
return {'id':computeId}
|
|
41
42
|
|
|
42
43
|
|
|
43
|
-
def execute(
|
|
44
|
-
|
|
44
|
+
def execute(computeId, f, token, awaitTillCompleted=True):
|
|
45
|
+
computeId = sanitize.validUuid('computeId', computeId, True)
|
|
45
46
|
token = sanitize.validString('token', token, True)
|
|
46
47
|
|
|
47
48
|
if str(type(f)) != "<class 'function'>":
|
|
@@ -51,16 +52,21 @@ def execute(clusterId, f, token, awaitTillCompleted=True):
|
|
|
51
52
|
f_string = base64.b64encode(f_bytes)
|
|
52
53
|
|
|
53
54
|
body = { 'file':f_string}
|
|
54
|
-
apiManager.post('/compute/' +
|
|
55
|
+
apiManager.post('/compute/' + computeId + '/execute', body, token)
|
|
55
56
|
|
|
56
57
|
while awaitTillCompleted:
|
|
57
|
-
res =
|
|
58
|
-
r = [x for x in res if x['id'] ==
|
|
58
|
+
res = listComputes(token=token)['result']
|
|
59
|
+
r = [x for x in res if x['id'] == computeId][0]
|
|
59
60
|
if r['status'] == 'completed':
|
|
60
61
|
break
|
|
61
62
|
time.sleep(1)
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
for x in r['result']:
|
|
65
|
+
if x['type'] == 'exception':
|
|
66
|
+
raise x['value']
|
|
67
|
+
|
|
68
|
+
values = [x['value'] for x in r['result']]
|
|
69
|
+
return values
|
|
64
70
|
|
|
65
71
|
def parseResults(r):
|
|
66
72
|
results = []
|
|
@@ -71,30 +77,51 @@ def parseResults(r):
|
|
|
71
77
|
|
|
72
78
|
return results
|
|
73
79
|
|
|
74
|
-
def
|
|
75
|
-
|
|
80
|
+
def terminatecompute(computeId, token, awaitTillTerminated = True):
|
|
81
|
+
computeId = sanitize.validUuid('computeId', computeId, True)
|
|
76
82
|
token = sanitize.validString('token', token, True)
|
|
83
|
+
sanitize.validBool('awaitTillTerminated',awaitTillTerminated, True)
|
|
77
84
|
|
|
78
85
|
|
|
79
|
-
r = apiManager.post('/compute/' +
|
|
86
|
+
r = apiManager.post('/compute/' + computeId + '/terminate', {}, token)
|
|
80
87
|
|
|
81
88
|
while awaitTillTerminated:
|
|
82
|
-
res =
|
|
83
|
-
z = [x for x in res if x['id'] ==
|
|
89
|
+
res = listComputes(token=token)['result']
|
|
90
|
+
z = [x for x in res if x['id'] == computeId][0]
|
|
84
91
|
if z['status'] == 'stopped':
|
|
85
92
|
break
|
|
86
93
|
time.sleep(1)
|
|
87
94
|
|
|
88
95
|
return r
|
|
89
96
|
|
|
90
|
-
def
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
def terminateAll(token, awaitTillTerminated = True ):
|
|
98
|
+
token = sanitize.validString('token', token, True)
|
|
99
|
+
sanitize.validBool('awaitTillTerminated',awaitTillTerminated, True)
|
|
100
|
+
|
|
101
|
+
res = listComputes(token = token)['result']
|
|
102
|
+
|
|
103
|
+
for x in res:
|
|
104
|
+
if x['status'] != 'stopped' and x['status'] != 'errored' and x['status'] != 'stopping':
|
|
105
|
+
|
|
106
|
+
apiManager.post('/compute/' + x['id'] + '/terminate', {}, token)
|
|
107
|
+
|
|
108
|
+
while awaitTillTerminated:
|
|
109
|
+
res = listComputes(token=token)['result']
|
|
110
|
+
z = [x for x in res if x['id'] == x['id']][0]
|
|
111
|
+
if z['status'] == 'stopped':
|
|
112
|
+
break
|
|
113
|
+
time.sleep(1)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
def getComputeInfo(computeId, token):
|
|
118
|
+
res = listComputes(token=token)['result']
|
|
119
|
+
r = [x for x in res if x['id'] == computeId]
|
|
93
120
|
if len(r) ==0:
|
|
94
|
-
raise ValueError('No
|
|
121
|
+
raise ValueError('No compute found for given id')
|
|
95
122
|
return r[0]
|
|
96
123
|
|
|
97
|
-
def
|
|
124
|
+
def listComputes(token, pageStart = None, listAll = True):
|
|
98
125
|
token = sanitize.validString('token', token, True)
|
|
99
126
|
|
|
100
127
|
|
|
@@ -31,5 +31,15 @@ def editFilter(pathId, propertyFilter, token):
|
|
|
31
31
|
r = apiManager.post('/path/' + pathId + '/vector/filter' , body, token)
|
|
32
32
|
return r
|
|
33
33
|
|
|
34
|
+
def computeAllVectorTiles(pathId, timestampId, token):
|
|
35
|
+
pathId = sanitize.validUuid('pathId', pathId, True)
|
|
36
|
+
timestampId = sanitize.validUuid('timestampId', timestampId, True)
|
|
37
|
+
token = sanitize.validString('token', token, True)
|
|
38
|
+
|
|
39
|
+
r = apiManager.post('/path/' + pathId + '/vector/timestamp/' + timestampId + '/precompute/completeVectorTile' , {}, token)
|
|
40
|
+
|
|
41
|
+
return r
|
|
42
|
+
|
|
43
|
+
|
|
34
44
|
|
|
35
45
|
|
|
@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
|
|
|
6
6
|
|
|
7
7
|
setuptools.setup(
|
|
8
8
|
name="ellipsis",
|
|
9
|
-
version="3.1.
|
|
9
|
+
version="3.1.53",
|
|
10
10
|
author="Daniel van der Maas",
|
|
11
11
|
author_email="daniel@ellipsis-drive.com",
|
|
12
12
|
description="Package to interact with the Ellipsis API",
|
|
@@ -36,7 +36,8 @@ setuptools.setup(
|
|
|
36
36
|
'scikit-image',
|
|
37
37
|
'Fiona',
|
|
38
38
|
'pygltflib',
|
|
39
|
-
'tifffile'
|
|
39
|
+
'tifffile',
|
|
40
|
+
'dill'
|
|
40
41
|
],
|
|
41
42
|
python_requires='>=3.6',
|
|
42
43
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/message/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/series/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|