mpt-extension-sdk 5.2.4__tar.gz → 5.3.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.
Files changed (52) hide show
  1. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/PKG-INFO +1 -1
  2. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/mpt_http/mpt.py +21 -14
  3. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/pyproject.toml +1 -1
  4. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/.gitignore +0 -0
  5. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/LICENSE +0 -0
  6. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/README.md +0 -0
  7. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/__init__.py +0 -0
  8. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/airtable/__init__.py +0 -0
  9. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/airtable/wrap_http_error.py +0 -0
  10. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/constants.py +0 -0
  11. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/core/__init__.py +0 -0
  12. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/core/events/__init__.py +0 -0
  13. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/core/events/dataclasses.py +0 -0
  14. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/core/events/registry.py +0 -0
  15. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/core/extension.py +0 -0
  16. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/core/security.py +0 -0
  17. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/core/utils.py +0 -0
  18. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/flows/__init__.py +0 -0
  19. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/flows/context.py +0 -0
  20. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/flows/pipeline.py +0 -0
  21. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/key_vault/__init__.py +0 -0
  22. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/key_vault/base.py +0 -0
  23. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/mpt_http/__init__.py +0 -0
  24. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/mpt_http/base.py +0 -0
  25. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/mpt_http/utils.py +0 -0
  26. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/mpt_http/wrap_http_error.py +0 -0
  27. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/__init__.py +0 -0
  28. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/commands/__init__.py +0 -0
  29. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/commands/django.py +0 -0
  30. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/commands/run.py +0 -0
  31. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/__init__.py +0 -0
  32. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/apps.py +0 -0
  33. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/conf/__init__.py +0 -0
  34. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/conf/default.py +0 -0
  35. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/conf/urls.py +0 -0
  36. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/management/__init__.py +0 -0
  37. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/management/commands/__init__.py +0 -0
  38. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/management/commands/consume_events.py +0 -0
  39. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/djapp/middleware.py +0 -0
  40. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/events/__init__.py +0 -0
  41. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/events/dispatcher.py +0 -0
  42. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/events/producers.py +0 -0
  43. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/events/utils.py +0 -0
  44. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/initializer.py +0 -0
  45. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/logging.py +0 -0
  46. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/master.py +0 -0
  47. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/swoext.py +0 -0
  48. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/utils.py +0 -0
  49. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/runtime/workers.py +0 -0
  50. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/swo_rql/__init__.py +0 -0
  51. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/swo_rql/constants.py +0 -0
  52. {mpt_extension_sdk-5.2.4 → mpt_extension_sdk-5.3.0}/mpt_extension_sdk/swo_rql/query_builder.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mpt-extension-sdk
3
- Version: 5.2.4
3
+ Version: 5.3.0
4
4
  Summary: Extensions SDK for SoftwareONE Marketplace Platform
5
5
  Author: SoftwareOne AG
6
6
  License: Apache-2.0 license
@@ -382,25 +382,12 @@ def notify(
382
382
  subject: str,
383
383
  message_body: str,
384
384
  limit: int = 1000,
385
- ):
385
+ ) -> None:
386
386
  """
387
387
  Sends notifications to multiple recipients in batches for a specific buyer and
388
388
  category through the MPTClient service. The function retrieves recipients,
389
389
  groups them into manageable batches, and sends notifications using the provided
390
390
  message details.
391
-
392
- Args:
393
- mpt_client (MPTClient): Client object for interacting with MPT service.
394
- category_id (str): Identifier for the category of recipients or messages.
395
- account_id (str): Identifier for the associated account.
396
- buyer_id (str): Identifier for the buyer related to the notification.
397
- subject (str): Subject/title of the notification to be sent.
398
- message_body (str): Content/body of the notification message.
399
- limit (int): Maximum number of recipients to process per batch. Defaults
400
- to 1000.
401
-
402
- Returns:
403
- None
404
391
  """
405
392
  recipients = _paginated(
406
393
  mpt_client,
@@ -424,3 +411,23 @@ def notify(
424
411
  },
425
412
  )
426
413
  response.raise_for_status()
414
+
415
+
416
+ @wrap_mpt_http_error
417
+ def terminate_subscription(
418
+ mpt_client: MPTClient, subscription_id: str, reason: str
419
+ ) -> dict:
420
+ """
421
+ Terminates a subscription by calling the MPT API.
422
+
423
+ Raises:
424
+ HTTPError: If the HTTP request fails, an HTTPError is raised with
425
+ information about the issue.
426
+ """
427
+ response = mpt_client.post(
428
+ f"/commerce/subscriptions/{subscription_id}/terminate",
429
+ json={"description": reason},
430
+ )
431
+ response.raise_for_status()
432
+
433
+ return response.json()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mpt-extension-sdk"
3
- version = "5.2.4"
3
+ version = "5.3.0"
4
4
  description = "Extensions SDK for SoftwareONE Marketplace Platform"
5
5
  authors = [{ name = "SoftwareOne AG" }]
6
6
  requires-python = ">=3.12,<4"