port-ocean 0.24.1__tar.gz → 0.24.3__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 port-ocean might be problematic. Click here for more details.

Files changed (206) hide show
  1. {port_ocean-0.24.1 → port_ocean-0.24.3}/PKG-INFO +1 -1
  2. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/mixins/entities.py +50 -56
  3. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/config/settings.py +17 -3
  4. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/mixins/test_sync_raw.py +0 -3
  5. {port_ocean-0.24.1 → port_ocean-0.24.3}/pyproject.toml +1 -1
  6. {port_ocean-0.24.1 → port_ocean-0.24.3}/LICENSE.md +0 -0
  7. {port_ocean-0.24.1 → port_ocean-0.24.3}/README.md +0 -0
  8. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/Dockerfile.Deb +0 -0
  9. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/Dockerfile.alpine +0 -0
  10. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/Dockerfile.base.builder +0 -0
  11. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/Dockerfile.base.runner +0 -0
  12. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/Dockerfile.dockerignore +0 -0
  13. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/Dockerfile.local +0 -0
  14. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/Makefile +0 -0
  15. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/entry_local.sh +0 -0
  16. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/grpcio.sh +0 -0
  17. {port_ocean-0.24.1 → port_ocean-0.24.3}/integrations/_infra/init.sh +0 -0
  18. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/__init__.py +0 -0
  19. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/bootstrap.py +0 -0
  20. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cache/__init__.py +0 -0
  21. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cache/base.py +0 -0
  22. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cache/disk.py +0 -0
  23. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cache/errors.py +0 -0
  24. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cache/memory.py +0 -0
  25. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/__init__.py +0 -0
  26. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cli.py +0 -0
  27. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/__init__.py +0 -0
  28. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/defaults/__init___.py +0 -0
  29. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/defaults/clean.py +0 -0
  30. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/defaults/dock.py +0 -0
  31. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/defaults/group.py +0 -0
  32. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/list_integrations.py +0 -0
  33. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/main.py +0 -0
  34. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/new.py +0 -0
  35. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/pull.py +0 -0
  36. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/sail.py +0 -0
  37. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/commands/version.py +0 -0
  38. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/__init__.py +0 -0
  39. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/cookiecutter.json +0 -0
  40. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/extensions.py +0 -0
  41. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/hooks/post_gen_project.py +0 -0
  42. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.env.example +0 -0
  43. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.gitignore +0 -0
  44. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/.gitignore +0 -0
  45. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/blueprints.json +0 -0
  46. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/port-app-config.yml +0 -0
  47. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/spec.yaml +0 -0
  48. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CHANGELOG.md +0 -0
  49. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CONTRIBUTING.md +0 -0
  50. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/README.md +0 -0
  51. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/changelog/.gitignore +0 -0
  52. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/debug.py +0 -0
  53. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/main.py +0 -0
  54. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/poetry.toml +0 -0
  55. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/pyproject.toml +0 -0
  56. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/sonar-project.properties +0 -0
  57. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/__init__.py +0 -0
  58. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/test_sample.py +0 -0
  59. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/cli/utils.py +0 -0
  60. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/__init__.py +0 -0
  61. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/auth/__init__.py +0 -0
  62. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/auth/auth_client.py +0 -0
  63. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/auth/oauth_client.py +0 -0
  64. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/__init__.py +0 -0
  65. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/authentication.py +0 -0
  66. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/client.py +0 -0
  67. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/mixins/__init__.py +0 -0
  68. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/mixins/blueprints.py +0 -0
  69. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/mixins/integrations.py +0 -0
  70. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/mixins/migrations.py +0 -0
  71. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/mixins/organization.py +0 -0
  72. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/retry_transport.py +0 -0
  73. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/types.py +0 -0
  74. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/clients/port/utils.py +0 -0
  75. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/config/__init__.py +0 -0
  76. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/config/base.py +0 -0
  77. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/config/dynamic.py +0 -0
  78. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/consumers/__init__.py +0 -0
  79. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/consumers/kafka_consumer.py +0 -0
  80. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/context/__init__.py +0 -0
  81. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/context/event.py +0 -0
  82. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/context/metric_resource.py +0 -0
  83. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/context/ocean.py +0 -0
  84. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/context/resource.py +0 -0
  85. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/__init__.py +0 -0
  86. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/defaults/__init__.py +0 -0
  87. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/defaults/clean.py +0 -0
  88. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/defaults/common.py +0 -0
  89. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/defaults/initialize.py +0 -0
  90. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/__init__.py +0 -0
  91. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/base.py +0 -0
  92. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/factory.py +0 -0
  93. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/http.py +0 -0
  94. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/kafka.py +0 -0
  95. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/once.py +0 -0
  96. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/polling.py +0 -0
  97. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/event_listener/webhooks_only.py +0 -0
  98. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/__init__.py +0 -0
  99. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/base.py +0 -0
  100. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entities_state_applier/__init__.py +0 -0
  101. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entities_state_applier/base.py +0 -0
  102. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entities_state_applier/port/__init__.py +0 -0
  103. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entities_state_applier/port/applier.py +0 -0
  104. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entities_state_applier/port/get_related_entities.py +0 -0
  105. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entities_state_applier/port/order_by_entities_dependencies.py +0 -0
  106. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entity_processor/__init__.py +0 -0
  107. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entity_processor/base.py +0 -0
  108. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/entity_processor/jq_entity_processor.py +0 -0
  109. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/port_app_config/__init__.py +0 -0
  110. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/port_app_config/api.py +0 -0
  111. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/port_app_config/base.py +0 -0
  112. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/port_app_config/models.py +0 -0
  113. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/queue/__init__.py +0 -0
  114. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/queue/abstract_queue.py +0 -0
  115. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/queue/local_queue.py +0 -0
  116. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/resync_state_updater/__init__.py +0 -0
  117. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/resync_state_updater/updater.py +0 -0
  118. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/webhook/__init__.py +0 -0
  119. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/webhook/abstract_webhook_processor.py +0 -0
  120. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/webhook/processor_manager.py +0 -0
  121. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/handlers/webhook/webhook_event.py +0 -0
  122. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/__init__.py +0 -0
  123. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/base.py +0 -0
  124. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/mixins/__init__.py +0 -0
  125. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/mixins/events.py +0 -0
  126. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/mixins/handler.py +0 -0
  127. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/mixins/live_events.py +0 -0
  128. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/mixins/sync.py +0 -0
  129. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/mixins/sync_raw.py +0 -0
  130. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/integrations/mixins/utils.py +0 -0
  131. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/models.py +0 -0
  132. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/ocean_types.py +0 -0
  133. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/utils/entity_topological_sorter.py +0 -0
  134. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/core/utils/utils.py +0 -0
  135. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/debug_cli.py +0 -0
  136. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/__init__.py +0 -0
  137. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/api.py +0 -0
  138. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/base.py +0 -0
  139. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/clients.py +0 -0
  140. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/context.py +0 -0
  141. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/core.py +0 -0
  142. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/port_defaults.py +0 -0
  143. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/utils.py +0 -0
  144. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/exceptions/webhook_processor.py +0 -0
  145. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/helpers/__init__.py +0 -0
  146. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/helpers/async_client.py +0 -0
  147. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/helpers/metric/metric.py +0 -0
  148. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/helpers/metric/utils.py +0 -0
  149. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/helpers/retry.py +0 -0
  150. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/log/__init__.py +0 -0
  151. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/log/handlers.py +0 -0
  152. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/log/logger_setup.py +0 -0
  153. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/log/sensetive.py +0 -0
  154. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/middlewares.py +0 -0
  155. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/ocean.py +0 -0
  156. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/py.typed +0 -0
  157. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/run.py +0 -0
  158. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/sonar-project.properties +0 -0
  159. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/__init__.py +0 -0
  160. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/cache/__init__.py +0 -0
  161. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/cache/test_disk_cache.py +0 -0
  162. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/cache/test_memory_cache.py +0 -0
  163. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/clients/__init__.py +0 -0
  164. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/clients/oauth/__init__.py +0 -0
  165. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/clients/oauth/test_oauth_client.py +0 -0
  166. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/clients/port/mixins/test_entities.py +0 -0
  167. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/clients/port/mixins/test_organization_mixin.py +0 -0
  168. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/conftest.py +0 -0
  169. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/conftest.py +0 -0
  170. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/defaults/test_common.py +0 -0
  171. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/entities_state_applier/test_applier.py +0 -0
  172. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py +0 -0
  173. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/mixins/test_live_events.py +0 -0
  174. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/port_app_config/test_api.py +0 -0
  175. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/port_app_config/test_base.py +0 -0
  176. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/queue/test_local_queue.py +0 -0
  177. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py +0 -0
  178. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/webhook/test_processor_manager.py +0 -0
  179. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/handlers/webhook/test_webhook_event.py +0 -0
  180. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/test_utils.py +0 -0
  181. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/utils/test_entity_topological_sorter.py +0 -0
  182. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/core/utils/test_resolve_entities_diff.py +0 -0
  183. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/helpers/__init__.py +0 -0
  184. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/helpers/fake_port_api.py +0 -0
  185. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/helpers/fixtures.py +0 -0
  186. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/helpers/integration.py +0 -0
  187. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/helpers/ocean_app.py +0 -0
  188. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/helpers/port_client.py +0 -0
  189. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/helpers/smoke_test.py +0 -0
  190. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/log/test_handlers.py +0 -0
  191. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/test_metric.py +0 -0
  192. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/test_ocean.py +0 -0
  193. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/test_smoke.py +0 -0
  194. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/utils/test_async_iterators.py +0 -0
  195. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/tests/utils/test_cache.py +0 -0
  196. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/__init__.py +0 -0
  197. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/async_http.py +0 -0
  198. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/async_iterators.py +0 -0
  199. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/cache.py +0 -0
  200. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/ipc.py +0 -0
  201. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/misc.py +0 -0
  202. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/queue_utils.py +0 -0
  203. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/repeat.py +0 -0
  204. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/signal.py +0 -0
  205. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/utils/time.py +0 -0
  206. {port_ocean-0.24.1 → port_ocean-0.24.3}/port_ocean/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: port-ocean
