earthengine-api 1.6.13rc0__tar.gz → 1.6.14__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 earthengine-api might be problematic. Click here for more details.

Files changed (115) hide show
  1. {earthengine_api-1.6.13rc0/earthengine_api.egg-info → earthengine_api-1.6.14}/PKG-INFO +1 -1
  2. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14/earthengine_api.egg-info}/PKG-INFO +1 -1
  3. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/__init__.py +1 -1
  4. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/deprecation.py +5 -0
  5. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/terrain.py +1 -1
  6. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/batch_test.py +8 -0
  7. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/deprecation_test.py +4 -2
  8. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/serializer_test.py +26 -0
  9. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/terrain_test.py +8 -0
  10. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/pyproject.toml +1 -1
  11. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/LICENSE +0 -0
  12. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/MANIFEST.in +0 -0
  13. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/README.md +0 -0
  14. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/earthengine_api.egg-info/SOURCES.txt +0 -0
  15. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/earthengine_api.egg-info/dependency_links.txt +0 -0
  16. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/earthengine_api.egg-info/entry_points.txt +0 -0
  17. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/earthengine_api.egg-info/requires.txt +0 -0
  18. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/earthengine_api.egg-info/top_level.txt +0 -0
  19. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/_arg_types.py +0 -0
  20. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/_cloud_api_utils.py +0 -0
  21. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/_helpers.py +0 -0
  22. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/_state.py +0 -0
  23. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/_utils.py +0 -0
  24. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/apifunction.py +0 -0
  25. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/apitestcase.py +0 -0
  26. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/batch.py +0 -0
  27. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/blob.py +0 -0
  28. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/classifier.py +0 -0
  29. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/cli/__init__.py +0 -0
  30. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/cli/commands.py +0 -0
  31. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/cli/eecli.py +0 -0
  32. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/cli/eecli_wrapper.py +0 -0
  33. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/cli/utils.py +0 -0
  34. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/clusterer.py +0 -0
  35. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/collection.py +0 -0
  36. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/computedobject.py +0 -0
  37. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/confusionmatrix.py +0 -0
  38. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/customfunction.py +0 -0
  39. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/data.py +0 -0
  40. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/daterange.py +0 -0
  41. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/deserializer.py +0 -0
  42. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/dictionary.py +0 -0
  43. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/ee_array.py +0 -0
  44. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/ee_date.py +0 -0
  45. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/ee_exception.py +0 -0
  46. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/ee_list.py +0 -0
  47. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/ee_number.py +0 -0
  48. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/ee_string.py +0 -0
  49. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/ee_types.py +0 -0
  50. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/element.py +0 -0
  51. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/encodable.py +0 -0
  52. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/errormargin.py +0 -0
  53. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/feature.py +0 -0
  54. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/featurecollection.py +0 -0
  55. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/filter.py +0 -0
  56. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/function.py +0 -0
  57. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/geometry.py +0 -0
  58. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/image.py +0 -0
  59. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/image_converter.py +0 -0
  60. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/imagecollection.py +0 -0
  61. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/join.py +0 -0
  62. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/kernel.py +0 -0
  63. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/mapclient.py +0 -0
  64. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/model.py +0 -0
  65. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/oauth.py +0 -0
  66. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/pixeltype.py +0 -0
  67. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/projection.py +0 -0
  68. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/py.typed +0 -0
  69. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/reducer.py +0 -0
  70. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/serializer.py +0 -0
  71. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/table_converter.py +0 -0
  72. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/_cloud_api_utils_test.py +0 -0
  73. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/_helpers_test.py +0 -0
  74. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/_state_test.py +0 -0
  75. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/_utils_test.py +0 -0
  76. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/algorithms.json +0 -0
  77. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/apifunction_test.py +0 -0
  78. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/blob_test.py +0 -0
  79. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/classifier_test.py +0 -0
  80. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/cloud_api_discovery_document.json +0 -0
  81. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/clusterer_test.py +0 -0
  82. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/collection_test.py +0 -0
  83. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/computedobject_test.py +0 -0
  84. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/confusionmatrix_test.py +0 -0
  85. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/data_test.py +0 -0
  86. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/daterange_test.py +0 -0
  87. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/deserializer_test.py +0 -0
  88. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/dictionary_test.py +0 -0
  89. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/ee_array_test.py +0 -0
  90. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/ee_date_test.py +0 -0
  91. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/ee_list_test.py +0 -0
  92. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/ee_number_test.py +0 -0
  93. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/ee_string_test.py +0 -0
  94. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/ee_test.py +0 -0
  95. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/ee_types_test.py +0 -0
  96. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/element_test.py +0 -0
  97. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/errormargin_test.py +0 -0
  98. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/feature_test.py +0 -0
  99. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/featurecollection_test.py +0 -0
  100. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/filter_test.py +0 -0
  101. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/function_test.py +0 -0
  102. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/geometry_point_test.py +0 -0
  103. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/geometry_test.py +0 -0
  104. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/image_converter_test.py +0 -0
  105. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/image_test.py +0 -0
  106. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/imagecollection_test.py +0 -0
  107. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/join_test.py +0 -0
  108. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/kernel_test.py +0 -0
  109. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/model_test.py +0 -0
  110. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/oauth_test.py +0 -0
  111. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/pixeltype_test.py +0 -0
  112. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/projection_test.py +0 -0
  113. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/reducer_test.py +0 -0
  114. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/ee/tests/table_converter_test.py +0 -0
  115. {earthengine_api-1.6.13rc0 → earthengine_api-1.6.14}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: earthengine-api
