port-ocean 0.28.2__py3-none-any.whl → 0.29.0__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.
- integrations/_infra/Dockerfile.Deb +6 -1
- integrations/_infra/Dockerfile.local +1 -0
- port_ocean/clients/port/authentication.py +19 -0
- port_ocean/clients/port/client.py +3 -0
- port_ocean/clients/port/mixins/actions.py +93 -0
- port_ocean/clients/port/mixins/blueprints.py +0 -12
- port_ocean/clients/port/mixins/entities.py +79 -44
- port_ocean/clients/port/mixins/integrations.py +7 -2
- port_ocean/config/settings.py +35 -3
- port_ocean/context/ocean.py +7 -5
- port_ocean/core/defaults/initialize.py +12 -5
- port_ocean/core/event_listener/__init__.py +7 -0
- port_ocean/core/event_listener/actions_only.py +42 -0
- port_ocean/core/event_listener/base.py +4 -1
- port_ocean/core/event_listener/factory.py +18 -9
- port_ocean/core/event_listener/http.py +4 -3
- port_ocean/core/event_listener/kafka.py +3 -2
- port_ocean/core/event_listener/once.py +5 -2
- port_ocean/core/event_listener/polling.py +4 -3
- port_ocean/core/event_listener/webhooks_only.py +3 -2
- port_ocean/core/handlers/actions/__init__.py +7 -0
- port_ocean/core/handlers/actions/abstract_executor.py +150 -0
- port_ocean/core/handlers/actions/execution_manager.py +434 -0
- port_ocean/core/handlers/entity_processor/jq_entity_processor.py +479 -17
- port_ocean/core/handlers/entity_processor/jq_input_evaluator.py +137 -0
- port_ocean/core/handlers/port_app_config/models.py +4 -2
- port_ocean/core/handlers/resync_state_updater/updater.py +4 -2
- port_ocean/core/handlers/webhook/abstract_webhook_processor.py +16 -0
- port_ocean/core/handlers/webhook/processor_manager.py +30 -12
- port_ocean/core/integrations/mixins/sync_raw.py +10 -5
- port_ocean/core/integrations/mixins/utils.py +250 -29
- port_ocean/core/models.py +35 -2
- port_ocean/core/utils/utils.py +16 -5
- port_ocean/exceptions/execution_manager.py +22 -0
- port_ocean/helpers/metric/metric.py +1 -1
- port_ocean/helpers/retry.py +4 -40
- port_ocean/log/logger_setup.py +2 -2
- port_ocean/ocean.py +31 -5
- port_ocean/tests/clients/port/mixins/test_entities.py +71 -5
- port_ocean/tests/core/event_listener/test_kafka.py +14 -7
- port_ocean/tests/core/handlers/actions/test_execution_manager.py +837 -0
- port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py +932 -1
- port_ocean/tests/core/handlers/entity_processor/test_jq_input_evaluator.py +932 -0
- port_ocean/tests/core/handlers/webhook/test_processor_manager.py +3 -1
- port_ocean/tests/core/utils/test_get_port_diff.py +164 -0
- port_ocean/tests/helpers/test_retry.py +241 -1
- port_ocean/tests/utils/test_cache.py +240 -0
- port_ocean/utils/cache.py +45 -9
- {port_ocean-0.28.2.dist-info → port_ocean-0.29.0.dist-info}/METADATA +2 -1
- {port_ocean-0.28.2.dist-info → port_ocean-0.29.0.dist-info}/RECORD +53 -43
- {port_ocean-0.28.2.dist-info → port_ocean-0.29.0.dist-info}/LICENSE.md +0 -0
- {port_ocean-0.28.2.dist-info → port_ocean-0.29.0.dist-info}/WHEEL +0 -0
- {port_ocean-0.28.2.dist-info → port_ocean-0.29.0.dist-info}/entry_points.txt +0 -0
port_ocean/utils/cache.py
CHANGED
|
@@ -10,14 +10,50 @@ AsyncIteratorCallable = Callable[..., AsyncIterator[list[Any]]]
|
|
|
10
10
|
AsyncCallable = Callable[..., Awaitable[Any]]
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
def
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
def sanitize_identifier(name: str) -> str:
|
|
14
|
+
"""
|
|
15
|
+
Sanitize a function identifier so it is safe for all cache backends:
|
|
16
|
+
- Replace non-alphanumeric character with "_".
|
|
17
|
+
- Convert to lowercase for consistency.
|
|
18
|
+
"""
|
|
19
|
+
return (
|
|
20
|
+
name.replace(".", "_")
|
|
21
|
+
.replace("-", "_")
|
|
22
|
+
.replace(" ", "_")
|
|
23
|
+
.replace("<", "_")
|
|
24
|
+
.replace(">", "_")
|
|
25
|
+
.lower()
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def hash_func(func: Callable[..., Any], *args: Any, **kwargs: Any) -> str:
|
|
30
|
+
"""
|
|
31
|
+
Generate a backend-safe cache key.
|
|
32
|
+
|
|
33
|
+
- Drops first arg if it's instance/class methods.
|
|
34
|
+
- Keeps all args for static/free functions.
|
|
35
|
+
- Key = sanitized module+qualname + short hash of args/kwargs.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
if args and hasattr(args[0], func.__name__):
|
|
39
|
+
filtered_args = args[1:]
|
|
40
|
+
else:
|
|
41
|
+
filtered_args = args
|
|
42
|
+
|
|
43
|
+
arg_string = repr(filtered_args)
|
|
44
|
+
kwarg_string = repr(sorted(kwargs.items()))
|
|
45
|
+
concatenated = arg_string + kwarg_string
|
|
46
|
+
|
|
47
|
+
# Short hash
|
|
48
|
+
digest = hashlib.sha256(concatenated.encode()).digest()[:8]
|
|
49
|
+
short_hash = base64.urlsafe_b64encode(digest).decode("ascii")
|
|
19
50
|
short_hash = short_hash.rstrip("=").replace("-", "_").replace("+", "_")
|
|
20
|
-
|
|
51
|
+
|
|
52
|
+
# Unique function identifier
|
|
53
|
+
func_id = f"{func.__module__}_{func.__qualname__}"
|
|
54
|
+
safe_func_id = sanitize_identifier(func_id)
|
|
55
|
+
|
|
56
|
+
return f"{safe_func_id}_{short_hash}"
|
|
21
57
|
|
|
22
58
|
|
|
23
59
|
def cache_iterator_result() -> Callable[[AsyncIteratorCallable], AsyncIteratorCallable]:
|
|
@@ -45,7 +81,7 @@ def cache_iterator_result() -> Callable[[AsyncIteratorCallable], AsyncIteratorCa
|
|
|
45
81
|
def decorator(func: AsyncIteratorCallable) -> AsyncIteratorCallable:
|
|
46
82
|
@functools.wraps(func)
|
|
47
83
|
async def wrapper(*args: Any, **kwargs: Any) -> Any:
|
|
48
|
-
cache_key = hash_func(func
|
|
84
|
+
cache_key = hash_func(func, *args, **kwargs)
|
|
49
85
|
|
|
50
86
|
# Check if the result is already in the cache
|
|
51
87
|
try:
|
|
@@ -98,7 +134,7 @@ def cache_coroutine_result() -> Callable[[AsyncCallable], AsyncCallable]:
|
|
|
98
134
|
def decorator(func: AsyncCallable) -> AsyncCallable:
|
|
99
135
|
@functools.wraps(func)
|
|
100
136
|
async def wrapper(*args: Any, **kwargs: Any) -> Any:
|
|
101
|
-
cache_key = hash_func(func
|
|
137
|
+
cache_key = hash_func(func, *args, **kwargs)
|
|
102
138
|
try:
|
|
103
139
|
if cache := await ocean.app.cache_provider.get(cache_key):
|
|
104
140
|
return cache
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: port-ocean
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.29.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
|
|
@@ -39,6 +39,7 @@ Requires-Dist: prometheus-client (>=0.21.1,<0.22.0)
|
|
|
39
39
|
Requires-Dist: pydantic[dotenv] (>=1.10.8,<2.0.0)
|
|
40
40
|
Requires-Dist: pydispatcher (>=2.0.7,<3.0.0)
|
|
41
41
|
Requires-Dist: pyhumps (>=3.8.0,<4.0.0)
|
|
42
|
+
Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
|
|
42
43
|
Requires-Dist: pytest-cov (>=6.0.0,<7.0.0)
|
|
43
44
|
Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
|
|
44
45
|
Requires-Dist: pyyaml (>=6.0,<7.0)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
integrations/_infra/Dockerfile.Deb,sha256=
|
|
1
|
+
integrations/_infra/Dockerfile.Deb,sha256=ZqAg-p3GbLaneWS0sIcUDHp1FLwLoxHLvsKT5H8sCLc,2562
|
|
2
2
|
integrations/_infra/Dockerfile.alpine,sha256=7E4Sb-8supsCcseerHwTkuzjHZoYcaHIyxiBZ-wewo0,3482
|
|
3
3
|
integrations/_infra/Dockerfile.base.builder,sha256=ESe1PKC6itp_AuXawbLI75k1Kruny6NTANaTinxOgVs,743
|
|
4
4
|
integrations/_infra/Dockerfile.base.runner,sha256=uAcs2IsxrAAUHGXt_qULA5INr-HFguf5a5fCKiqEzbY,384
|
|
5
5
|
integrations/_infra/Dockerfile.dockerignore,sha256=CM1Fxt3I2AvSvObuUZRmy5BNLSGC7ylnbpWzFgD4cso,1163
|
|
6
|
-
integrations/_infra/Dockerfile.local,sha256=
|
|
6
|
+
integrations/_infra/Dockerfile.local,sha256=yLkNs8AB1QMsSXyb2OOo0F8cPXeNF9bb2pzAt2d9fZ8,1663
|
|
7
7
|
integrations/_infra/Makefile,sha256=YgLKvuF_Dw4IA7X98Nus6zIW_3cJ60M1QFGs3imj5c4,2430
|
|
8
8
|
integrations/_infra/README.md,sha256=ZtJFSMCTU5zTeM8ddRuW1ZL1ga8z7Ic2F3mxmgOSjgo,1195
|
|
9
9
|
integrations/_infra/entry_local.sh,sha256=Sn2TexTEpruH2ixIAGsk-fZV6Y7pT3jd2Pi9TxBeFuw,633
|
|
@@ -56,12 +56,13 @@ port_ocean/clients/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
|
56
56
|
port_ocean/clients/auth/auth_client.py,sha256=scxx7AYqvXoRAd8_K-Ww26oErzi5l8ZCGPc0sVKgIfA,192
|
|
57
57
|
port_ocean/clients/auth/oauth_client.py,sha256=FjexH-T3v4ssRWhkHtvHXhi1EH1Vxu8vwHp3HxqfYN8,795
|
|
58
58
|
port_ocean/clients/port/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
port_ocean/clients/port/authentication.py,sha256=
|
|
60
|
-
port_ocean/clients/port/client.py,sha256=
|
|
59
|
+
port_ocean/clients/port/authentication.py,sha256=KujhSGUQcrlvA54J9pJNpUxrdue-AwZwYy8U2cX5rZM,4219
|
|
60
|
+
port_ocean/clients/port/client.py,sha256=LHR6zKgCCCyhe3aPWH0kRFYS02BN-lIDZMPQbaz-iDg,3776
|
|
61
61
|
port_ocean/clients/port/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
-
port_ocean/clients/port/mixins/
|
|
63
|
-
port_ocean/clients/port/mixins/
|
|
64
|
-
port_ocean/clients/port/mixins/
|
|
62
|
+
port_ocean/clients/port/mixins/actions.py,sha256=dv720JjS8QNAtBBxuZb81cPR5cKRtnwKS6nvbEgVUuE,3482
|
|
63
|
+
port_ocean/clients/port/mixins/blueprints.py,sha256=iAKwguhDpUL-YLd7GRNjS-monVgOG8UyKJFOengO_zM,4291
|
|
64
|
+
port_ocean/clients/port/mixins/entities.py,sha256=UiVssYYqJeHhrLahx1mW24B7oGVMZV2WVvUze_htuBk,25279
|
|
65
|
+
port_ocean/clients/port/mixins/integrations.py,sha256=rzmfv3BfsBXX21VZrhZLsH5B5spvVBo6xIiXKxOwNvg,12236
|
|
65
66
|
port_ocean/clients/port/mixins/migrations.py,sha256=vdL_A_NNUogvzujyaRLIoZEu5vmKDY2BxTjoGP94YzI,1467
|
|
66
67
|
port_ocean/clients/port/mixins/organization.py,sha256=A2cP5V49KnjoAXxjmnm_XGth4ftPSU0qURNfnyUyS_Y,1041
|
|
67
68
|
port_ocean/clients/port/retry_transport.py,sha256=PtIZOAZ6V-ncpVysRUsPOgt8Sf01QLnTKB5YeKBxkJk,1861
|
|
@@ -70,28 +71,32 @@ port_ocean/clients/port/utils.py,sha256=osFyAjw7Y5Qf2uVSqC7_RTCQfijiL1zS74JJM0go
|
|
|
70
71
|
port_ocean/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
72
|
port_ocean/config/base.py,sha256=x1gFbzujrxn7EJudRT81C6eN9WsYAb3vOHwcpcpX8Tc,6370
|
|
72
73
|
port_ocean/config/dynamic.py,sha256=Lrk4JRGtR-0YKQ9DDGexX5NGFE7EJ6VoHya19YYhssM,2687
|
|
73
|
-
port_ocean/config/settings.py,sha256=
|
|
74
|
+
port_ocean/config/settings.py,sha256=EMS_RPVrQxtZKNevQ_9h6SmaMclAXPwIMNwI6204wvE,8840
|
|
74
75
|
port_ocean/consumers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
76
|
port_ocean/consumers/kafka_consumer.py,sha256=N8KocjBi9aR0BOPG8hgKovg-ns_ggpEjrSxqSqF_BSo,4710
|
|
76
77
|
port_ocean/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
78
|
port_ocean/context/event.py,sha256=z7DBNOPOL9P3s-SR8jpgwoyaQ6IL9vZxLaAxIjv1Faw,6493
|
|
78
79
|
port_ocean/context/metric_resource.py,sha256=_EbLRjv3r1y6E3B9mU10wuGg_oepD8zo3VueaJMeH6A,1689
|
|
79
|
-
port_ocean/context/ocean.py,sha256=
|
|
80
|
+
port_ocean/context/ocean.py,sha256=cz61xgSepHG9rJlS9MCb53YAHTOtf3iVRrpun6Q-ar4,8059
|
|
80
81
|
port_ocean/context/resource.py,sha256=WQlPzplxWic0hvvMxWKu8xPfQQC0VjrsJVeA6yZytw0,1712
|
|
81
82
|
port_ocean/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
83
|
port_ocean/core/defaults/__init__.py,sha256=8qCZg8n06WAdMu9s_FiRtDYLGPGHbOuS60vapeUoAks,142
|
|
83
84
|
port_ocean/core/defaults/clean.py,sha256=_rL-NCl6Q_x3lUxDW5ACOM27IYilTCWl6ISUfRleuL0,2891
|
|
84
85
|
port_ocean/core/defaults/common.py,sha256=FGB6sshNsU5tD1JLX1C__RiN7tJgQYZhUUxEQzK0sKE,4205
|
|
85
|
-
port_ocean/core/defaults/initialize.py,sha256=
|
|
86
|
-
port_ocean/core/event_listener/__init__.py,sha256=
|
|
87
|
-
port_ocean/core/event_listener/
|
|
88
|
-
port_ocean/core/event_listener/
|
|
89
|
-
port_ocean/core/event_listener/
|
|
90
|
-
port_ocean/core/event_listener/
|
|
91
|
-
port_ocean/core/event_listener/
|
|
92
|
-
port_ocean/core/event_listener/
|
|
93
|
-
port_ocean/core/event_listener/
|
|
86
|
+
port_ocean/core/defaults/initialize.py,sha256=KcWNoRu5Q8mzuVP-D6iQWfGtdp7T6yeOoZFPSrUmr2Q,11319
|
|
87
|
+
port_ocean/core/event_listener/__init__.py,sha256=ijqQ0GLcQHzISQFzC4LD3Sfv28NyaHkgohpY-AXlnZU,1374
|
|
88
|
+
port_ocean/core/event_listener/actions_only.py,sha256=9zDoWESJapn0ZuZ1-WWDd6VJdeP6P3dveALnrdW-FGA,1325
|
|
89
|
+
port_ocean/core/event_listener/base.py,sha256=WHrlR8GxJDjPB_YgxonJaZ4sUKWpM85SvPQVmXoWeZw,3139
|
|
90
|
+
port_ocean/core/event_listener/factory.py,sha256=N3268hU-RsnBRlNXqHUlpr1yQW3P3Z08HqFG-O6vsVs,4621
|
|
91
|
+
port_ocean/core/event_listener/http.py,sha256=GSRy1GXw6RdM8w7M63Bp8t3L2p_D8HSCEiqoGO38MIw,3060
|
|
92
|
+
port_ocean/core/event_listener/kafka.py,sha256=SNJJHup0BrcuUqYKINj6mMobdnxvx973ow2QeP3pdao,8033
|
|
93
|
+
port_ocean/core/event_listener/once.py,sha256=5aPFREPEzVPWmC6r_JzRAGLW2lNTcbjRVhpQFIsbPD0,6003
|
|
94
|
+
port_ocean/core/event_listener/polling.py,sha256=UmbbJqOJWWdX9dpWQNk0pVvS7aoAlIlc-B0GvbCxT_s,3672
|
|
95
|
+
port_ocean/core/event_listener/webhooks_only.py,sha256=No4nNR7fb4ZtivzCFWzpYq4cgx2Cvu66pi3vgq2qOEY,1319
|
|
94
96
|
port_ocean/core/handlers/__init__.py,sha256=d7ShmS90gLRzGKJA6oNy2Zs_dF2yjkmYZInRhBnO9Rw,572
|
|
97
|
+
port_ocean/core/handlers/actions/__init__.py,sha256=GNNfYb7C5cw5wPNVSFSmPENbvMZ1nXGhILWz04oasc4,223
|
|
98
|
+
port_ocean/core/handlers/actions/abstract_executor.py,sha256=4elvJuImKFO36D6fNJIgMho-bdPow-MBpMXSqtBvu2w,6189
|
|
99
|
+
port_ocean/core/handlers/actions/execution_manager.py,sha256=EaluFt_7znWB0KbQuTEV2WgUHsuE_SoAU7vZUsBN1Zs,17961
|
|
95
100
|
port_ocean/core/handlers/base.py,sha256=cTarblazu8yh8xz2FpB-dzDKuXxtoi143XJgPbV_DcM,157
|
|
96
101
|
port_ocean/core/handlers/entities_state_applier/__init__.py,sha256=kgLZDCeCEzi4r-0nzW9k78haOZNf6PX7mJOUr34A4c8,173
|
|
97
102
|
port_ocean/core/handlers/entities_state_applier/base.py,sha256=5wHL0icfFAYRPqk8iV_wN49GdJ3aRUtO8tumSxBi4Wo,2268
|
|
@@ -101,20 +106,21 @@ port_ocean/core/handlers/entities_state_applier/port/get_related_entities.py,sha
|
|
|
101
106
|
port_ocean/core/handlers/entities_state_applier/port/order_by_entities_dependencies.py,sha256=lyv6xKzhYfd6TioUgR3AVRSJqj7JpAaj1LxxU2xAqeo,1720
|
|
102
107
|
port_ocean/core/handlers/entity_processor/__init__.py,sha256=FvFCunFg44wNQoqlybem9MthOs7p1Wawac87uSXz9U8,156
|
|
103
108
|
port_ocean/core/handlers/entity_processor/base.py,sha256=PsnpNRqjHth9xwOvDRe7gKu8cjnVV0XGmTIHGvOelX0,1867
|
|
104
|
-
port_ocean/core/handlers/entity_processor/jq_entity_processor.py,sha256=
|
|
109
|
+
port_ocean/core/handlers/entity_processor/jq_entity_processor.py,sha256=Z0njO1z2FUh8hX4GTdH7CmO0Afv-WeYRtxPs34mxKWE,32181
|
|
110
|
+
port_ocean/core/handlers/entity_processor/jq_input_evaluator.py,sha256=hInrBMQBbOqZApB53CMLyTgLtC7FltRtqK9PqD0CgM0,4803
|
|
105
111
|
port_ocean/core/handlers/port_app_config/__init__.py,sha256=8AAT5OthiVM7KCcM34iEgEeXtn2pRMrT4Dze5r1Ixbk,134
|
|
106
112
|
port_ocean/core/handlers/port_app_config/api.py,sha256=r_Th66NEw38IpRdnXZcRvI8ACfvxW_A6V62WLwjWXlQ,1044
|
|
107
113
|
port_ocean/core/handlers/port_app_config/base.py,sha256=Sup4-X_a7JGa27rMy_OgqGIjFHMlKBpKevicaK3AeHU,2919
|
|
108
|
-
port_ocean/core/handlers/port_app_config/models.py,sha256=
|
|
114
|
+
port_ocean/core/handlers/port_app_config/models.py,sha256=buDkw-LHtKJ6zCxlc6Yq7AUJFwzhhYHqLvgXgou-xbM,3084
|
|
109
115
|
port_ocean/core/handlers/queue/__init__.py,sha256=yzgicE_jAR1wtljFKxgyG6j-HbLcG_Zze5qw1kkALUI,171
|
|
110
116
|
port_ocean/core/handlers/queue/abstract_queue.py,sha256=SaivrYbqg8qsX6wtQlJZyxgcbdMD5B9NZG3byN9AvrI,782
|
|
111
117
|
port_ocean/core/handlers/queue/group_queue.py,sha256=JvvJOwz9z_aI4CjPr7yQX-0rOgqLI5wMdxWk2x5x-34,4989
|
|
112
118
|
port_ocean/core/handlers/queue/local_queue.py,sha256=Y6qabDbrQ8aOPTN6Ct3lnMU7JnT8O8iTpoxMoVt6lFs,643
|
|
113
119
|
port_ocean/core/handlers/resync_state_updater/__init__.py,sha256=kG6y-JQGpPfuTHh912L_bctIDCzAK4DN-d00S7rguWU,81
|
|
114
|
-
port_ocean/core/handlers/resync_state_updater/updater.py,sha256=
|
|
120
|
+
port_ocean/core/handlers/resync_state_updater/updater.py,sha256=UWUwHX8-Sr6UxCjcpgInonM_2SbO2WWgawONtZJZQB8,3937
|
|
115
121
|
port_ocean/core/handlers/webhook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
116
|
-
port_ocean/core/handlers/webhook/abstract_webhook_processor.py,sha256=
|
|
117
|
-
port_ocean/core/handlers/webhook/processor_manager.py,sha256=
|
|
122
|
+
port_ocean/core/handlers/webhook/abstract_webhook_processor.py,sha256=8oCYaJwr_b8HP-xS0oR1Zia0YYmwJT9vJ4fOvgDlvDY,4362
|
|
123
|
+
port_ocean/core/handlers/webhook/processor_manager.py,sha256=QAidsITckOuYGLMEGA3OAzS4hBNfPiWds5WHdYvQ2qc,13751
|
|
118
124
|
port_ocean/core/handlers/webhook/webhook_event.py,sha256=o-REML80GxN7jKonO-vlRnycN_8NAymbykQSUjVp5FI,3947
|
|
119
125
|
port_ocean/core/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
120
126
|
port_ocean/core/integrations/base.py,sha256=dUhytVM9uUbcDRzG1QWyvBvEJOWZY0dPVV3hXuukOfg,3587
|
|
@@ -123,12 +129,12 @@ port_ocean/core/integrations/mixins/events.py,sha256=2L7P3Jhp8XBqddh2_o9Cn4N261n
|
|
|
123
129
|
port_ocean/core/integrations/mixins/handler.py,sha256=mZ7-0UlG3LcrwJttFbMe-R4xcOU2H_g33tZar7PwTv8,3771
|
|
124
130
|
port_ocean/core/integrations/mixins/live_events.py,sha256=zM24dhNc7uHx9XYZ6toVhDADPA90EnpOmZxgDegFZbA,4196
|
|
125
131
|
port_ocean/core/integrations/mixins/sync.py,sha256=Vm_898pLKBwfVewtwouDWsXoxcOLicnAy6pzyqqk6U8,4053
|
|
126
|
-
port_ocean/core/integrations/mixins/sync_raw.py,sha256=
|
|
127
|
-
port_ocean/core/integrations/mixins/utils.py,sha256=
|
|
128
|
-
port_ocean/core/models.py,sha256=
|
|
132
|
+
port_ocean/core/integrations/mixins/sync_raw.py,sha256=ed-f2t8Gb-Pjywhf8YxKBkQPAaYi23Mr81twINDYKQc,41054
|
|
133
|
+
port_ocean/core/integrations/mixins/utils.py,sha256=wdpQmapYEkKDqpnyyt_KLfu6Vrcbnk2pxrW8ikqNq8Q,14652
|
|
134
|
+
port_ocean/core/models.py,sha256=sN7viTJbqEEy7j8VEgeffusML31cQWgzI7k8JP64Mbg,3769
|
|
129
135
|
port_ocean/core/ocean_types.py,sha256=bkLlTd8XfJK6_JDl0eXUHfE_NygqgiInSMwJ4YJH01Q,1399
|
|
130
136
|
port_ocean/core/utils/entity_topological_sorter.py,sha256=MDUjM6OuDy4Xj68o-7InNN0w1jqjxeDfeY8U02vySNI,3081
|
|
131
|
-
port_ocean/core/utils/utils.py,sha256=
|
|
137
|
+
port_ocean/core/utils/utils.py,sha256=6ySxua6JgVxcjESPL5MScdkpaUj5XR9srorGHHb0B2o,7157
|
|
132
138
|
port_ocean/debug_cli.py,sha256=gHrv-Ey3cImKOcGZpjoHlo4pa_zfmyOl6TUM4o9VtcA,96
|
|
133
139
|
port_ocean/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
134
140
|
port_ocean/exceptions/api.py,sha256=1JcA-H12lhSgolMEA6dM4JMbDrh9sYDcE7oydPSTuK8,649
|
|
@@ -136,21 +142,22 @@ port_ocean/exceptions/base.py,sha256=uY4DX7fIITDFfemCJDWpaZi3bD51lcANc5swpoNvMJA
|
|
|
136
142
|
port_ocean/exceptions/clients.py,sha256=LKLLs-Zy3caNG85rwxfOw2rMr8qqVV6SHUq4fRCZ99U,180
|
|
137
143
|
port_ocean/exceptions/context.py,sha256=mA8HII6Rl4QxKUz98ppy1zX3kaziaen21h1ZWuU3ADc,372
|
|
138
144
|
port_ocean/exceptions/core.py,sha256=3LpQrOWdZ-xZ8zm90DmTnFnk0Nms2OgrVIzZBK0Xw5M,931
|
|
145
|
+
port_ocean/exceptions/execution_manager.py,sha256=1IALgXZaWOg5CgyEw1g14AQnr6QO5PKSKrh48JAzXEc,506
|
|
139
146
|
port_ocean/exceptions/port_defaults.py,sha256=2a7Koy541KxMan33mU-gbauUxsumG3NT4itVxSpQqfw,666
|
|
140
147
|
port_ocean/exceptions/utils.py,sha256=gjOqpi-HpY1l4WlMFsGA9yzhxDhajhoGGdDDyGbLnqI,197
|
|
141
148
|
port_ocean/exceptions/webhook_processor.py,sha256=4SnkVzVwiacH_Ip4qs1hRHa6GanhnojW_TLTdQQtm7Y,363
|
|
142
149
|
port_ocean/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
143
150
|
port_ocean/helpers/async_client.py,sha256=M8gKUjX8ZwRbmJ-U6KNq-p-nfGr0CwHdS0eN_pbZAJ0,2103
|
|
144
|
-
port_ocean/helpers/metric/metric.py,sha256
|
|
151
|
+
port_ocean/helpers/metric/metric.py,sha256=6SMxov1WcZAV0NehMGMqWiLoOIpw-2fOpVbtPWhmW1c,14544
|
|
145
152
|
port_ocean/helpers/metric/utils.py,sha256=1lAgrxnZLuR_wUNDyPOPzLrm32b8cDdioob2lvnPQ1A,1619
|
|
146
|
-
port_ocean/helpers/retry.py,sha256=
|
|
153
|
+
port_ocean/helpers/retry.py,sha256=yL0TJvA-0jol-zyUO57pYBCRmq3ZglkrgCdX3QZ6tHs,20288
|
|
147
154
|
port_ocean/helpers/stream.py,sha256=_UwsThzXynxWzL8OlBT1pmb2evZBi9HaaqeAGNuTuOI,2338
|
|
148
155
|
port_ocean/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
156
|
port_ocean/log/handlers.py,sha256=LJ1WAfq7wYCrBpeLPihMKmWjdSahKKXNHFMRYkbk0Co,3630
|
|
150
|
-
port_ocean/log/logger_setup.py,sha256=
|
|
157
|
+
port_ocean/log/logger_setup.py,sha256=wcr5WOkYRtng4pW6ZRl4Av3GqtZ2omSWIqYhB_8Duuc,2700
|
|
151
158
|
port_ocean/log/sensetive.py,sha256=lVKiZH6b7TkrZAMmhEJRhcl67HNM94e56x12DwFgCQk,2920
|
|
152
159
|
port_ocean/middlewares.py,sha256=9wYCdyzRZGK1vjEJ28FY_DkfwDNENmXp504UKPf5NaQ,2727
|
|
153
|
-
port_ocean/ocean.py,sha256=
|
|
160
|
+
port_ocean/ocean.py,sha256=4KRqRZdeaZ4tGLRglZ3eFKWz-aE_Rqs3-iz5EQvHN2o,10858
|
|
154
161
|
port_ocean/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
155
162
|
port_ocean/run.py,sha256=CmKz14bxfdOooNbQ5QqH1MwX-XLYVG4NgT4KbrzFaqI,2216
|
|
156
163
|
port_ocean/sonar-project.properties,sha256=X_wLzDOkEVmpGLRMb2fg9Rb0DxWwUFSvESId8qpvrPI,73
|
|
@@ -161,16 +168,18 @@ port_ocean/tests/cache/test_memory_cache.py,sha256=xlwIOBU0RVLYYJU83l_aoZDzZ6QID
|
|
|
161
168
|
port_ocean/tests/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
162
169
|
port_ocean/tests/clients/oauth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
163
170
|
port_ocean/tests/clients/oauth/test_oauth_client.py,sha256=2XVMQUalDpiD539Z7_dk5BK_ngXQzsTmb2lNBsfEm9c,3266
|
|
164
|
-
port_ocean/tests/clients/port/mixins/test_entities.py,sha256=
|
|
171
|
+
port_ocean/tests/clients/port/mixins/test_entities.py,sha256=jOMJ3ICUlhjjPTo4q6qUrEjTKvXRLUE6KjqjdFiDRBY,10766
|
|
165
172
|
port_ocean/tests/clients/port/mixins/test_integrations.py,sha256=vRt_EMsLozQC1LJNXxlvnHj3-FlOBGgAYxg5T0IAqtA,7621
|
|
166
173
|
port_ocean/tests/clients/port/mixins/test_organization_mixin.py,sha256=zzKYz3h8dl4Z5A2QG_924m0y9U6XTth1XYOfwNrd_24,914
|
|
167
174
|
port_ocean/tests/config/test_config.py,sha256=Rk4N-ldVSOfn1p23NzdVdfqUpPrqG2cMut4Sv-sAOrw,1023
|
|
168
175
|
port_ocean/tests/conftest.py,sha256=JXASSS0IY0nnR6bxBflhzxS25kf4iNaABmThyZ0mZt8,101
|
|
169
176
|
port_ocean/tests/core/conftest.py,sha256=0Oql7R1iTbjPyNdUoO6M21IKknLwnCIgDRz2JQ7nf0w,7748
|
|
170
177
|
port_ocean/tests/core/defaults/test_common.py,sha256=sR7RqB3ZYV6Xn6NIg-c8k5K6JcGsYZ2SCe_PYX5vLYM,5560
|
|
171
|
-
port_ocean/tests/core/event_listener/test_kafka.py,sha256=
|
|
178
|
+
port_ocean/tests/core/event_listener/test_kafka.py,sha256=RN_JOCy4aRDUNvyQocO6WFvUMH2XeAZy-PIWHOYnD9M,2888
|
|
179
|
+
port_ocean/tests/core/handlers/actions/test_execution_manager.py,sha256=nIS2WwZzxmM3QOr75IfNEfNRhy453eaViLpdbN9wPic,30931
|
|
172
180
|
port_ocean/tests/core/handlers/entities_state_applier/test_applier.py,sha256=7XWgwUB9uVYRov4VbIz1A-7n2YLbHTTYT-4rKJxjB0A,10711
|
|
173
|
-
port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py,sha256=
|
|
181
|
+
port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py,sha256=7TpqaWcOYLb25SL7e282DmwryCUBllwi387dGHhCMqI,58493
|
|
182
|
+
port_ocean/tests/core/handlers/entity_processor/test_jq_input_evaluator.py,sha256=rCXen2k77BnA-p2E6ga2P3Tqo0SU5tQuMYKhB1v92d8,42076
|
|
174
183
|
port_ocean/tests/core/handlers/mixins/test_live_events.py,sha256=Sbv9IZAGQoZDhf27xDjMMVYxUSie9mHltDtxLSqckmM,12548
|
|
175
184
|
port_ocean/tests/core/handlers/mixins/test_sync_raw.py,sha256=-Jd2rUG63fZM8LuyKtCp1tt4WEqO2m5woESjs1c91sU,44428
|
|
176
185
|
port_ocean/tests/core/handlers/port_app_config/test_api.py,sha256=eJZ6SuFBLz71y4ca3DNqKag6d6HUjNJS0aqQPwiLMTI,1999
|
|
@@ -178,10 +187,11 @@ port_ocean/tests/core/handlers/port_app_config/test_base.py,sha256=hSh556bJM9zuE
|
|
|
178
187
|
port_ocean/tests/core/handlers/queue/test_group_queue.py,sha256=Y1BrQi5xwhk5bYDlKRWw9PenF5cqxIF2TIU_hldqji0,22801
|
|
179
188
|
port_ocean/tests/core/handlers/queue/test_local_queue.py,sha256=9Ly0HzZXbs6Rbl_bstsIdInC3h2bgABU3roP9S_PnJM,2582
|
|
180
189
|
port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py,sha256=zKwHhPAYEZoZ5Z2UETp1t--mbkS8uyvlXThB0obZTTc,3340
|
|
181
|
-
port_ocean/tests/core/handlers/webhook/test_processor_manager.py,sha256=
|
|
190
|
+
port_ocean/tests/core/handlers/webhook/test_processor_manager.py,sha256=wKzKO79HByqtLcKoYUQ6PjZ-VZAUT1TwdZXyH9NchfY,52365
|
|
182
191
|
port_ocean/tests/core/handlers/webhook/test_webhook_event.py,sha256=oR4dEHLO65mp6rkfNfszZcfFoRZlB8ZWee4XetmsuIk,3181
|
|
183
192
|
port_ocean/tests/core/test_utils.py,sha256=Z3kdhb5V7Svhcyy3EansdTpgHL36TL6erNtU-OPwAcI,2647
|
|
184
193
|
port_ocean/tests/core/utils/test_entity_topological_sorter.py,sha256=zuq5WSPy_88PemG3mOUIHTxWMR_js1R7tOzUYlgBd68,3447
|
|
194
|
+
port_ocean/tests/core/utils/test_get_port_diff.py,sha256=YoQxAHZdX5nVpvrKV5Aox-jQ4w14AbfJVo-QK-ICAb8,4297
|
|
185
195
|
port_ocean/tests/core/utils/test_resolve_entities_diff.py,sha256=nSB0H87Gk6iFw7RMq9YfiZtC_u6X20ao5vmvywP5HsE,17945
|
|
186
196
|
port_ocean/tests/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
187
197
|
port_ocean/tests/helpers/fake_port_api.py,sha256=9rtjC6iTQMfzWK6WipkDzzG0b1IIaRmvdJLOyV613vE,6479
|
|
@@ -190,17 +200,17 @@ port_ocean/tests/helpers/integration.py,sha256=_RxS-RHpu11lrbhUXYPZp862HLWx8AoD7
|
|
|
190
200
|
port_ocean/tests/helpers/ocean_app.py,sha256=N06vcNI1klqdcNFq-PXL5vm77u-hODsOSXnj9p8d1AI,2249
|
|
191
201
|
port_ocean/tests/helpers/port_client.py,sha256=S0CXvZWUoHFWWQUOEgdkDammK9Fs3R06wx0flaMrTsg,647
|
|
192
202
|
port_ocean/tests/helpers/smoke_test.py,sha256=_9aJJFRfuGJEg2D2YQJVJRmpreS6gEPHHQq8Q01x4aQ,2697
|
|
193
|
-
port_ocean/tests/helpers/test_retry.py,sha256=
|
|
203
|
+
port_ocean/tests/helpers/test_retry.py,sha256=w1p0flGunT0NxrUVtlR5FvSDg_vXGrlWyg_e6tJRVn4,20435
|
|
194
204
|
port_ocean/tests/log/test_handlers.py,sha256=x2P2Hd6Cb3sQafIE3TRGltbbHeiFHaiEjwRn9py_03g,2165
|
|
195
205
|
port_ocean/tests/test_metric.py,sha256=gDdeJcqJDQ_o3VrYrW23iZyw2NuUsyATdrygSXhcDuQ,8096
|
|
196
206
|
port_ocean/tests/test_ocean.py,sha256=bsXKGTVEjwLSbR7-qSmI4GZ-EzDo0eBE3TNSMsWzYxM,1502
|
|
197
207
|
port_ocean/tests/test_smoke.py,sha256=uix2uIg_yOm8BHDgHw2hTFPy1fiIyxBGW3ENU_KoFlo,2557
|
|
198
208
|
port_ocean/tests/utils/test_async_iterators.py,sha256=3PLk1emEXekb8LcC5GgVh3OicaX15i5WyaJT_eFnu_4,1336
|
|
199
|
-
port_ocean/tests/utils/test_cache.py,sha256=
|
|
209
|
+
port_ocean/tests/utils/test_cache.py,sha256=AJrBRC1N0Yxq6ekYbZYUleb588GMK_4cGr41wcSI5bA,15561
|
|
200
210
|
port_ocean/utils/__init__.py,sha256=KMGnCPXZJbNwtgxtyMycapkDz8tpSyw23MSYT3iVeHs,91
|
|
201
211
|
port_ocean/utils/async_http.py,sha256=aDsw3gQIMwt6qLegbZtkHqD8em48tKvbITnblsrTY3g,1260
|
|
202
212
|
port_ocean/utils/async_iterators.py,sha256=CPXskYWkhkZtAG-ducEwM8537t3z5usPEqXR9vcivzw,3715
|
|
203
|
-
port_ocean/utils/cache.py,sha256=
|
|
213
|
+
port_ocean/utils/cache.py,sha256=WCKs6gV8uToLWOQtfw6LKlqE94dxf0TBHRz4ZaUyky4,5400
|
|
204
214
|
port_ocean/utils/ipc.py,sha256=eTjTTvsKl6IXYeOkIjP5iyrw-8gLQ9rf15WeyxCqXog,912
|
|
205
215
|
port_ocean/utils/misc.py,sha256=cQGBWL9IN7ER6s7xyHzeKvj60ntW70WiYIq9MyLe1nY,2123
|
|
206
216
|
port_ocean/utils/queue_utils.py,sha256=KWWl8YVnG-glcfIHhM6nefY-2sou_C6DVP1VynQwzB4,2762
|
|
@@ -208,8 +218,8 @@ port_ocean/utils/repeat.py,sha256=U2OeCkHPWXmRTVoPV-VcJRlQhcYqPWI5NfmPlb1JIbc,32
|
|
|
208
218
|
port_ocean/utils/signal.py,sha256=J1sI-e_32VHP_VUa5bskLMFoJjJOAk5isrnewKDikUI,2125
|
|
209
219
|
port_ocean/utils/time.py,sha256=pufAOH5ZQI7gXvOvJoQXZXZJV-Dqktoj9Qp9eiRwmJ4,1939
|
|
210
220
|
port_ocean/version.py,sha256=UsuJdvdQlazzKGD3Hd5-U7N69STh8Dq9ggJzQFnu9fU,177
|
|
211
|
-
port_ocean-0.
|
|
212
|
-
port_ocean-0.
|
|
213
|
-
port_ocean-0.
|
|
214
|
-
port_ocean-0.
|
|
215
|
-
port_ocean-0.
|
|
221
|
+
port_ocean-0.29.0.dist-info/LICENSE.md,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
222
|
+
port_ocean-0.29.0.dist-info/METADATA,sha256=DbN_bilGC8dbWPzeMFGyAVHeWzotew_JB5LuwoEEmfA,7054
|
|
223
|
+
port_ocean-0.29.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
224
|
+
port_ocean-0.29.0.dist-info/entry_points.txt,sha256=F_DNUmGZU2Kme-8NsWM5LLE8piGMafYZygRYhOVtcjA,54
|
|
225
|
+
port_ocean-0.29.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|