3
- Version: 0.24.1
3
+ Version: 0.24.3
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
@@ -353,66 +353,60 @@ class EntityClientMixin:
353
353
  entities_results: list[tuple[bool, Entity]] = []
354
354
  blueprint = entities[0].blueprint
355
355
 
356
- if ocean.app.is_saas():
357
- bulk_size = self.calculate_entities_batch_size(entities)
358
- bulks = [
359
- entities[i : i + bulk_size] for i in range(0, len(entities), bulk_size)
360
- ]
361
-
362
- bulk_results = await asyncio.gather(
363
- *(
364
- self.upsert_entities_bulk(
365
- blueprint,
366
- bulk,
367
- request_options,
368
- user_agent_type,
369
- should_raise=should_raise,
370
- )
371
- for bulk in bulks
372
- ),
373
- return_exceptions=True,
374
- )
356
+ bulk_size = self.calculate_entities_batch_size(entities)
357
+ bulks = [
358
+ entities[i : i + bulk_size] for i in range(0, len(entities), bulk_size)
359
+ ]
360
+
361
+ bulk_results = await asyncio.gather(
362
+ *(
363
+ self.upsert_entities_bulk(
364
+ blueprint,
365
+ bulk,
366
+ request_options,
367
+ user_agent_type,
368
+ should_raise=should_raise,
369
+ )
370
+ for bulk in bulks
371
+ ),
372
+ return_exceptions=True,
373
+ )
375
374
 
