mpt-extension-sdk 4.5.0__py3-none-any.whl → 5.17.2__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.
Files changed (42) hide show
  1. mpt_extension_sdk/airtable/wrap_http_error.py +10 -6
  2. mpt_extension_sdk/constants.py +2 -0
  3. mpt_extension_sdk/core/events/dataclasses.py +2 -0
  4. mpt_extension_sdk/core/events/registry.py +8 -3
  5. mpt_extension_sdk/core/extension.py +2 -0
  6. mpt_extension_sdk/core/security.py +35 -27
  7. mpt_extension_sdk/core/utils.py +2 -0
  8. mpt_extension_sdk/flows/context.py +12 -1
  9. mpt_extension_sdk/flows/pipeline.py +11 -2
  10. mpt_extension_sdk/key_vault/base.py +36 -25
  11. mpt_extension_sdk/mpt_http/base.py +15 -3
  12. mpt_extension_sdk/mpt_http/mpt.py +73 -12
  13. mpt_extension_sdk/mpt_http/utils.py +1 -0
  14. mpt_extension_sdk/mpt_http/wrap_http_error.py +30 -8
  15. mpt_extension_sdk/runtime/__init__.py +1 -0
  16. mpt_extension_sdk/runtime/commands/django.py +5 -5
  17. mpt_extension_sdk/runtime/commands/run.py +2 -4
  18. mpt_extension_sdk/runtime/djapp/apps.py +7 -1
  19. mpt_extension_sdk/runtime/djapp/conf/__init__.py +2 -3
  20. mpt_extension_sdk/runtime/djapp/conf/default.py +9 -15
  21. mpt_extension_sdk/runtime/djapp/management/commands/consume_events.py +12 -7
  22. mpt_extension_sdk/runtime/djapp/middleware.py +5 -3
  23. mpt_extension_sdk/runtime/errors.py +5 -0
  24. mpt_extension_sdk/runtime/events/dispatcher.py +21 -19
  25. mpt_extension_sdk/runtime/events/producers.py +29 -25
  26. mpt_extension_sdk/runtime/events/utils.py +6 -5
  27. mpt_extension_sdk/runtime/initializer.py +4 -5
  28. mpt_extension_sdk/runtime/logging.py +11 -2
  29. mpt_extension_sdk/runtime/master.py +25 -17
  30. mpt_extension_sdk/runtime/swoext.py +10 -8
  31. mpt_extension_sdk/runtime/tracer.py +2 -0
  32. mpt_extension_sdk/runtime/utils.py +37 -38
  33. mpt_extension_sdk/runtime/workers.py +14 -8
  34. mpt_extension_sdk/swo_rql/query_builder.py +17 -14
  35. mpt_extension_sdk-5.17.2.dist-info/METADATA +39 -0
  36. mpt_extension_sdk-5.17.2.dist-info/RECORD +54 -0
  37. {mpt_extension_sdk-4.5.0.dist-info → mpt_extension_sdk-5.17.2.dist-info}/WHEEL +1 -1
  38. mpt_extension_sdk-5.17.2.dist-info/entry_points.txt +5 -0
  39. mpt_extension_sdk-4.5.0.dist-info/METADATA +0 -45
  40. mpt_extension_sdk-4.5.0.dist-info/RECORD +0 -53
  41. mpt_extension_sdk-4.5.0.dist-info/entry_points.txt +0 -6
  42. {mpt_extension_sdk-4.5.0.dist-info → mpt_extension_sdk-5.17.2.dist-info}/licenses/LICENSE +0 -0
@@ -10,25 +10,30 @@ from mpt_extension_sdk.runtime.utils import initialize_extension
10
10
 
11
11
 
12
12
  class ExtensionWebApplication(BaseApplication):
13
+ """Gunicorn application for the extension."""
14
+
13
15
  def __init__(self, app, options=None):
14
16
  self.options = options or {}
