port-ocean 0.24.8__py3-none-any.whl → 0.24.10__py3-none-any.whl

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 port-ocean might be problematic. Click here for more details.

@@ -397,6 +397,15 @@ class EntityClientMixin:
397
397
  self._reduce_entity(entity),
398
398
  )
399
399
  entities_results.append(failed_result)
400
+ ocean.metrics.inc_metric(
401
+ name=MetricType.OBJECT_COUNT_NAME,
402
+ labels=[
403
+ ocean.metrics.current_resource_kind(),
404
+ MetricPhase.LOAD,
405
+ MetricPhase.LoadResult.FAILED,
406
+ ],
407
+ value=1,
408
+ )
400
409
  elif isinstance(bulk_result, list):
401
410
  for status, entity in bulk_result:
402
411
  if (
@@ -21,6 +21,7 @@ class IngestSearchQuery(BaseModel):
21
21
  class EntityMapping(BaseModel):
22
22
  identifier: str | IngestSearchQuery
23
23
  title: str | None
24
+ icon: str | None
24
25
  blueprint: str
25
26
  team: str | IngestSearchQuery | None
26
27
  properties: dict[str, str] = Field(default_factory=dict)
@@ -257,16 +257,10 @@ class SyncRawMixin(HandlerMixin, EventsMixin):
257
257
  labels=[ocean.metrics.current_resource_kind(), MetricPhase.LOAD, MetricPhase.LoadResult.SKIPPED],
258
258
  value=len(objects_diff[0].entity_selector_diff.passed) - len(changed_entities)
259
259
  )
