port-ocean 0.5.11__tar.gz → 0.5.12__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 (128) hide show
  1. {port_ocean-0.5.11 → port_ocean-0.5.12}/PKG-INFO +4 -3
  2. port_ocean-0.5.12/port_ocean/utils/async_iterators.py +49 -0
  3. {port_ocean-0.5.11 → port_ocean-0.5.12}/pyproject.toml +5 -4
  4. {port_ocean-0.5.11 → port_ocean-0.5.12}/LICENSE.md +0 -0
  5. {port_ocean-0.5.11 → port_ocean-0.5.12}/README.md +0 -0
  6. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/__init__.py +0 -0
  7. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/bootstrap.py +0 -0
  8. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/__init__.py +0 -0
  9. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cli.py +0 -0
  10. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/__init__.py +0 -0
  11. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/defaults/__init___.py +0 -0
  12. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/defaults/clean.py +0 -0
  13. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/defaults/dock.py +0 -0
  14. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/defaults/group.py +0 -0
  15. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/list_integrations.py +0 -0
  16. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/main.py +0 -0
  17. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/new.py +0 -0
  18. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/pull.py +0 -0
  19. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/sail.py +0 -0
  20. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/commands/version.py +0 -0
  21. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/__init__.py +0 -0
  22. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/cookiecutter.json +0 -0
  23. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/extensions.py +0 -0
  24. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/hooks/post_gen_project.py +0 -0
  25. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.dockerignore +0 -0
  26. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.gitignore +0 -0
  27. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/.gitignore +0 -0
  28. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/spec.yaml +0 -0
  29. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CHANGELOG.md +0 -0
  30. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/Dockerfile +0 -0
  31. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/Makefile +0 -0
  32. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/README.md +0 -0
  33. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/changelog/.gitignore +0 -0
  34. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/config.yaml +0 -0
  35. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/debug.py +0 -0
  36. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/main.py +0 -0
  37. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/poetry.toml +0 -0
  38. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/pyproject.toml +0 -0
  39. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/sonar-project.properties +0 -0
  40. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/__init__.py +0 -0
  41. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/cli/utils.py +0 -0
  42. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/__init__.py +0 -0
  43. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/__init__.py +0 -0
  44. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/authentication.py +0 -0
  45. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/client.py +0 -0
  46. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/mixins/__init__.py +0 -0
  47. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/mixins/blueprints.py +0 -0
  48. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/mixins/entities.py +0 -0
  49. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/mixins/integrations.py +0 -0
  50. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/mixins/migrations.py +0 -0
  51. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/retry_transport.py +0 -0
  52. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/types.py +0 -0
  53. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/clients/port/utils.py +0 -0
  54. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/config/__init__.py +0 -0
  55. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/config/base.py +0 -0
  56. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/config/dynamic.py +0 -0
  57. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/config/settings.py +0 -0
  58. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/consumers/__init__.py +0 -0
  59. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/consumers/kafka_consumer.py +0 -0
  60. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/context/__init__.py +0 -0
  61. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/context/event.py +0 -0
  62. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/context/ocean.py +0 -0
  63. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/context/resource.py +0 -0
  64. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/__init__.py +0 -0
  65. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/defaults/__init__.py +0 -0
  66. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/defaults/clean.py +0 -0
  67. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/defaults/common.py +0 -0
  68. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/defaults/initialize.py +0 -0
  69. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/event_listener/__init__.py +0 -0
  70. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/event_listener/base.py +0 -0
  71. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/event_listener/factory.py +0 -0
  72. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/event_listener/http.py +0 -0
  73. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/event_listener/kafka.py +0 -0
  74. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/event_listener/once.py +0 -0
  75. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/event_listener/polling.py +0 -0
  76. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/__init__.py +0 -0
  77. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/base.py +0 -0
  78. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entities_state_applier/__init__.py +0 -0
  79. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entities_state_applier/base.py +0 -0
  80. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entities_state_applier/port/__init__.py +0 -0
  81. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entities_state_applier/port/applier.py +0 -0
  82. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entities_state_applier/port/get_related_entities.py +0 -0
  83. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entities_state_applier/port/order_by_entities_dependencies.py +0 -0
  84. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entity_processor/__init__.py +0 -0
  85. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entity_processor/base.py +0 -0
  86. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/entity_processor/jq_entity_processor.py +0 -0
  87. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/port_app_config/__init__.py +0 -0
  88. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/port_app_config/api.py +0 -0
  89. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/port_app_config/base.py +0 -0
  90. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/handlers/port_app_config/models.py +0 -0
  91. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/__init__.py +0 -0
  92. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/base.py +0 -0
  93. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/mixins/__init__.py +0 -0
  94. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/mixins/events.py +0 -0
  95. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/mixins/handler.py +0 -0
  96. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/mixins/sync.py +0 -0
  97. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/mixins/sync_raw.py +0 -0
  98. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/integrations/mixins/utils.py +0 -0
  99. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/models.py +0 -0
  100. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/ocean_types.py +0 -0
  101. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/core/utils.py +0 -0
  102. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/__init__.py +0 -0
  103. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/api.py +0 -0
  104. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/base.py +0 -0
  105. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/clients.py +0 -0
  106. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/context.py +0 -0
  107. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/core.py +0 -0
  108. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/port_defaults.py +0 -0
  109. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/exceptions/utils.py +0 -0
  110. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/helpers/__init__.py +0 -0
  111. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/helpers/async_client.py +0 -0
  112. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/helpers/retry.py +0 -0
  113. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/log/__init__.py +0 -0
  114. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/log/handlers.py +0 -0
  115. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/log/logger_setup.py +0 -0
  116. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/log/sensetive.py +0 -0
  117. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/middlewares.py +0 -0
  118. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/ocean.py +0 -0
  119. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/py.typed +0 -0
  120. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/run.py +0 -0
  121. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/sonar-project.properties +0 -0
  122. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/utils/__init__.py +0 -0
  123. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/utils/async_http.py +0 -0
  124. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/utils/cache.py +0 -0
  125. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/utils/misc.py +0 -0
  126. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/utils/repeat.py +0 -0
  127. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/utils/signal.py +0 -0
  128. {port_ocean-0.5.11 → port_ocean-0.5.12}/port_ocean/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: port-ocean