15
17
  self.application = app
16
18
  super().__init__()
17
19
 
18
20
  def load_config(self):
21
+ """Load configuration settings."""
19
22
  config = {
20
- key: value
21
- for key, value in self.options.items()
22
- if key in self.cfg.settings and value is not None
23
+ opt_key: opt_value
24
+ for opt_key, opt_value in self.options.items()
25
+ if opt_key in self.cfg.settings and opt_value is not None
23
26
  }
24
- for key, value in config.items():
25
- self.cfg.set(key.lower(), value)
27
+ for opt_key, opt_value in config.items():
28
+ self.cfg.set(opt_key.lower(), opt_value)
26
29
 
27
30
  def load(self):
31
+ """Load the application."""
28
32
  return self.application
29
33
 
30
34
 
31
35
  def start_event_consumer(options):
36
+ """Start the event consumer."""
32
37
  initialize_extension(options)
33
38
  call_command("consume_events")
34
39
 
@@ -38,6 +43,7 @@ def start_gunicorn(
38
43
  group=DEFAULT_APP_CONFIG_GROUP,
39
44
  name=DEFAULT_APP_CONFIG_NAME,
40
45
  ):
46
+ """Start the Gunicorn server."""
41
47
  initialize_extension(options, group=group, name=name)
42
48
 