3
- Version: 1.6.13rc0
3
+ Version: 1.6.14
4
4
  Summary: Earth Engine Python API
5
5
  Author-email: Google LLC <noreply@google.com>
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: earthengine-api
3
- Version: 1.6.13rc0
3
+ Version: 1.6.14
4
4
  Summary: Earth Engine Python API
5
5
  Author-email: Google LLC <noreply@google.com>
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  """The EE Python library."""
2
2
 
3
- __version__ = '1.6.13rc0'
3
+ __version__ = '1.6.14'
4
4
 
5
5
  # Using lowercase function naming to match the JavaScript names.
6
6
  # pylint: disable=g-bad-name
@@ -204,6 +204,11 @@ def _IssueAssetDeprecationWarning(asset: DeprecatedAsset) -> None:
204
204
  formatted_date = removal_date.strftime('%B %d, %Y').replace(' 0', ' ')
205
205
  warning += f' by {formatted_date}'
206
206
  warning += '.'
207
+ if asset.replacement_id:
208
+ warning = (
209
+ warning
210
+ + f'\nThis dataset has been superseded by {asset.replacement_id}\n'
211
+ )
207
212
  if asset.learn_more_url:
208
213
  warning = warning + f'\nLearn more: {asset.learn_more_url}\n'
209
214
  warnings.warn(warning, category=DeprecationWarning)
@@ -13,7 +13,7 @@ class Terrain:
13
13
 
14
14
  def __init__(self):
15
15
  raise RuntimeError(
16
- self.__name__
16
+ self.__class__.__name__
17
17
  + ' should not be used as an object. Only direct usage of Terrain'
18
18
  ' static methods is allowed. For example, use this: '
19
19
  ' `ee.Terrain.aspect(...)`'
@@ -138,6 +138,14 @@ class TaskTest(unittest.TestCase):
138
138
  ):
139
139
  self.assertFalse(task.active())
140
140
 
141
+ def test_success(self):
142
+ self.assertTrue(batch.Task.State.success(batch.Task.State.COMPLETED))
143
+ self.assertTrue(batch.Task.State.success('COMPLETED'))
144
+ for state in batch.Task.State:
145
+ if state != batch.Task.State.COMPLETED:
146
+ self.assertFalse(batch.Task.State.success(state))
147
+ self.assertFalse(batch.Task.State.success(state.value))
148
+
141
149
  def test_repr_without_config(self):
