port-ocean 0.12.9.dev1__tar.gz → 0.13.0__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 (148) hide show
  1. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/PKG-INFO +3 -3
  2. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/pyproject.toml +1 -1
  3. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/ocean.py +18 -16
  4. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/pyproject.toml +3 -3
  5. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/LICENSE.md +0 -0
  6. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/README.md +0 -0
  7. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/__init__.py +0 -0
  8. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/bootstrap.py +0 -0
  9. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/__init__.py +0 -0
  10. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cli.py +0 -0
  11. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/__init__.py +0 -0
  12. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/defaults/__init___.py +0 -0
  13. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/defaults/clean.py +0 -0
  14. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/defaults/dock.py +0 -0
  15. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/defaults/group.py +0 -0
  16. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/list_integrations.py +0 -0
  17. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/main.py +0 -0
  18. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/new.py +0 -0
  19. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/pull.py +0 -0
  20. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/sail.py +0 -0
  21. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/commands/version.py +0 -0
  22. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/__init__.py +0 -0
  23. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/cookiecutter.json +0 -0
  24. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/extensions.py +0 -0
  25. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/hooks/post_gen_project.py +0 -0
  26. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.dockerignore +0 -0
  27. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.env.example +0 -0
  28. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.gitignore +0 -0
  29. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/.gitignore +0 -0
  30. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/blueprints.json +0 -0
  31. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/port-app-config.yml +0 -0
  32. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/spec.yaml +0 -0
  33. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CHANGELOG.md +0 -0
  34. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CONTRIBUTING.md +0 -0
  35. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/Dockerfile +0 -0
  36. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/README.md +0 -0
  37. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/changelog/.gitignore +0 -0
  38. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/debug.py +0 -0
  39. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/main.py +0 -0
  40. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/poetry.toml +0 -0
  41. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/sonar-project.properties +0 -0
  42. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/__init__.py +0 -0
  43. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/test_sample.py +0 -0
  44. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/cli/utils.py +0 -0
  45. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/__init__.py +0 -0
  46. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/__init__.py +0 -0
  47. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/authentication.py +0 -0
  48. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/client.py +0 -0
  49. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/mixins/__init__.py +0 -0
  50. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/mixins/blueprints.py +0 -0
  51. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/mixins/entities.py +0 -0
  52. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/mixins/integrations.py +0 -0
  53. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/mixins/migrations.py +0 -0
  54. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/retry_transport.py +0 -0
  55. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/types.py +0 -0
  56. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/clients/port/utils.py +0 -0
  57. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/config/__init__.py +0 -0
  58. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/config/base.py +0 -0
  59. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/config/dynamic.py +0 -0
  60. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/config/settings.py +0 -0
  61. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/consumers/__init__.py +0 -0
  62. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/consumers/kafka_consumer.py +0 -0
  63. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/context/__init__.py +0 -0
  64. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/context/event.py +0 -0
  65. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/context/ocean.py +0 -0
  66. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/context/resource.py +0 -0
  67. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/__init__.py +0 -0
  68. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/defaults/__init__.py +0 -0
  69. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/defaults/clean.py +0 -0
  70. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/defaults/common.py +0 -0
  71. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/defaults/initialize.py +0 -0
  72. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/event_listener/__init__.py +0 -0
  73. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/event_listener/base.py +0 -0
  74. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/event_listener/factory.py +0 -0
  75. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/event_listener/http.py +0 -0
  76. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/event_listener/kafka.py +0 -0
  77. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/event_listener/once.py +0 -0
  78. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/event_listener/polling.py +0 -0
  79. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/__init__.py +0 -0
  80. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/base.py +0 -0
  81. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entities_state_applier/__init__.py +0 -0
  82. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entities_state_applier/base.py +0 -0
  83. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entities_state_applier/port/__init__.py +0 -0
  84. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entities_state_applier/port/applier.py +0 -0
  85. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entities_state_applier/port/get_related_entities.py +0 -0
  86. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entities_state_applier/port/order_by_entities_dependencies.py +0 -0
  87. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entity_processor/__init__.py +0 -0
  88. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entity_processor/base.py +0 -0
  89. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/entity_processor/jq_entity_processor.py +0 -0
  90. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/port_app_config/__init__.py +0 -0
  91. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/port_app_config/api.py +0 -0
  92. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/port_app_config/base.py +0 -0
  93. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/port_app_config/models.py +0 -0
  94. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/resync_state_updater/__init__.py +0 -0
  95. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/handlers/resync_state_updater/updater.py +0 -0
  96. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/__init__.py +0 -0
  97. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/base.py +0 -0
  98. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/mixins/__init__.py +0 -0
  99. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/mixins/events.py +0 -0
  100. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/mixins/handler.py +0 -0
  101. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/mixins/sync.py +0 -0
  102. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/mixins/sync_raw.py +0 -0
  103. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/integrations/mixins/utils.py +0 -0
  104. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/models.py +0 -0
  105. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/ocean_types.py +0 -0
  106. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/core/utils.py +0 -0
  107. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/__init__.py +0 -0
  108. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/api.py +0 -0
  109. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/base.py +0 -0
  110. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/clients.py +0 -0
  111. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/context.py +0 -0
  112. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/core.py +0 -0
  113. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/port_defaults.py +0 -0
  114. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/exceptions/utils.py +0 -0
  115. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/helpers/__init__.py +0 -0
  116. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/helpers/async_client.py +0 -0
  117. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/helpers/retry.py +0 -0
  118. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/log/__init__.py +0 -0
  119. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/log/handlers.py +0 -0
  120. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/log/logger_setup.py +0 -0
  121. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/log/sensetive.py +0 -0
  122. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/middlewares.py +0 -0
  123. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/py.typed +0 -0
  124. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/run.py +0 -0
  125. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/sonar-project.properties +0 -0
  126. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/__init__.py +0 -0
  127. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/clients/port/mixins/test_entities.py +0 -0
  128. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/conftest.py +0 -0
  129. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py +0 -0
  130. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/helpers/__init__.py +0 -0
  131. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/helpers/fixtures.py +0 -0
  132. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/helpers/integration.py +0 -0
  133. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/helpers/ocean_app.py +0 -0
  134. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/helpers/port_client.py +0 -0
  135. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/helpers/smoke_test.py +0 -0
  136. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/log/test_handlers.py +0 -0
  137. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/test_smoke.py +0 -0
  138. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/tests/utils/test_async_iterators.py +0 -0
  139. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/__init__.py +0 -0
  140. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/async_http.py +0 -0
  141. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/async_iterators.py +0 -0
  142. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/cache.py +0 -0
  143. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/misc.py +0 -0
  144. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/queue_utils.py +0 -0
  145. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/repeat.py +0 -0
  146. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/signal.py +0 -0
  147. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/utils/time.py +0 -0
  148. {port_ocean-0.12.9.dev1 → port_ocean-0.13.0}/port_ocean/version.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: port-ocean
