python-terminusgps 50.1.5__tar.gz → 50.2.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 (44) hide show
  1. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/PKG-INFO +1 -1
  2. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/conf.py +1 -1
  3. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/pyproject.toml +1 -1
  4. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/api/address_profiles.py +2 -2
  5. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/api/payment_profiles.py +22 -32
  6. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/uv.lock +1 -1
  7. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/.github/workflows/sphinx.yml +0 -0
  8. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/.gitignore +0 -0
  9. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/.python-version +0 -0
  10. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/COPYING +0 -0
  11. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/README.md +0 -0
  12. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/Makefile +0 -0
  13. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/make.bat +0 -0
  14. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/requirements.txt +0 -0
  15. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/authorizenet/api.rst +0 -0
  16. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/authorizenet/constants.rst +0 -0
  17. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/authorizenet/index.rst +0 -0
  18. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/authorizenet/service.rst +0 -0
  19. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/index.rst +0 -0
  20. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/mixins.rst +0 -0
  21. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/validators.rst +0 -0
  22. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/wialon/constants.rst +0 -0
  23. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/wialon/exceptions.rst +0 -0
  24. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/wialon/index.rst +0 -0
  25. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/wialon/items.rst +0 -0
  26. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/wialon/session.rst +0 -0
  27. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/wialon/usage.rst +0 -0
  28. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/docs/source/wialon/utils.rst +0 -0
  29. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/__init__.py +0 -0
  30. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/__init__.py +0 -0
  31. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/api/__init__.py +0 -0
  32. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/api/customer_profiles.py +0 -0
  33. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/api/subscriptions.py +0 -0
  34. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/api/transactions.py +0 -0
  35. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/constants.py +0 -0
  36. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/authorizenet/service.py +0 -0
  37. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/default_settings.py +0 -0
  38. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/mixins.py +0 -0
  39. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/validators.py +0 -0
  40. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/wialon/__init__.py +0 -0
  41. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/wialon/constants.py +0 -0
  42. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/wialon/flags.py +0 -0
  43. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/wialon/session.py +0 -0
  44. {python_terminusgps-50.1.5 → python_terminusgps-50.2.0}/terminusgps/wialon/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-terminusgps
3
- Version: 50.1.5
3
+ Version: 50.2.0
4
4
  Summary: Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more.
5
5
  Project-URL: Documentation, https://terminusgps.github.io/python-terminusgps
6
6
  Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
@@ -12,7 +12,7 @@ sys.path.insert(0, os.path.abspath("../../"))
12
12
  project = "python-terminusgps"
13
13
  copyright = "2025, Terminus GPS, LLC"
14
14
  author = "Terminus GPS, LLC"
15
- release = "50.1.5"
15
+ release = "50.2.0"
16
16
 
17
17
  # -- General configuration ---------------------------------------------------
18
18
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-terminusgps"
3
- version = "50.1.5"
3
+ version = "50.2.0"
4
4
  description = "Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more."
5
5
  readme = "README.md"
6
6
  authors = [ {name = "Blake Nall", email = "blake@terminusgps.com" } ]
@@ -59,7 +59,7 @@ def update_customer_shipping_address(
59
59
  customer_profile_id: int,
60
60
  address_profile_id: int,
61
61
  address: apicontractsv1.customerAddressType,
62
- default: bool = False,
62
+ default: bool,
63
63
  ) -> tuple[ObjectifiedElement, type[APIOperationBase]]:
64
64
  """
65
65
  `updateCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-shipping-address>`_.
@@ -71,7 +71,7 @@ def update_customer_shipping_address(
71
71
  :type address: ~authorizenet.apicontractsv1.customerAddressType
72
72
  :param address: An Authorizenet customer address element.
73
73
  :type address: ~authorizenet.apicontractsv1.customerAddressType
74
- :param default: Whether to set the address profile as default. Default is :py:obj:`False`.
74
+ :param default: Whether to set the address profile as default.
75
75
  :type default: bool
76
76
  :returns: A tuple containing an Authorizenet API request element and controller class.
77
77
  :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]]
@@ -16,7 +16,7 @@ def create_customer_payment_profile(
16
16
  payment: apicontractsv1.paymentType,
17
17
  address: apicontractsv1.customerAddressType,
18
18
  default: bool = False,
19
- validation: str | None = None,
19
+ validation: str = "liveMode",
20
20
  ) -> tuple[ObjectifiedElement, type[APIOperationBase]]:
21
21
  """
22
22
  `createCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-payment-profile>`_.
@@ -29,21 +29,19 @@ def create_customer_payment_profile(
29
29
  :type address: ~authorizenet.apicontractsv1.customerAddressType
30
30
  :param default: Whether to set the payment profile as default. Default is :py:obj:`False`.
31
31
  :type default: bool
32
- :param validation: Validation mode to use when validating the payment profile. If not provided, the payment profile is not validated. Default is :py:obj:`None`.
33
- :type validation: str | None
32
+ :param validation: Validation mode. Default is :py:obj:`"liveMode"`.
33
+ :type validation: str
34
34
  :returns: A tuple containing an Authorizenet API request element and controller class.
35
35
  :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]]
36
36
 