376
- for bulk, bulk_result in zip(bulks, bulk_results):
377
- if isinstance(bulk_result, httpx.HTTPStatusError) or isinstance(
378
- bulk_result, Exception
375
+ for bulk, bulk_result in zip(bulks, bulk_results):
376
+ if isinstance(bulk_result, httpx.HTTPStatusError) or isinstance(
377
+ bulk_result, Exception
378
+ ):
379
+ if should_raise:
380
+ raise bulk_result
381
+ # If should_raise is False, retry batch in sequential order as a fallback only for 413 errors
382
+ if (
383
+ isinstance(bulk_result, httpx.HTTPStatusError)
384
+ and bulk_result.response.status_code == 413
379
385
  ):
380
- if should_raise:
381
- raise bulk_result
382
- # If should_raise is False, retry batch in sequential order as a fallback only for 413 errors
386
+ individual_upsert_results = (
387
+ await self._upsert_entities_batch_individually(
388
+ bulk, request_options, user_agent_type, should_raise
389
+ )
390
+ )
391
+ entities_results.extend(individual_upsert_results)
392
+ else:
393
+ # For other errors, mark all entities in the batch as failed
394
+ for entity in bulk:
395
+ failed_result: tuple[bool, Entity] = (
396
+ False,
397
+ self._reduce_entity(entity),
398
+ )
399
+ entities_results.append(failed_result)
400
+ elif isinstance(bulk_result, list):
401
+ for status, entity in bulk_result:
383
402
  if (
384
- isinstance(bulk_result, httpx.HTTPStatusError)
385
- and bulk_result.response.status_code == 413
386
- ):
387
- individual_upsert_results = (
388
- await self._upsert_entities_batch_individually(
389
- bulk, request_options, user_agent_type, should_raise
390
- )
403
+ status is not None
404
+ ): # when using the search identifier we might not have an actual identifier
405
+ bulk_result_tuple: tuple[bool, Entity] = (
406
+ bool(status),
407
+ entity,
391
408
  )
392
- entities_results.extend(individual_upsert_results)
393
- else:
394
- # For other errors, mark all entities in the batch as failed
395
- for entity in bulk:
396
- failed_result: tuple[bool, Entity] = (
397
- False,
398
- self._reduce_entity(entity),
399
- )
400
- entities_results.append(failed_result)
401
- elif isinstance(bulk_result, list):
402
- for status, entity in bulk_result:
403
- if (
404
- status is not None
405
- ): # when using the search identifier we might not have an actual identifier
406
- bulk_result_tuple: tuple[bool, Entity] = (
407
- bool(status),
408
- entity,
409
- )
410
- entities_results.append(bulk_result_tuple)
411
- else:
412
- individual_upsert_results = await self._upsert_entities_batch_individually(
413
- entities, request_options, user_agent_type, should_raise
414
- )
415
- entities_results.extend(individual_upsert_results)
409
+ entities_results.append(bulk_result_tuple)
416
410
 
417
411
  return entities_results
418
412
 
@@ -1,3 +1,4 @@
1
+ import platform
1
2
  from typing import Any, Literal, Optional, Type, cast
2
3
 
3
4
  from pydantic import AnyHttpUrl, Extra, parse_obj_as, parse_raw_as
@@ -98,12 +99,25 @@ class IntegrationConfiguration(BaseOceanSettings, extra=Extra.allow):
98
99
  )