3
- Version: 0.12.9.dev1
3
+ Version: 0.13.0
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
7
7
  Author: Daniel Sinai
8
8
  Author-email: daniel@getport.io
9
- Requires-Python: >=3.11,<4.0
9
+ Requires-Python: >=3.12,<4.0
10
10
  Classifier: Framework :: FastAPI
11
11
  Classifier: Intended Audience :: Developers
12
12
  Classifier: License :: OSI Approved :: Apache Software License
@@ -14,9 +14,9 @@ Classifier: Natural Language :: English
14
14
  Classifier: Operating System :: POSIX
15
15
  Classifier: Programming Language :: Python
16
16
  Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Topic :: Software Development :: Libraries
21
21
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -5,7 +5,7 @@ description = "{{cookiecutter.integration_short_description}}"
5
5
  authors = ["{{cookiecutter.full_name}} <{{cookiecutter.email}}>"]
6
6
 
7
7
  [tool.poetry.dependencies]
8
- python = "^3.11"
8
+ python = "^3.12"
9
9
  port_ocean = { version = "^{% version %}", extras = ["cli"] }
10
10
 
11
11
  [tool.poetry.group.dev.dependencies]
@@ -39,22 +39,8 @@ class Ocean:
39
39
  config_override: Dict[str, Any] | None = None,
40
40
  ):
41
41
  initialize_port_ocean_context(self)
42
-
43
- @asynccontextmanager
44
- async def lifespan(_: FastAPI) -> AsyncIterator[None]:
45
- try:
46
- await self.integration.start()
47
- await self._setup_scheduled_resync()
48
- yield None
49
- except Exception:
50
- logger.exception("Integration had a fatal error. Shutting down.")
51
- logger.complete()
52
- sys.exit("Server stopped")
53
- finally:
54
- signal_handler.exit()
55
-
56
- self.fast_api_app = app or FastAPI(lifespan=lifespan)
57
- # self.fast_api_app.middleware("http")(request_handler)
42
+ self.fast_api_app = app or FastAPI()
43
+ self.fast_api_app.middleware("http")(request_handler)
58
44
 
59
45
  self.config = IntegrationConfiguration(
60
46
  # type: ignore
@@ -127,4 +113,20 @@ class Ocean:
127
113
  await repeated_function()
128
114
 
129
115
  async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
116
+ self.fast_api_app.include_router(self.integration_router, prefix="/integration")
117
+
118
+ @asynccontextmanager
119
+ async def lifecycle(_: FastAPI) -> AsyncIterator[None]:
120
+ try:
121
+ await self.integration.start()
122
+ await self._setup_scheduled_resync()
123
+ yield None
124
+ except Exception:
125
+ logger.exception("Integration had a fatal error. Shutting down.")
126
+ logger.complete()
127
+ sys.exit("Server stopped")
128
+ finally:
129
+ signal_handler.exit()
130
+
131
+ self.fast_api_app.router.lifespan_context = lifecycle
130
132
  await self.fast_api_app(scope, receive, send)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "port-ocean"
3
- version = "0.12.9-dev01"
3
+ version = "0.13.0"
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"
@@ -35,7 +35,7 @@ requires = ["poetry-core>=1.0.0"]
35
35
  build-backend = "poetry.core.masonry.api"
36
36
 
37
37
  [tool.poetry.dependencies]
38
- python = "^3.11"
38
+ python = "^3.12"
39
39
  pydantic = { version = "^1.10.8", extras = ["dotenv"] }
40
40
  loguru = "^0.7.0"
41
41
  pyyaml = "^6.0"
@@ -157,7 +157,7 @@ warn_untyped_fields = true
157
157
 
158
158
  [tool.black]
159
159
  line-length = 88
160
- target-version = ['py311']
160
+ target-version = ['py312']
161
161
  include = '\.pyi?$'
162
162
  exclude = '''
163
163
  /(
File without changes
File without changes