142
150
  task = batch.Task('an id', 'a task type', 'a state')
143
151
  self.assertEqual('<Task "an id">', task.__repr__())
@@ -100,7 +100,8 @@ _EXPECTED_WARNINGS = {
100
100
  r'Attention required for date_and_learn_more! You are using a'
101
101
  r' deprecated asset.\nTo make sure your code keeps working, please'
102
102
  r' update'
103
- r' it by July 1, 2024.\nLearn more: learn_more_url'
103
+ r' it by July 1, 2024.\nThis dataset has been superseded by'
104
+ r' replacement_id\n\nLearn more: learn_more_url'
104
105
  ),
105
106
  'date_only': (
106
107
  r'Attention required for date_only! You are using a deprecated asset.\n'
@@ -124,7 +125,8 @@ _EXPECTED_WARNINGS = {
124
125
  r'Attention required for learn_more_url_only! You are using a'
125
126
  r' deprecated asset.\nTo make sure your code keeps working, please'
126
127
  r' update'
127
- r' it.\nLearn more: learn_more_url'
128
+ r' it.\nThis dataset has been superseded by replacement_id\n\nLearn'
129
+ r' more: learn_more_url'
128
130
  ),
129
131
  }
130
132
 
@@ -284,6 +284,32 @@ class SerializerTest(apitestcase.ApiTestCase):
284
284
  self.assertIn('\n', serializer.toJSON(ee.Image(0), opt_pretty=True))
285
285
  self.assertNotIn('\n', serializer.toJSON(ee.Image(0), opt_pretty=False))
286
286
 
287
+ def test_datetime_serialization_legacy(self):
288
+ a_date = datetime.datetime(2014, 8, 10, tzinfo=datetime.timezone.utc)
289
+ # 1407628800000000 microseconds.
290
+ expected = {
291
+ 'type': 'CompoundValue',
292
+ 'scope': [],
293
+ 'value': {
294
+ 'type': 'Invocation',
295
+ 'functionName': 'Date',
296
+ 'arguments': {'value': 1407628800000.0},
297
+ },
298
+ }
299
+ self.assertEqual(expected, serializer.encode(a_date, for_cloud_api=False))
300
+
301
+ def test_single_value_no_compound(self):
302
+ """Verifies serialization of a single non-primitive value."""
303
+ self.assertEqual([1], serializer.encode([1], for_cloud_api=False))
304
+
305
+ def test_unencodable_object(self):
306
+ class Unencodable:
307
+ pass
308
+ with self.assertRaisesRegex(ee.EEException, 'Cannot encode object: .*'):
309
+ serializer.encode(Unencodable(), for_cloud_api=False)
310
+ with self.assertRaisesRegex(ee.EEException, 'Cannot encode object: .*'):
311
+ serializer.encode(Unencodable(), for_cloud_api=True)
312
+
287
313
 
288
314
  if __name__ == '__main__':
289
315
  unittest.main()
@@ -141,6 +141,14 @@ class TerrainTest(apitestcase.ApiTestCase):
141
141
  result = json.loads(expression.serialize())
142
142
  self.assertEqual(expect, result)
143
143
 
144
+ def test_init(self):
145
+ message = r'Terrain should not be used as an object.*'
146
+ with self.assertRaisesRegex(RuntimeError, message):
147
+ ee.Terrain()
148
+
149
+ def test_name(self):
150
+ self.assertEqual('Terrain', ee.Terrain.name())
151
+
144
152
 
145
153
  if __name__ == '__main__':
146
154
  unittest.main()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "earthengine-api"
3
- version = "1.6.13rc0"
3
+ version = "1.6.14"
4
4
  description = "Earth Engine Python API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"