99
100
  max_event_processing_seconds: float = 90.0
100
101
  max_wait_seconds_before_shutdown: float = 5.0
101
- caching_storage_mode: Optional[CachingStorageMode] = Field(default=None)
102
- process_execution_mode: Optional[ProcessExecutionMode] = Field(default=None)
102
+ caching_storage_mode: Optional[CachingStorageMode] = Field(
103
+ default=CachingStorageMode.disk
104
+ )
105
+ process_execution_mode: Optional[ProcessExecutionMode] = Field(
106
+ default=ProcessExecutionMode.multi_process
107
+ )
103
108
 
104
109
  upsert_entities_batch_max_length: int = 20
105
110
  upsert_entities_batch_max_size_in_bytes: int = 1024 * 1024
106
- bulk_upserts_enabled: bool = False
111
+
112
+ @validator("process_execution_mode")
113
+ def validate_process_execution_mode(
114
+ cls, process_execution_mode: ProcessExecutionMode
115
+ ) -> ProcessExecutionMode:
116
+ # Check if the system is macos, if so, set the process execution mode to single process since multiprocessing behavior is different on macos and some asyncio error pop up
117
+ is_macos = platform.system() == "Darwin"
118
+ if is_macos:
119
+ return ProcessExecutionMode.single_process
120
+ return process_execution_mode
107
121
 
108
122
  @validator("metrics", pre=True)
109
123
  def validate_metrics(cls, v: Any) -> MetricsSettings | dict[str, Any] | None:
@@ -98,7 +98,6 @@ async def test_sync_raw_mixin_self_dependency(
98
98
  ) -> None:
99
99
  mock_ocean.config.upsert_entities_batch_max_length = 20
100
100
  mock_ocean.config.upsert_entities_batch_max_size_in_bytes = 1024 * 1024
101
- mock_ocean.config.bulk_upserts_enabled = True
102
101
 
103
102
  entities_params = [
104
103
  ("entity_1", "service", {"service": "entity_1"}, True),
@@ -219,7 +218,6 @@ async def test_sync_raw_mixin_circular_dependency(
219
218
  ) -> None:
220
219
  mock_ocean.config.upsert_entities_batch_max_length = 20
221
220
  mock_ocean.config.upsert_entities_batch_max_size_in_bytes = 1024 * 1024
222
- mock_ocean.config.bulk_upserts_enabled = True
223
221
 
224
222
  entities_params = [
225
223
  ("entity_1", "service", {"service": "entity_2"}, True),
@@ -359,7 +357,6 @@ async def test_sync_raw_mixin_dependency(
359
357
  ) -> None:
360
358
  mock_ocean.config.upsert_entities_batch_max_length = 20
361
359
  mock_ocean.config.upsert_entities_batch_max_size_in_bytes = 1024 * 1024
362
- mock_ocean.config.bulk_upserts_enabled = True
363
360
 
364
361
  entities_params = [
365
362
  ("entity_1", "service", {"service": "entity_3"}, True),
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "port-ocean"
3
- version = "0.24.1"
3
+ version = "0.24.3"
4
4
  description = "Port Ocean is a CLI tool for managing your Port projects."
5
5
  readme = "README.md"
6
6
  homepage = "https://app.getport.io"
File without changes
File without changes