260
- upserted_entities = await self.entities_state_applier.upsert(
260
+ await self.entities_state_applier.upsert(
261
261
  changed_entities, user_agent_type
262
262
  )
263
263
 
264
- ocean.metrics.set_metric(
265
- name=MetricType.OBJECT_COUNT_NAME,
266
- labels=[ocean.metrics.current_resource_kind(), MetricPhase.LOAD, MetricPhase.LoadResult.LOADED],
267
- value=len(upserted_entities)
268
- )
269
-
270
264
  else:
271
265
  logger.info("Entities in batch didn't changed since last sync, skipping", total_entities=len(objects_diff[0].entity_selector_diff.passed))
272
266
  ocean.metrics.inc_metric(
@@ -280,11 +274,6 @@ class SyncRawMixin(HandlerMixin, EventsMixin):
280
274
  modified_objects = await self.entities_state_applier.upsert(
281
275
  objects_diff[0].entity_selector_diff.passed, user_agent_type
282
276
  )
283
- ocean.metrics.set_metric(
284
- name=MetricType.OBJECT_COUNT_NAME,
285
- labels=[ocean.metrics.current_resource_kind(), MetricPhase.LOAD, MetricPhase.LoadResult.LOADED],
286
- value=len(upserted_entities)
287
- )
288
277
  else:
289
278
  modified_objects = await self.entities_state_applier.upsert(
290
279
  objects_diff[0].entity_selector_diff.passed, user_agent_type
port_ocean/core/models.py CHANGED
@@ -48,6 +48,7 @@ class PortAPIErrorMessage(Enum):
48
48
 
49
49
  class Entity(BaseModel):
50
50
  identifier: Any
51
+ icon: str | None
51
52
  blueprint: Any
52
53
  title: Any
53
54
  team: str | None | list[Any] | dict[str, Any] = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: port-ocean
3
- Version: 0.24.8
3
+ Version: 0.24.10
4
4
  Summary: Port Ocean is a CLI tool for managing your Port projects.
5
5
  Home-page: https://app.getport.io
6
6
  Keywords: ocean,port-ocean,port
@@ -59,7 +59,7 @@ port_ocean/clients/port/authentication.py,sha256=r7r8Ag9WuwXy-CmgeOoj-PHbmJAQxhb
59
59
  port_ocean/clients/port/client.py,sha256=dv0mxIOde6J-wFi1FXXZkoNPVHrZzY7RSMhNkDD9xgA,3566
60
60
  port_ocean/clients/port/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  port_ocean/clients/port/mixins/blueprints.py,sha256=aMCG4zePsMSMjMLiGrU37h5z5_ElfMzTcTvqvOI5wXY,4683
62
- port_ocean/clients/port/mixins/entities.py,sha256=hg4xJCcYml2JLkqEwg7lJUhB5YLm_sadNfiKdf3rP6Q,22811
62
+ port_ocean/clients/port/mixins/entities.py,sha256=NSZCV-IAg5_gQ7LxCMzxKJu_LkFkz809CQ2y8dFhHqE,23239
63
63
  port_ocean/clients/port/mixins/integrations.py,sha256=s6paomK9bYWW-Tu3y2OIaEGSxsXCHyhapVi4JIhhO64,11162
64
64
  port_ocean/clients/port/mixins/migrations.py,sha256=vdL_A_NNUogvzujyaRLIoZEu5vmKDY2BxTjoGP94YzI,1467
65
65
  port_ocean/clients/port/mixins/organization.py,sha256=A2cP5V49KnjoAXxjmnm_XGth4ftPSU0qURNfnyUyS_Y,1041
@@ -104,7 +104,7 @@ port_ocean/core/handlers/entity_processor/jq_entity_processor.py,sha256=C6zJbS3m
104
104
  port_ocean/core/handlers/port_app_config/__init__.py,sha256=8AAT5OthiVM7KCcM34iEgEeXtn2pRMrT4Dze5r1Ixbk,134
105
105
  port_ocean/core/handlers/port_app_config/api.py,sha256=r_Th66NEw38IpRdnXZcRvI8ACfvxW_A6V62WLwjWXlQ,1044
106
106
  port_ocean/core/handlers/port_app_config/base.py,sha256=Sup4-X_a7JGa27rMy_OgqGIjFHMlKBpKevicaK3AeHU,2919
107
- port_ocean/core/handlers/port_app_config/models.py,sha256=Rf01rQpQZRse2qfr5PwgOz4pKwb53y0LuW9yp7v_ZoI,2912
107
+ port_ocean/core/handlers/port_app_config/models.py,sha256=pO7oI7GIYZ9c2ZxLu8EQ97U2IPqzsbJf3gRQxlizEjE,2933
108
108
  port_ocean/core/handlers/queue/__init__.py,sha256=1fICM0ZLATmmj6f7cdq_eV2kmw0_jy7y2INuLQIpzIE,121
109
109
  port_ocean/core/handlers/queue/abstract_queue.py,sha256=q_gpaWFFZHxM3XovEbgsDn8jEOLM45iAZWVC81Paxto,620
110
110
  port_ocean/core/handlers/queue/local_queue.py,sha256=EzqsGIX43xbVAcePwTcCg5QDrXATQpy-VzWxxN_OyAM,574
@@ -121,9 +121,9 @@ port_ocean/core/integrations/mixins/events.py,sha256=2L7P3Jhp8XBqddh2_o9Cn4N261n
121
121
  port_ocean/core/integrations/mixins/handler.py,sha256=mZ7-0UlG3LcrwJttFbMe-R4xcOU2H_g33tZar7PwTv8,3771
122
122
  port_ocean/core/integrations/mixins/live_events.py,sha256=zM24dhNc7uHx9XYZ6toVhDADPA90EnpOmZxgDegFZbA,4196
123
123
  port_ocean/core/integrations/mixins/sync.py,sha256=Vm_898pLKBwfVewtwouDWsXoxcOLicnAy6pzyqqk6U8,4053
124
- port_ocean/core/integrations/mixins/sync_raw.py,sha256=mY9z6wexl1bC8c3LzOafOzC3RxjRv7NjCmVpQZUypvI,34289
124
+ port_ocean/core/integrations/mixins/sync_raw.py,sha256=AtS0Qr4mIY3vZZxSmnFOLMskiQ_kJUg0_f2ZT8O_Ejw,33670
125
125
  port_ocean/core/integrations/mixins/utils.py,sha256=N76dNu1Y6UEg0_pcSdF4RO6dQIZ8EBfX3xMelgWdMxM,3779
126
- port_ocean/core/models.py,sha256=NYsOBtAqRgmRTb2XYGDW31IxTHSXGRQLOF64apwUZ2Q,2872
126
+ port_ocean/core/models.py,sha256=DNbKpStMINI2lIekKprTqBevqkw_wFuFayN19w1aDfQ,2893
127
127
  port_ocean/core/ocean_types.py,sha256=4VipWFOHEh_d9LmWewQccwx1p2dtrRYW0YURVgNsAjo,1398
128
128
  port_ocean/core/utils/entity_topological_sorter.py,sha256=MDUjM6OuDy4Xj68o-7InNN0w1jqjxeDfeY8U02vySNI,3081
129
129
  port_ocean/core/utils/utils.py,sha256=XJ6ZZBR5hols19TcX4Bh49ygSNhPt3MLncLR-g41GTA,6858
@@ -200,8 +200,8 @@ port_ocean/utils/repeat.py,sha256=U2OeCkHPWXmRTVoPV-VcJRlQhcYqPWI5NfmPlb1JIbc,32
200
200
  port_ocean/utils/signal.py,sha256=mMVq-1Ab5YpNiqN4PkiyTGlV_G0wkUDMMjTZp5z3pb0,1514
201
201
  port_ocean/utils/time.py,sha256=pufAOH5ZQI7gXvOvJoQXZXZJV-Dqktoj9Qp9eiRwmJ4,1939
202
202
  port_ocean/version.py,sha256=UsuJdvdQlazzKGD3Hd5-U7N69STh8Dq9ggJzQFnu9fU,177
203
- port_ocean-0.24.8.dist-info/LICENSE.md,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
204
- port_ocean-0.24.8.dist-info/METADATA,sha256=cu0CSxuGdnkD2bsnwo9sK6K2FrZP5sojiDhmFqfpE9Q,6852
205
- port_ocean-0.24.8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
206
- port_ocean-0.24.8.dist-info/entry_points.txt,sha256=F_DNUmGZU2Kme-8NsWM5LLE8piGMafYZygRYhOVtcjA,54
207
- port_ocean-0.24.8.dist-info/RECORD,,
203
+ port_ocean-0.24.10.dist-info/LICENSE.md,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
204
+ port_ocean-0.24.10.dist-info/METADATA,sha256=HmNsuzqUJLoc4RSEM9WmU7LKpzA2DI0pxkyvaZW0sQg,6853
205
+ port_ocean-0.24.10.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
206
+ port_ocean-0.24.10.dist-info/entry_points.txt,sha256=F_DNUmGZU2Kme-8NsWM5LLE8piGMafYZygRYhOVtcjA,54
207
+ port_ocean-0.24.10.dist-info/RECORD,,