3
- Version: 0.5.11
3
+ Version: 0.5.12
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
@@ -21,11 +21,12 @@ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
21
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
22
  Classifier: Topic :: Utilities
23
23
  Provides-Extra: cli
24
+ Requires-Dist: aiostream (>=0.5.2,<0.6.0)
24
25
  Requires-Dist: click (>=8.1.3,<9.0.0) ; extra == "cli"
25
26
  Requires-Dist: confluent-kafka (>=2.1.1,<3.0.0)
26
27
  Requires-Dist: cookiecutter (>=2.1.1,<3.0.0) ; extra == "cli"
27
28
  Requires-Dist: fastapi (>=0.100,<0.110)
28
- Requires-Dist: httpx (>=0.24.1,<0.25.0)
29
+ Requires-Dist: httpx (>=0.24.1,<0.28.0)
29
30
  Requires-Dist: jinja2-time (>=0.2.0,<0.3.0) ; extra == "cli"
30
31
  Requires-Dist: loguru (>=0.7.0,<0.8.0)
31
32
  Requires-Dist: pydantic (>=1.10.8,<2.0.0)
@@ -37,7 +38,7 @@ Requires-Dist: rich (>=13.4.1,<14.0.0) ; extra == "cli"
37
38
  Requires-Dist: six (>=1.16.0,<2.0.0)
38
39
  Requires-Dist: tomli (>=2.0.1,<3.0.0)
39
40
  Requires-Dist: urllib3 (>=1.26.16,<2.0.0)
40
- Requires-Dist: uvicorn (>=0.22.0,<0.23.0)
41
+ Requires-Dist: uvicorn (>=0.22,<0.30)
41
42
  Requires-Dist: werkzeug (>=2.3.4,<4.0.0)
42
43
  Project-URL: Repository, https://github.com/port-labs/Port-Ocean
43
44
  Description-Content-Type: text/markdown
@@ -0,0 +1,49 @@
1
+ import typing
2
+
3
+ import aiostream
4
+
5
+
6
+ async def stream_async_iterators_tasks(
7
+ *tasks: typing.AsyncIterable[typing.Any],
8
+ ) -> typing.AsyncIterable[typing.Any]:
9
+ """
10
+ This function takes a list of async iterators and streams the results of each iterator as they are available.
11
+ By using this function you can combine multiple async iterators into a single stream of results, instead of waiting
12
+ for each iterator to finish before starting the next one.
13
+
14
+ Usage:
15
+ ```python
16
+ async def async_iterator1():
17
+ for i in range(10):
18
+ yield i
19
+ await asyncio.sleep(1)
20
+
21
+ async def async_iterator2():
22
+ for i in range(10, 20):
23
+ yield i
24
+ await asyncio.sleep(1)
25
+
26
+ async def main():
27
+ async for result in stream_async_iterators_tasks([async_iterator1(), async_iterator2()]):
28
+ print(result)
29
+ ```
30
+
31
+ Caution - Before using this function, make sure that the third-party API you are calling allows the number of
32
+ concurrent requests you are making. If the API has a rate limit, you may need to adjust the number of concurrent
33
+ requests to avoid hitting the rate limit.
34
+
35
+ :param tasks: A list of async iterators
36
+ :return: A stream of results
37
+ """
38
+ if not tasks:
39
+ raise StopAsyncIteration("No tasks provided")
40
+
41
+ if len(tasks) == 1:
42
+ async for batch_items in tasks[0]:
43
+ yield batch_items
44
+ return
45
+
46
+ combine = aiostream.stream.merge(tasks[0], *tasks[1:])
47
+ async with combine.stream() as streamer:
48
+ async for batch_items in streamer:
49
+ yield batch_items
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "port-ocean"
3
- version = "0.5.11"
3
+ version = "0.5.12"
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"
@@ -41,15 +41,16 @@ loguru = "^0.7.0"
41
41
  pyyaml = "^6.0"
42
42
  werkzeug = ">=2.3.4,<4.0.0"
43
43
  fastapi = ">=0.100,<0.110"
44
- uvicorn = "^0.22.0"
44
+ uvicorn = ">=0.22,<0.30"
45
45
  confluent-kafka = "^2.1.1"
46
- httpx = "^0.24.1"
46
+ httpx = ">=0.24.1,<0.28.0"
47
47
  pyjq = "^2.6.0"
48
48
  urllib3 = "^1.26.16"
49
49
  six = "^1.16.0"
50
50
  pyhumps = "^3.8.0"
51
51
  pydispatcher = "^2.0.7"
52
52
  tomli = "^2.0.1"
53
+ aiostream = "^0.5.2"
53
54
 
54
55
  # CLI
55
56
  click = { version = "^8.1.3", optional = true }
@@ -62,7 +63,7 @@ cli = ["click", "rich", "cookiecutter", "jinja2-time"]
62
63
 
63
64
 
64
65
  [tool.poetry.group.dev.dependencies]
65
- pytest = "^7.2"
66
+ pytest = ">=7.2,<9.0"
66
67
  black = ">=23.3,<25.0"
67
68
  mypy = "^1.3.0"
68
69
  pylint = "^2.17.4"
File without changes
File without changes