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.

Files changed (80) hide show
  1. {ellipsis-3.1.51 → ellipsis-3.1.53}/PKG-INFO +1 -1
  2. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/__init__.py +1 -1
  3. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/compute/root.py +51 -24
  4. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/root.py +10 -0
  5. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/PKG-INFO +1 -1
  6. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/requires.txt +1 -0
  7. {ellipsis-3.1.51 → ellipsis-3.1.53}/setup.py +3 -2
  8. {ellipsis-3.1.51 → ellipsis-3.1.53}/LICENSE +0 -0
  9. {ellipsis-3.1.51 → ellipsis-3.1.53}/README.md +0 -0
  10. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/__init__.py +0 -0
  11. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/accessToken/__init__.py +0 -0
  12. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/accessToken/root.py +0 -0
  13. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/account/root.py +0 -0
  14. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/apiManager.py +0 -0
  15. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/compute/__init__.py +0 -0
  16. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/__init__.py +0 -0
  17. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/bookmark/__init__.py +0 -0
  18. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/bookmark/root.py +0 -0
  19. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/file/__init__.py +0 -0
  20. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/file/root.py +0 -0
  21. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/folder/__init__.py +0 -0
  22. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/folder/root.py +0 -0
  23. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/hashtag/__init__.py +0 -0
  24. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/hashtag/root.py +0 -0
  25. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/invite/__init__.py +0 -0
  26. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/invite/root.py +0 -0
  27. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/member/__init__.py +0 -0
  28. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/member/root.py +0 -0
  29. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/__init__.py +0 -0
  30. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/root.py +0 -0
  31. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/__init__.py +0 -0
  32. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/file/__init__.py +0 -0
  33. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/file/root.py +0 -0
  34. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/order/__init__.py +0 -0
  35. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/order/root.py +0 -0
  36. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/root.py +0 -0
  37. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/pointCloud/timestamp/util.py +0 -0
  38. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/__init__.py +0 -0
  39. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/root.py +0 -0
  40. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/style/__init__.py +0 -0
  41. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/style/root.py +0 -0
  42. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/__init__.py +0 -0
  43. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/file/__init__.py +0 -0
  44. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/file/root.py +0 -0
  45. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/order/__init__.py +0 -0
  46. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/order/root.py +0 -0
  47. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/root.py +0 -0
  48. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/raster/timestamp/util.py +0 -0
  49. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/root.py +0 -0
  50. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/setUpTask/__init__.py +0 -0
  51. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/setUpTask/root.py +0 -0
  52. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/usage/__init__.py +0 -0
  53. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/usage/root.py +0 -0
  54. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/__init__.py +0 -0
  55. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/featureProperty/__init__.py +0 -0
  56. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/featureProperty/root.py +0 -0
  57. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/style/__init__.py +0 -0
  58. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/style/root.py +0 -0
  59. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/__init__.py +0 -0
  60. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/__init__.py +0 -0
  61. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/message/__init__.py +0 -0
  62. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/message/root.py +0 -0
  63. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/root.py +0 -0
  64. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/series/__init__.py +0 -0
  65. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/feature/series/root.py +0 -0
  66. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/file/__init__.py +0 -0
  67. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/file/root.py +0 -0
  68. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/order/__init__.py +0 -0
  69. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/order/root.py +0 -0
  70. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/path/vector/timestamp/root.py +0 -0
  71. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/sanitize.py +0 -0
  72. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/user/__init__.py +0 -0
  73. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/user/root.py +0 -0
  74. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/util/__init__.py +0 -0
  75. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis/util/root.py +0 -0
  76. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/SOURCES.txt +0 -0
  77. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/dependency_links.txt +0 -0
  78. {ellipsis-3.1.51 → ellipsis-3.1.53}/ellipsis.egg-info/top_level.txt +0 -0
  79. {ellipsis-3.1.51 → ellipsis-3.1.53}/setup.cfg +0 -0
  80. {ellipsis-3.1.51 → ellipsis-3.1.53}/test/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ellipsis
3
- Version: 3.1.51
3
+ Version: 3.1.53
4
4
  Summary: Package to interact with the Ellipsis API
5
5
  Home-page: https://github.com/ellipsis-drive-internal/python-package
6
6
  Author: Daniel van der Maas
@@ -6,7 +6,7 @@ from ellipsis import user
6
6
  from ellipsis import path
7
7
  from ellipsis import util
8
8
  from ellipsis import compute
9
- __version__ = '3.1.51'
9
+ __version__ = '3.1.53'
10
10
 
11
11
 
12
12
 
@@ -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
- clusterId = r['id']
30
+ computeId = r['id']
32
31
  while awaitTillStarted:
33
- res = listClusters(token=token)['result']
34
- r = [x for x in res if x['id'] == clusterId][0]
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':clusterId}
41
+ return {'id':computeId}
41
42
 
42
43
 
43
- def execute(clusterId, f, token, awaitTillCompleted=True):
44
- clusterId = sanitize.validUuid('clusterId', clusterId, True)
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/' + clusterId + '/execute', body, token)
55
+ apiManager.post('/compute/' + computeId + '/execute', body, token)
55
56
 
56
57
  while awaitTillCompleted:
57
- res = listClusters(token=token)['result']
58
- r = [x for x in res if x['id'] == clusterId][0]
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
- return r['result']
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 terminateCluster(clusterId, token, awaitTillTerminated = True):
75
- clusterId = sanitize.validUuid('clusterId', clusterId, True)
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/' + clusterId + '/terminate', {}, token)
86
+ r = apiManager.post('/compute/' + computeId + '/terminate', {}, token)
80
87
 
81
88
  while awaitTillTerminated:
82
- res = listClusters(token=token)['result']
83
- z = [x for x in res if x['id'] == clusterId][0]
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 getClusterInfo(clusterId, token):
91
- res = listClusters(token=token)['result']
92
- r = [x for x in res if x['id'] == clusterId]
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 cluster found for given id')
121
+ raise ValueError('No compute found for given id')
95
122
  return r[0]
96
123
 
97
- def listClusters(token, pageStart = None, listAll = True):
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ellipsis
3
- Version: 3.1.51
3
+ Version: 3.1.53
4
4
  Summary: Package to interact with the Ellipsis API
5
5
  Home-page: https://github.com/ellipsis-drive-internal/python-package
6
6
  Author: Daniel van der Maas
@@ -1,6 +1,7 @@
1
1
  Fiona
2
2
  Pillow
3
3
  Shapely
4
+ dill
4
5
  geopandas
5
6
  geopy
6
7
  imagecodecs
@@ -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.51",
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