37
37
  """
38
38
  request = apicontractsv1.createCustomerPaymentProfileRequest()
39
39
  request.customerProfileId = str(customer_profile_id)
40
+ request.validationMode = str(validation).lower()
40
41
  request.paymentProfile = apicontractsv1.customerPaymentProfileType()
41
42
  request.paymentProfile.payment = payment
42
43
  request.paymentProfile.billTo = address
43
44
  request.paymentProfile.defaultPaymentProfile = str(default).lower()
44
-
45
- if validation is not None:
46
- request.validationMode = str(validation)
47
45
  return request, apicontrollers.createCustomerPaymentProfileController
48
46
 
49
47
 
@@ -73,7 +71,9 @@ def get_customer_payment_profile(
73
71
 
74
72
 
75
73
  def validate_customer_payment_profile(
76
- customer_profile_id: int, payment_profile_id: int, validation: str
74
+ customer_profile_id: int,
75
+ payment_profile_id: int,
76
+ validation: str = "liveMode",
77
77
  ) -> tuple[ObjectifiedElement, type[APIOperationBase]]:
78
78
  """
79
79
  `validateCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-validate-customer-payment-profile>`_.
@@ -82,7 +82,7 @@ def validate_customer_payment_profile(
82
82
  :type customer_profile_id: int
83
83
  :param payment_profile_id: An Authorizenet customer payment profile id.
84
84
  :type payment_profile_id: int
85
- :param validation: Validation mode to use when validating the payment profile.
85
+ :param validation: Validation mode. Default is :py:obj:`"liveMode"`.
86
86
  :type validation: str
87
87
  :returns: A tuple containing an Authorizenet API request element and controller class.
88
88
  :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]]
@@ -98,10 +98,10 @@ def validate_customer_payment_profile(
98
98
  def update_customer_payment_profile(
99
99
  customer_profile_id: int,
100
100
  payment_profile_id: int,
101
- payment: apicontractsv1.paymentType | None = None,
102
- address: apicontractsv1.customerAddressType | None = None,
103
- default: bool | None = None,
104
- validation: str | None = None,
101
+ payment: apicontractsv1.paymentType,
102
+ address: apicontractsv1.customerAddressType,
103
+ default: bool,
104
+ validation: str = "liveMode",
105
105
  ) -> tuple[ObjectifiedElement, type[APIOperationBase]]:
106
106
  """
107
107
  `updateCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-payment-profile>`_.
@@ -111,36 +111,26 @@ def update_customer_payment_profile(
111
111
  :param payment_profile_id: An Authorizenet customer payment profile id.
112
112
  :type payment_profile_id: int
113
113
  :param payment: An Authorizenet payment element.
114
- :type payment: ~authorizenet.apicontractsv1.paymentType | None
114
+ :type payment: ~authorizenet.apicontractsv1.paymentType
115
115
  :param address: An Authorizenet address element.
116
- :type address: ~authorizenet.apicontractsv1.customerAddressType | None
117
- :param default: Whether to set the payment profile as default. If not provided, the payment profile's default state is not updated. Default is :py:obj:`None`.
118
- :type default: bool | None
119
- :param validation: Validation mode to use when validating the payment profile. If not provided, the payment profile is not validated. Default is :py:obj:`None`.
120
- :type validation: str | None
116
+ :type address: ~authorizenet.apicontractsv1.customerAddressType
117
+ :param default: Whether to set the payment profile as default.
118
+ :type default: bool
119
+ :param validation: Validation mode. Default is :py:obj:`"liveMode"`.
120
+ :type validation: str
121
121
  :raises ValueError: If neither payment nor address was provided.
122
122
  :returns: A tuple containing an Authorizenet API request element and controller class.
123
123
  :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]]
124
124
 
125
125
  """
126
- if all([payment is None, address is None, default is None]):
127
- raise ValueError(
128
- f"At least one of 'payment', 'address' or 'default' is required, got '{payment}', '{address}' and '{default}'."
129
- )
130
-
131
126
  request = apicontractsv1.updateCustomerPaymentProfileRequest()
132
127
  request.customerProfileId = str(customer_profile_id)
128
+ request.validationMode = validation
133
129
  request.paymentProfile = apicontractsv1.customerPaymentProfileExType()
134
130
  request.paymentProfile.customerPaymentProfileId = str(payment_profile_id)
135
-
136
- if payment is not None:
137
- request.paymentProfile.payment = payment
138
- if address is not None:
139
- request.paymentProfile.billTo = address
140
- if default is not None:
141
- request.paymentProfile.defaultPaymentProfile = str(default).lower()
142
- if validation is not None:
143
- request.validationMode = str(validation)
131
+ request.paymentProfile.payment = payment
132
+ request.paymentProfile.billTo = address
133
+ request.paymentProfile.defaultPaymentProfile = str(default).lower()
144
134
  return request, apicontrollers.updateCustomerPaymentProfileController
145
135
 
146
136
 
@@ -748,7 +748,7 @@ wheels = [
748
748
 
749
749
  [[package]]
750
750
  name = "python-terminusgps"
751
- version = "50.1.4"
751
+ version = "50.2.0"
752
752
  source = { editable = "." }
753
753
  dependencies = [
754
754
  { name = "authorizenet" },