43
49
  logging_config = {
@@ -45,8 +51,8 @@ def start_gunicorn(
45
51
  "disable_existing_loggers": False,
46
52
  "formatters": {
47
53
  "verbose": {
48
- "format":
49
- "{asctime} {name} {levelname} (pid: {process}, thread: {thread}) {message}",
54
+ "format": "{asctime} {name} {levelname} (pid: {process}, "
55
+ "thread: {thread}) {message}",
50
56
  "style": "{",
51
57
  },
52
58
  "rich": {
@@ -61,7 +67,7 @@ def start_gunicorn(
61
67
  "rich": {
62
68
  "class": "rich.logging.RichHandler",
63
69
  "formatter": "rich",
64
- "log_time_format": lambda x: x.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3],
70
+ "log_time_format": lambda log_time: log_time.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3],
65
71
  "rich_tracebacks": True,
66
72
  },
67
73
  },
@@ -2,18 +2,17 @@ from mpt_extension_sdk.swo_rql import constants
2
2
 
3
3
 
4
4
  def parse_kwargs(query_dict):
5
+ """Parse keyword arguments into RQL query components."""
5
6
  query = []
6
7
  for lookup, value in query_dict.items():
7
8
  tokens = lookup.split("__")
8
9
  if len(tokens) == 1:
9
- # field=value
10
10
  field = tokens[0]
11
11
  value = rql_encode("eq", value)
12
12
  query.append(f"eq({field},{value})")
13
13
  continue
14
14
  op = tokens[-1]
15
15
  if op not in constants.KEYWORDS:
16
- # field__nested=value
17
16
  field = ".".join(tokens)
18
17
  value = rql_encode("eq", value)
19
18
  query.append(f"eq({field},{value})")
@@ -35,9 +34,9 @@ def parse_kwargs(query_dict):
35
34
  return query
36
35
 
37
36
 
38
- def rql_encode(op, value):
39
- from datetime import date, datetime
40
- from decimal import Decimal
37
+ def rql_encode(op, value): # noqa: C901, D103
38
+ from datetime import date, datetime # noqa: ICN003, PLC0415
39
+ from decimal import Decimal # noqa: PLC0415
41
40
 
42
41
  if op not in constants.LIST:
43
42
  if isinstance(value, str):
@@ -258,6 +257,12 @@ class RQLQuery:
258
257
  return self._list("out", value)
259
258
 
260
259
  def in_(self, value):
260
+ """
261
+ Apply the `in` operator to the field this `R` object refers to.
262
+
263
+ Args:
264
+ value (list[str]): The list of values to which compare the field.
265
+ """
261
266
  return self._list("in", value)
262
267
 
263
268
  def oneof(self, value: list[str]):
@@ -278,7 +283,7 @@ class RQLQuery:
278
283
  """
279
284
  return self._bool("null", value)
280
285
 
281
- def empty(self, value: bool = True):
286
+ def empty(self, value: bool = True): # noqa: FBT001, FBT002
282
287
  """
283
288
  Apply the `empty` operator to the field this `R` object refers to.
284
289
 
@@ -289,11 +294,8 @@ class RQLQuery:
289
294
  return self._bool("empty", value)
290
295
 
291
296
  def not_empty(self):
292
- """
293
- Apply the `not_empty` operator to the field this `R` object refers to.
294
- """
295
- query = self._bool("empty", False)
296
- return query
297
+ """Apply the `not_empty` operator to the field this `R` object refers to."""
298
+ return self._bool("empty", False) # noqa: FBT003
297
299
 
298
300
  def like(self, value: list[str]):
299
301
  """
@@ -333,7 +335,8 @@ class RQLQuery:
333
335
  self.expr = f"eq({self._field},{expr}())"
334
336
  return self
335
337
 
336
- def _to_string(self, query):
338
+ def _to_string(self, query): # noqa: C901
339
+ """Convert the query to a string representation."""
337
340
  tokens = []
338
341
  if query.expr:
339
342
  if query.negated:
@@ -352,8 +355,8 @@ class RQLQuery:
352
355
  return ""
353
356
 
354
357
  if query.negated:
355
- return f'not({query.op}({",".join(tokens)}))'
356
- return f'{query.op}({",".join(tokens)})'
358
+ return f"not({query.op}({','.join(tokens)}))"
359
+ return f"{query.op}({','.join(tokens)})"
357
360
 
358
361
  def _copy(self, other):
359
362
  return RQLQuery(
@@ -0,0 +1,39 @@
1
+ Metadata-Version: 2.4
2
+ Name: mpt-extension-sdk
3
+ Version: 5.17.2
4
+ Summary: Extensions SDK for SoftwareONE Marketplace Platform
5
+ Author: SoftwareOne AG
6
+ License: Apache-2.0 license
7
+ License-File: LICENSE
8
+ Requires-Python: <4,>=3.12
9
+ Requires-Dist: azure-identity==1.25.*
10
+ Requires-Dist: azure-keyvault-secrets==4.10.*
11
+ Requires-Dist: azure-monitor-opentelemetry-exporter==1.0.0b25
12
+ Requires-Dist: click==8.3.*
13
+ Requires-Dist: debugpy==1.8.*
14
+ Requires-Dist: django-ninja==1.1.*
15
+ Requires-Dist: django==4.2.*
16
+ Requires-Dist: gunicorn==23.0.*
17
+ Requires-Dist: jinja2==3.1.*
18
+ Requires-Dist: markdown-it-py==4.0.*
19
+ Requires-Dist: openpyxl==3.1.*
20
+ Requires-Dist: opentelemetry-api==1.30.*
21
+ Requires-Dist: opentelemetry-instrumentation-django==0.51b0
22
+ Requires-Dist: opentelemetry-instrumentation-logging==0.51b0
23
+ Requires-Dist: opentelemetry-instrumentation-requests==0.51b0
24
+ Requires-Dist: opentelemetry-sdk==1.30.*
25
+ Requires-Dist: phonenumbers==9.0.*
26
+ Requires-Dist: pyairtable==3.3.*
27
+ Requires-Dist: pyfiglet==1.0.*
28
+ Requires-Dist: pyjwt==2.10.*
29
+ Requires-Dist: pymsteams==0.2.*
30
+ Requires-Dist: regex==2024.11.*
31
+ Requires-Dist: requests==2.32.*
32
+ Requires-Dist: rich==14.2.*
33
+ Requires-Dist: types-openpyxl==3.1.*
34
+ Requires-Dist: typing-extensions==4.15.*
35
+ Requires-Dist: watchfiles==1.1.*
36
+ Description-Content-Type: text/markdown
37
+
38
+ # swo-extension-sdk
39
+ SDK for SoftwareONE python extensions
@@ -0,0 +1,54 @@
1
+ mpt_extension_sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mpt_extension_sdk/constants.py,sha256=Qrwnvc9v6BFaNF6Fc6_EB-PfazjQfF1F3HMOQLIQgiA,527
3
+ mpt_extension_sdk/airtable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ mpt_extension_sdk/airtable/wrap_http_error.py,sha256=0vaFm5hqYlYRPcNxlVoQdXIFJ7wpAGoNMIfqGcdTk6o,1463
5
+ mpt_extension_sdk/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ mpt_extension_sdk/core/extension.py,sha256=RjO7GEVMLz5QMrj85yzsQIxfAJHrRBuNlINqx_aSxd4,308
7
+ mpt_extension_sdk/core/security.py,sha256=VM0kdoYWHeGPnnA2MminHvPybIFKEzh2nQ0CtS9eaEw,1721
8
+ mpt_extension_sdk/core/utils.py,sha256=IDDUykQL_y4OpwdrqNtrG3DPieV6U9AEp2_94hEvXQo,436
9
+ mpt_extension_sdk/core/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ mpt_extension_sdk/core/events/dataclasses.py,sha256=31B8LK64VRhJfvNDxnuLN9hTlCSXFUxflCawwqSO6sQ,501
11
+ mpt_extension_sdk/core/events/registry.py,sha256=N6d5ptoxcu7yAyCzZ0biuCh1vHW2mxUe7OppT80ZGFw,1503
12
+ mpt_extension_sdk/flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ mpt_extension_sdk/flows/context.py,sha256=nrvR45HH2O9_o9Ln6o846uCGCoiDhrH0GHFWnbyDjBk,1410
14
+ mpt_extension_sdk/flows/pipeline.py,sha256=s4iYNxszt-fNKkVu3QXX7ffvsT6oehBPUPsX7Vpi9K0,1652
15
+ mpt_extension_sdk/key_vault/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ mpt_extension_sdk/key_vault/base.py,sha256=OnlBEhof_NMRToPQUO4Nrq-dnT_FPxr5FuSn3CRBQF0,3869
17
+ mpt_extension_sdk/mpt_http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ mpt_extension_sdk/mpt_http/base.py,sha256=zVGW-ERSaTFzyAKWe-_vXwSX_balI1yZHW8Q9nppr4o,1689
19
+ mpt_extension_sdk/mpt_http/mpt.py,sha256=30KVba-7m1pJ4SibjdnX-SsrkK9FGo9cLshYzUhkwu8,18516
20
+ mpt_extension_sdk/mpt_http/utils.py,sha256=Ek2D4efcJNhQlOyXd4ZeBhwqDjFpvcbBEqxuCqRQ7cU,166
21
+ mpt_extension_sdk/mpt_http/wrap_http_error.py,sha256=ULR5If8IJ9UAy137xDnOODcbMlqoW0Yc7gv6lxdbJuY,2435
22
+ mpt_extension_sdk/runtime/__init__.py,sha256=YY7ChHKTXXv0a6_PG1F4pVASDzleSWMv_Zf7uX0UDyc,244
23
+ mpt_extension_sdk/runtime/errors.py,sha256=dO2038Ivj9lzHtOtpJrB5fwL03tUWNT0R6HUKxrzKa4,146
24
+ mpt_extension_sdk/runtime/initializer.py,sha256=P_cbsR10NloHQ1dYZvTeaMOZmYFgrJF0PlEytWFF6rQ,2204
25
+ mpt_extension_sdk/runtime/logging.py,sha256=BB5NSoHaprpQnummbQ3NkkA5Nz6rrsZMZwg_Q7pTDx4,1098
26
+ mpt_extension_sdk/runtime/master.py,sha256=OoXLTTLoCrHWppMFtv90RGDImeg7-XWPYqH31cI9Lho,4956
27
+ mpt_extension_sdk/runtime/swoext.py,sha256=wrZ1RzPOzKa2DTOXkhTTiTlT9LXM9u5AKki2lX3fsVY,1806
28
+ mpt_extension_sdk/runtime/tracer.py,sha256=uJNRYDNoVeXButn5aF83W59upZdEZlIVH8hC8Wgi_Gw,459
29
+ mpt_extension_sdk/runtime/utils.py,sha256=AWdr7KLRof4H1hJK71DGN97mh-zMfvoLfFu5H3DjKfo,5165
30
+ mpt_extension_sdk/runtime/workers.py,sha256=hnRviiT0ZQDNEVsvPB0qH7JET5v_-RMQQS-2hpZCrVM,2933
31
+ mpt_extension_sdk/runtime/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
+ mpt_extension_sdk/runtime/commands/django.py,sha256=Xsj4VjuYonekWSu6gL-qUHChMbo6tKuRVmCqEs2jeoA,1247
33
+ mpt_extension_sdk/runtime/commands/run.py,sha256=OaSMi14k7KnJBE1F6KSg-vd0L0VLErWoMBvyKIccZRE,1134
34
+ mpt_extension_sdk/runtime/djapp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ mpt_extension_sdk/runtime/djapp/apps.py,sha256=jJ_Gev5D_3nZa632IVnNoU1y54QaEaZsrmFAUC9uMcM,1655
36
+ mpt_extension_sdk/runtime/djapp/middleware.py,sha256=lRi2U7rq5r8diqcJYCjO-bXxmzhCAFo7yikWDp_v9LQ,652
37
+ mpt_extension_sdk/runtime/djapp/conf/__init__.py,sha256=zT_Ep9clWx3oXT6EJwY15vUrtk98TqbedXLV0MXptsw,401
38
+ mpt_extension_sdk/runtime/djapp/conf/default.py,sha256=ZjyqHXq8qMJqKWMqnQ2EcRv2eJv7h43GA6njEhMs9R4,6445
39
+ mpt_extension_sdk/runtime/djapp/conf/urls.py,sha256=g-h1vzwDgCGLliSE2BDjb1eRJevZxZ7ehJrqSis12So,309
40
+ mpt_extension_sdk/runtime/djapp/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ mpt_extension_sdk/runtime/djapp/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ mpt_extension_sdk/runtime/djapp/management/commands/consume_events.py,sha256=C7KPtN03ipPxMvlmHSqWqThzKl77OYELvMAoNMQ7WI8,1425
43
+ mpt_extension_sdk/runtime/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
+ mpt_extension_sdk/runtime/events/dispatcher.py,sha256=YQvGG_GseHKRbJrmpqY1Uhcmk3CSTxHEj61A8fmVm2k,3195
45
+ mpt_extension_sdk/runtime/events/producers.py,sha256=RADf3IWpEwEGMJUVU4t0b4De2MaJGpRew0HUIWC5RW4,3753
46
+ mpt_extension_sdk/runtime/events/utils.py,sha256=GybK8Qs9Xj03Qqm98ulKeZzPiz92L-G9CwMwhZhBnkk,2747
47
+ mpt_extension_sdk/swo_rql/__init__.py,sha256=QrvRDYhpK-Pd3OF-U2aMeazuKm_kbvXwLRIjd9Mm6ok,104
48
+ mpt_extension_sdk/swo_rql/constants.py,sha256=39BZ78OzdU_dIQtoy-Z_5utXqEXRweIFvM9Zfxg9j5M,171
49
+ mpt_extension_sdk/swo_rql/query_builder.py,sha256=CG1dm7uJNPPCwWcf9sRD5zLbz-dtgECkQ_pX4QXpJPw,10825
50
+ mpt_extension_sdk-5.17.2.dist-info/METADATA,sha256=4-GW8TzqwBMI64CDVG0dUsLyqzTjRB2EfHnSwyRmVFo,1347
51
+ mpt_extension_sdk-5.17.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
52
+ mpt_extension_sdk-5.17.2.dist-info/entry_points.txt,sha256=N8T9gBssEOm_UeBf9ABbGqtlnethrumfMoL4hNYWVFA,146
53
+ mpt_extension_sdk-5.17.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
54
+ mpt_extension_sdk-5.17.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.2.1
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,5 @@
1
+ [console_scripts]
2
+ swoext = mpt_extension_sdk.runtime.swoext:main
3
+
4
+ [swo.mpt.sdk]
5
+ app_config = mpt_extension_sdk.runtime.djapp.apps:ExtensionConfig
@@ -1,45 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: mpt-extension-sdk
3
- Version: 4.5.0
4
- Summary: Extensions SDK for SoftwareONE Marketplace Platform
5
- License: Apache-2.0
6
- License-File: LICENSE
7
- Author: SoftwareOne AG
8
- Requires-Python: >=3.12,<4
9
- Classifier: License :: OSI Approved :: Apache Software License
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.12
12
- Classifier: Programming Language :: Python :: 3.13
13
- Classifier: Programming Language :: Python :: 3.14
14
- Requires-Dist: azure-identity (>=1.21.0,<2.0.0)
15
- Requires-Dist: azure-keyvault-secrets (>=4.9.0,<5.0.0)
16
- Requires-Dist: azure-monitor-opentelemetry-exporter (==1.0.0b25)
17
- Requires-Dist: click (==8.1.*)
18
- Requires-Dist: debugpy (==1.8.*)
19
- Requires-Dist: django (==4.2.*)
20
- Requires-Dist: django-ninja (==1.1.*)
21
- Requires-Dist: gunicorn (==23.0.*)
22
- Requires-Dist: jinja2 (==3.1.*)
23
- Requires-Dist: markdown-it-py (==3.0.*)
24
- Requires-Dist: openpyxl (==3.1.*)
25
- Requires-Dist: opentelemetry-api (==1.30.*)
26
- Requires-Dist: opentelemetry-instrumentation-django (==0.51b0)
27
- Requires-Dist: opentelemetry-instrumentation-logging (==0.51b0)
28
- Requires-Dist: opentelemetry-instrumentation-requests (==0.51b0)
29
- Requires-Dist: opentelemetry-sdk (==1.30.*)
30
- Requires-Dist: phonenumbers (==8.13.*)
31
- Requires-Dist: pyairtable (==2.3.*)
32
- Requires-Dist: pyfiglet (==1.0.*)
33
- Requires-Dist: pyjwt (==2.8.*)
34
- Requires-Dist: pymsteams (==0.2.*)
35
- Requires-Dist: regex (>=2024.7.24,<2025.0.0)
36
- Requires-Dist: requests (==2.32.*)
37
- Requires-Dist: rich (==13.7.*)
38
- Requires-Dist: types-openpyxl (==3.1.*)
39
- Requires-Dist: typing-extensions (==4.14.*)
40
- Requires-Dist: watchfiles (==0.21.*)
41
- Description-Content-Type: text/markdown
42
-
43
- # swo-extension-sdk
44
- SDK for SoftwareONE python extensions
45
-
@@ -1,53 +0,0 @@
1
- mpt_extension_sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- mpt_extension_sdk/airtable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- mpt_extension_sdk/airtable/wrap_http_error.py,sha256=Shiy4uwpdpgkevooLjhpe1grhgJRj7cV6lUMMCQKogc,1263
4
- mpt_extension_sdk/constants.py,sha256=rlO7WRImnzrb41zlkjka25CQQtEYid-0iGaupg_pk_k,485
5
- mpt_extension_sdk/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- mpt_extension_sdk/core/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- mpt_extension_sdk/core/events/dataclasses.py,sha256=wBxjEmjzIwpSH4trpCQKYQPNzONBAgr8eQzTr3ulzkA,469
8
- mpt_extension_sdk/core/events/registry.py,sha256=RbiAem_FZk4W137xTILm0hRav46pII1dgXxVriBDxOo,1268
9
- mpt_extension_sdk/core/extension.py,sha256=s0QE2s99RMywfKQRZrYqOdWxELQvlFFVZMwm0xo2hhw,266
10
- mpt_extension_sdk/core/security.py,sha256=0eCed1cmaNK1rCpgnsN9zw6wzr4m_Qb9aKxscO0uyYk,1419
11
- mpt_extension_sdk/core/utils.py,sha256=LsvciwlVBJCBbd7L1rIWrTo_8Fi-W_SkL6IEezKUb4s,362
12
- mpt_extension_sdk/flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- mpt_extension_sdk/flows/context.py,sha256=J_U9nTtY89mUvrcOqdgpk-21F8f6YENSmjxgpVK6XWs,964
14
- mpt_extension_sdk/flows/pipeline.py,sha256=3BO5X3jvuYnRTWrXRzImjVCVOCut8dSvkT2LZwfpaZk,1374
15
- mpt_extension_sdk/key_vault/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- mpt_extension_sdk/key_vault/base.py,sha256=RVG_Wiq-MrPyngJ4gfUd8oxoh1LUop1SvtCM2xdlx8M,3361
17
- mpt_extension_sdk/mpt_http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- mpt_extension_sdk/mpt_http/base.py,sha256=3qgo9BW-uTRAbex26urMvLZU0fwnYnBprDRIJCHvTOk,1284
19
- mpt_extension_sdk/mpt_http/mpt.py,sha256=4o1nVuQF_KfHD9svmb0B9yPjyVC-L_Jg8et8qL5AXpE,16040
20
- mpt_extension_sdk/mpt_http/utils.py,sha256=3wJTT84CXYGjZw6FksNDX8tIHijkL3Wcmld9r6Iz0xc,95
21
- mpt_extension_sdk/mpt_http/wrap_http_error.py,sha256=j8K6Ddx7NiM-FPRMQi25vuULAW8LXxzZ4EwuIJufxis,1801
22
- mpt_extension_sdk/runtime/__init__.py,sha256=PQSAz9qvXHbxrn4KvuXSHB8y-A4Jpgbm6ZV-wPiNPyw,194
23
- mpt_extension_sdk/runtime/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- mpt_extension_sdk/runtime/commands/django.py,sha256=j0UC9WKhaTi-sxwV4F-ZF3SE-657-Ucu_jEG0mIzJU4,1229
25
- mpt_extension_sdk/runtime/commands/run.py,sha256=j-2eI4JJj4VNgVmES5tqKe1Pe2aKWgYchhpvT8Koq7Q,1146
26
- mpt_extension_sdk/runtime/djapp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- mpt_extension_sdk/runtime/djapp/apps.py,sha256=YA1G5HaRqFBS-0DfYQuFpMgzUCYpu5T8x5LEC6MwI_M,1398
28
- mpt_extension_sdk/runtime/djapp/conf/__init__.py,sha256=_sHo76rGeXSTH8bW3pacyGFfNYSln8oLRwOSstYOmco,350
29
- mpt_extension_sdk/runtime/djapp/conf/default.py,sha256=9eAB_hRnkok2I7E1NjYHs3x8ifrVc4_ihosm37Qq7Zo,6405
30
- mpt_extension_sdk/runtime/djapp/conf/urls.py,sha256=g-h1vzwDgCGLliSE2BDjb1eRJevZxZ7ehJrqSis12So,309
31
- mpt_extension_sdk/runtime/djapp/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- mpt_extension_sdk/runtime/djapp/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- mpt_extension_sdk/runtime/djapp/management/commands/consume_events.py,sha256=BVb4sgKI2Ep759bDcOH5Qm1xJEewc5-bNt_snspV2ck,1229
34
- mpt_extension_sdk/runtime/djapp/middleware.py,sha256=oAA5khXW6xeUjnOV63pNCF4D7QFVD6PayIa_489KRmg,555
35
- mpt_extension_sdk/runtime/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- mpt_extension_sdk/runtime/events/dispatcher.py,sha256=ZMswk50vGGfUgKeQ2Cc3k9wtrm63z0OH7EtlKCkWQYM,3008
37
- mpt_extension_sdk/runtime/events/producers.py,sha256=lsHFfBxL5czZEAqZEyaIDZ-l8Q1T5_OhH5BGiXqw4Bk,3597
38
- mpt_extension_sdk/runtime/events/utils.py,sha256=bxFo-iQUqEJDqcIotC88Ty3Xt0K2FyYjA9UMWFEyMKI,2663
39
- mpt_extension_sdk/runtime/initializer.py,sha256=V8fubCULUJlvCBkYhJM52GUNoHNWVI-siaecmZv3kzk,2154
40
- mpt_extension_sdk/runtime/logging.py,sha256=wJ6KyvnuvMZELI1Hd0fYbuHr7YiP3GIXFBvvSdmd7nQ,885
41
- mpt_extension_sdk/runtime/master.py,sha256=ALbtAsb6ubhWcEpAXpzHSZixYXZ3Qfdf2ttOLb04nlc,4536
42
- mpt_extension_sdk/runtime/swoext.py,sha256=LS0YZXwQsHDaYjalDGfYQi5cAL3aKQhphf3chrNmNBk,1665
43
- mpt_extension_sdk/runtime/tracer.py,sha256=Mvt1BKBdSvb4FlOcjUDhIKEXmiYETrFGgHdhOQwEr7g,415
44
- mpt_extension_sdk/runtime/utils.py,sha256=FWMsGCTPxgKPX8lbCpfCu-ZWuJCqnXZHVbt9bUHVJX4,4505
45
- mpt_extension_sdk/runtime/workers.py,sha256=8KdI6neBEiMcc0zha8toCsZutvK2BhEXxb8NdTMrNO4,2677
46
- mpt_extension_sdk/swo_rql/__init__.py,sha256=QrvRDYhpK-Pd3OF-U2aMeazuKm_kbvXwLRIjd9Mm6ok,104
47
- mpt_extension_sdk/swo_rql/constants.py,sha256=39BZ78OzdU_dIQtoy-Z_5utXqEXRweIFvM9Zfxg9j5M,171
48
- mpt_extension_sdk/swo_rql/query_builder.py,sha256=XAoMYV1jaAouYjpqrh8nMaDNzD0as-BhMx8rsvdeZ0k,10500
49
- mpt_extension_sdk-4.5.0.dist-info/METADATA,sha256=rpA1rtC1fk0Y6Y6MxLBKEUpb9FBIq4zxLzkZ1lyFzxw,1708
50
- mpt_extension_sdk-4.5.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
51
- mpt_extension_sdk-4.5.0.dist-info/entry_points.txt,sha256=8uZQihFseK4Kp5XWHl9EDYneg-CLS8BFO-ygp0h34nc,143
52
- mpt_extension_sdk-4.5.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
53
- mpt_extension_sdk-4.5.0.dist-info/RECORD,,
@@ -1,6 +0,0 @@
1
- [console_scripts]
2
- swoext=mpt_extension_sdk.runtime.swoext:main
3
-
4
- [swo.mpt.sdk]
5
- app_config=mpt_extension_sdk.runtime.djapp.apps:ExtensionConfig
6
-