ellipsis 3.2.0__tar.gz → 3.2.1__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.2.0 → ellipsis-3.2.1}/PKG-INFO +19 -1
  2. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/__init__.py +1 -1
  3. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/apiManager.py +1 -1
  4. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/compute/__init__.py +1 -1
  5. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/compute/root.py +27 -7
  6. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/timestamp/root.py +3 -2
  7. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/file/__init__.py +1 -1
  8. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis.egg-info/PKG-INFO +19 -1
  9. {ellipsis-3.2.0 → ellipsis-3.2.1}/setup.py +1 -1
  10. {ellipsis-3.2.0 → ellipsis-3.2.1}/test/test.py +24 -1
  11. {ellipsis-3.2.0 → ellipsis-3.2.1}/LICENSE +0 -0
  12. {ellipsis-3.2.0 → ellipsis-3.2.1}/README.md +0 -0
  13. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/account/__init__.py +0 -0
  14. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/account/accessToken/__init__.py +0 -0
  15. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/account/accessToken/root.py +0 -0
  16. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/account/root.py +0 -0
  17. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/__init__.py +0 -0
  18. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/bookmark/__init__.py +0 -0
  19. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/bookmark/root.py +0 -0
  20. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/file/__init__.py +0 -0
  21. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/file/root.py +0 -0
  22. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/folder/__init__.py +0 -0
  23. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/folder/root.py +0 -0
  24. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/hashtag/__init__.py +0 -0
  25. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/hashtag/root.py +0 -0
  26. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/invite/__init__.py +0 -0
  27. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/invite/root.py +0 -0
  28. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/member/__init__.py +0 -0
  29. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/member/root.py +0 -0
  30. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/__init__.py +0 -0
  31. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/root.py +0 -0
  32. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/timestamp/__init__.py +0 -0
  33. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/timestamp/file/__init__.py +0 -0
  34. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/timestamp/file/root.py +0 -0
  35. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/timestamp/order/__init__.py +0 -0
  36. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/timestamp/order/root.py +0 -0
  37. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/timestamp/root.py +0 -0
  38. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/pointCloud/timestamp/util.py +0 -0
  39. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/__init__.py +0 -0
  40. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/root.py +0 -0
  41. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/style/__init__.py +0 -0
  42. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/style/root.py +0 -0
  43. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/timestamp/__init__.py +0 -0
  44. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/timestamp/file/__init__.py +0 -0
  45. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/timestamp/file/root.py +0 -0
  46. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/timestamp/order/__init__.py +0 -0
  47. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/timestamp/order/root.py +0 -0
  48. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/raster/timestamp/util.py +0 -0
  49. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/root.py +0 -0
  50. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/setUpTask/__init__.py +0 -0
  51. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/setUpTask/root.py +0 -0
  52. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/usage/__init__.py +0 -0
  53. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/usage/root.py +0 -0
  54. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/__init__.py +0 -0
  55. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/featureProperty/__init__.py +0 -0
  56. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/featureProperty/root.py +0 -0
  57. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/root.py +0 -0
  58. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/style/__init__.py +0 -0
  59. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/style/root.py +0 -0
  60. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/__init__.py +0 -0
  61. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/feature/__init__.py +0 -0
  62. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/feature/message/__init__.py +0 -0
  63. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/feature/message/root.py +0 -0
  64. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/feature/root.py +0 -0
  65. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/feature/series/__init__.py +0 -0
  66. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/feature/series/root.py +0 -0
  67. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/file/root.py +0 -0
  68. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/order/__init__.py +0 -0
  69. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/order/root.py +0 -0
  70. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/path/vector/timestamp/root.py +0 -0
  71. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/sanitize.py +0 -0
  72. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/user/__init__.py +0 -0
  73. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/user/root.py +0 -0
  74. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/util/__init__.py +0 -0
  75. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis/util/root.py +0 -0
  76. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis.egg-info/SOURCES.txt +0 -0
  77. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis.egg-info/dependency_links.txt +0 -0
  78. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis.egg-info/requires.txt +10 -10
  79. {ellipsis-3.2.0 → ellipsis-3.2.1}/ellipsis.egg-info/top_level.txt +0 -0
  80. {ellipsis-3.2.0 → ellipsis-3.2.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ellipsis
3
- Version: 3.2.0
3
+ Version: 3.2.1
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
@@ -11,6 +11,24 @@ Classifier: Operating System :: OS Independent
11
11
  Requires-Python: >=3.6
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
+ Requires-Dist: pandas
15
+ Requires-Dist: Pillow
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: geopandas
18
+ Requires-Dist: pyproj
19
+ Requires-Dist: imageio
20
+ Requires-Dist: numpy
21
+ Requires-Dist: imagecodecs
22
+ Requires-Dist: requests
23
+ Requires-Dist: requests-toolbelt
24
+ Requires-Dist: rasterio
25
+ Requires-Dist: Shapely
26
+ Requires-Dist: geopy
27
+ Requires-Dist: scikit-image
28
+ Requires-Dist: Fiona
29
+ Requires-Dist: pygltflib
30
+ Requires-Dist: tifffile
31
+ Requires-Dist: dill
14
32
 
15
33
  # Ellipsis Drive Python Package
16
34
 
@@ -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.2.0'
9
+ __version__ = '3.2.1'
10
10
 
11
11
 
12
12
 
@@ -140,7 +140,7 @@ def upload(url, filePath, body, token, key = 'data', memfile= None):
140
140
  raise ValueError(r.text)
141
141
  return r.json()
142
142
 
143
- def download(url, filePath, token = None, memfile = None):
143
+ def download(url, filePath=None, token = None, memfile = None):
144
144
  if type(token) == type(None):
145
145
  with requests.get(baseUrl + url, stream=True) as r:
146
146
  r.raise_for_status()
@@ -1 +1 @@
1
- from ellipsis.compute.root import createCompute, listComputes, execute
1
+ from ellipsis.compute.root import createCompute, listComputes, execute, terminatecompute, terminateAll, addToLayer
@@ -4,17 +4,19 @@ import time
4
4
 
5
5
  from ellipsis.util.root import recurse
6
6
  from ellipsis import sanitize
7
- from ellipsis import apiManager
8
7
  from ellipsis.account import getInfo
8
+ from ellipsis import apiManager
9
+ from ellipsis.path.raster.timestamp.file import add as addFile
10
+ from ellipsis.path.raster.timestamp import activate
11
+ from io import BytesIO
9
12
 
10
-
11
- def createCompute(layers, token, nodes=None, interpreter='python3.12', requirements= [], awaitTillStarted = True):
13
+ def createCompute(layers, token, nodes=None, interpreter='python3.12', requirements= [], awaitTillStarted = True, largeResult = False):
12
14
  layers = sanitize.validDictArray('layers', layers, True)
13
15
  token = sanitize.validString('token', token, True)
14
16
  nodes = sanitize.validInt('nodes', nodes, False)
15
17
  interpreter = sanitize.validString('interpreter', interpreter, True)
16
18
  requirements = sanitize.validStringArray('requirements', requirements, False)
17
-
19
+ largeResult = sanitize.validBool('largeResult', largeResult, True)
18
20
  if type(nodes) == type(None):
19
21
  info = getInfo(token=token)
20
22
  nodes = info['plan']['maxComputeNodes']
@@ -23,7 +25,7 @@ def createCompute(layers, token, nodes=None, interpreter='python3.12', requireme
23
25
 
24
26
  requirements = "\n".join(requirements)
25
27
 
26
- body = {'layers':layers, 'interpreter':interpreter, 'nodes':nodes, 'requirements':requirements}
28
+ body = {'layers':layers, 'interpreter':interpreter, 'nodes':nodes, 'requirements':requirements, 'largeResult': largeResult}
27
29
  r = apiManager.post('/compute', body, token)
28
30
 
29
31
  computeId = r['id']
@@ -64,7 +66,8 @@ def execute(computeId, f, token, awaitTillCompleted=True):
64
66
  if x['type'] == 'exception':
65
67
  raise x['value']
66
68
 
67
- values = [x['value'] for x in r['result']]
69
+
70
+ values = [ '/compute/' + computeId + '/file/'+ x['value'] if x['type'] == 'file' else x['value'] for x in r['result']]
68
71
  return values
69
72
 
70
73
  def parseResults(r):
@@ -133,6 +136,23 @@ def listComputes(token, pageStart = None, listAll = True):
133
136
  r = recurse(f, body, listAll)
134
137
  for i in range(len(r['result'])):
135
138
  if 'result' in r['result'][i]:
136
- r['result'][i]['result'] = parseResults(r['result'][i]['result'])
139
+ r['result'][i]['result'] = parseResults(r['result'][i]['result'])
137
140
  return r
138
141
 
142
+ def addToLayer(response, pathId, timestampId, token):
143
+ pathId = sanitize.validUuid('pathId', pathId, True)
144
+ timestampId = sanitize.validUuid('timestampId', timestampId, True)
145
+ token = sanitize.validString('token', token, True)
146
+
147
+ for url in response:
148
+ memfile = downloadFile(url, filePath, token)
149
+ addFile(pathId = pathId, timestampId=timestampId, token = token, fileFormat='tif', memFile=memfile, name='out.tif')
150
+ activate(pathId=pathId, timestampId=timestampId, token=token)
151
+
152
+
153
+
154
+ def downloadFile(url, filePath, token):
155
+ memfile = BytesIO()
156
+ apiManager.download(url = url, filePath='', memfile=memfile, token = token)
157
+ memfile.seek(0)
158
+ return memfile
@@ -6,7 +6,6 @@ from ellipsis.util.root import reprojectRaster
6
6
  from ellipsis.path.raster.timestamp.util import constructImage
7
7
  from ellipsis.path.raster.timestamp.util import cutOfTilesPerZoom
8
8
 
9
- from rasterio.io import MemoryFile
10
9
  from skimage.transform import resize
11
10
  import json
12
11
  import numpy as np
@@ -31,6 +30,8 @@ def getSampledRaster(pathId, timestampId, extent, width, height, epsg=3857, toke
31
30
  epsg = sanitize.validInt('epsg', epsg, True)
32
31
 
33
32
  res = getActualExtent(extent['xMin'], extent['xMax'], extent['yMin'], extent['yMax'], 'EPSG:' + str(epsg))
33
+ #res = getActualExtent(minx = extentWeb['xMin'], maxx = extentWeb['xMax'], miny = extentWeb['yMin'], maxy = extentWeb['yMax'], crs = 'EPSG:3857', out_crs = 4326)
34
+ #extent = res['message']
34
35
 
35
36
  if res['status'] == '400':
36
37
  raise ValueError('Invalid epsg and extent combination')
@@ -46,7 +47,7 @@ def getSampledRaster(pathId, timestampId, extent, width, height, epsg=3857, toke
46
47
 
47
48
 
48
49
  r = tifffile.imread(BytesIO(r.content))
49
-
50
+ #np.unique(r)
50
51
  r = np.transpose(r, [2,0,1])
51
52
 
52
53
 
@@ -1,2 +1,2 @@
1
- from ellipsis.path.vector.timestamp.file.root import get, add, download
1
+ from ellipsis.path.vector.timestamp.file.root import get, add, download, revert, recover, delete
2
2
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ellipsis
3
- Version: 3.2.0
3
+ Version: 3.2.1
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
@@ -11,6 +11,24 @@ Classifier: Operating System :: OS Independent
11
11
  Requires-Python: >=3.6
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
+ Requires-Dist: pandas
15
+ Requires-Dist: Pillow
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: geopandas
18
+ Requires-Dist: pyproj
19
+ Requires-Dist: imageio
20
+ Requires-Dist: numpy
21
+ Requires-Dist: imagecodecs
22
+ Requires-Dist: requests
23
+ Requires-Dist: requests-toolbelt
24
+ Requires-Dist: rasterio
25
+ Requires-Dist: Shapely
26
+ Requires-Dist: geopy
27
+ Requires-Dist: scikit-image
28
+ Requires-Dist: Fiona
29
+ Requires-Dist: pygltflib
30
+ Requires-Dist: tifffile
31
+ Requires-Dist: dill
14
32
 
15
33
  # Ellipsis Drive Python Package
16
34
 
@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
6
6
 
7
7
  setuptools.setup(
8
8
  name="ellipsis",
9
- version="3.2.0",
9
+ version="3.2.1",
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",
@@ -307,7 +307,7 @@ el.path.delete(mapId, admin_token)
307
307
  ##raster information retrieval
308
308
 
309
309
  import ellipsis as el
310
- token = el.account.logIn('admin', 'aEUZXm4jzXW6GnQHUyrl')
310
+ token = el.account.logIn('demo_user', 'demo_user')
311
311
 
312
312
 
313
313
  mapId = '0ce1a67a-3d10-4970-967b-c8880e3c7d67'
@@ -606,3 +606,26 @@ seriesData['x'].values[4] = np.nan
606
606
  el.path.vector.timestamp.feature.series.add(pathId = layerId, timestampId = timestampId, uploadAsFile = True, seriesData=seriesData, token=token)
607
607
 
608
608
  t = pd.read_csv('/home/daniel/Downloads/test.csv')
609
+
610
+
611
+ import ellipsis as el
612
+ pathId = '3a5351e8-0333-47c6-9124-06b9971c9f99'
613
+ timestampId = '78c9a95a-57a7-4db6-a029-33c85a3f75e3'
614
+
615
+ token = el.account.logIn('demo_user', 'demo_user')
616
+
617
+ #wijzig alle namen binnen een extent
618
+
619
+ #haal de huidige features op
620
+ extent = {'xMin':2, 'xMax':6, 'yMin':53, 'yMax':54}
621
+ features = el.path.vector.timestamp.getFeaturesByExtent(pathId, timestampId, extent)['result']
622
+ featuresIds = features['id'].values
623
+ #update de features hoe je wil
624
+ features['bottum'] = 'up'
625
+ #submit de aangepaste features
626
+ el.path.vector.timestamp.feature.edit(pathId, timestampId, featureIds, token, newFeatures)
627
+
628
+ import ellipsis as el
629
+ r = el.path.raster.timestamp.getRaster(pathId = '07125c90-bfde-4036-b85e-b1fdee861ca6', timestampId= 'aa23ec66-91bb-4276-a98c-1b45b6a962fb', extent= {'xMin':70.75458, 'yMin':29.17649 , 'xMax':81.69791, 'yMax': 31.97394 }, epsg=4326)
630
+
631
+ el.util.plotRaster(r['raster'])
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,18 +1,18 @@
1
- Fiona
1
+ pandas
2
2
  Pillow
3
- Shapely
4
- dill
3
+ matplotlib
5
4
  geopandas
6
- geopy
7
- imagecodecs
5
+ pyproj
8
6
  imageio
9
- matplotlib
10
7
  numpy
11
- pandas
12
- pygltflib
13
- pyproj
14
- rasterio
8
+ imagecodecs
15
9
  requests
16
10
  requests-toolbelt
11
+ rasterio
12
+ Shapely
13
+ geopy
17
14
  scikit-image
15
+ Fiona
16
+ pygltflib
18
17
  tifffile
18
+ dill
File without changes