cuenca 2.0.0.dev4__tar.gz → 2.0.0.dev6__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 (110) hide show
  1. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/PKG-INFO +2 -2
  2. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/__init__.py +2 -0
  3. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/api_keys.py +2 -2
  4. cuenca-2.0.0.dev6/cuenca/resources/jwt.py +12 -0
  5. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/login_tokens.py +7 -1
  6. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/otps.py +2 -2
  7. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/sessions.py +5 -2
  8. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/version.py +1 -1
  9. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca.egg-info/PKG-INFO +2 -2
  10. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca.egg-info/SOURCES.txt +1 -0
  11. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca.egg-info/requires.txt +1 -1
  12. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/setup.py +1 -1
  13. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_api_keys.py +1 -1
  14. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_login_tokens.py +1 -1
  15. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_otps.py +1 -1
  16. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_sessions.py +3 -1
  17. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/LICENSE +0 -0
  18. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/README.md +0 -0
  19. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/__init__.py +0 -0
  20. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/exc.py +0 -0
  21. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/http/__init__.py +0 -0
  22. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/http/client.py +0 -0
  23. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/jwt.py +0 -0
  24. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/py.typed +0 -0
  25. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/accounts.py +0 -0
  26. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/arpc.py +0 -0
  27. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/balance_entries.py +0 -0
  28. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/base.py +0 -0
  29. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/bill_payments.py +0 -0
  30. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/card_activations.py +0 -0
  31. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/card_transactions.py +0 -0
  32. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/card_validations.py +0 -0
  33. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/cards.py +0 -0
  34. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/cash_references.py +0 -0
  35. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/clabes.py +0 -0
  36. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/commissions.py +0 -0
  37. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/curp_validations.py +0 -0
  38. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/deposits.py +0 -0
  39. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/endpoints.py +0 -0
  40. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/file_batches.py +0 -0
  41. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/files.py +0 -0
  42. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/identities.py +0 -0
  43. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/identity_events.py +0 -0
  44. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/kyc_validations.py +0 -0
  45. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/kyc_verifications.py +0 -0
  46. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/limited_wallets.py +0 -0
  47. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/platforms.py +0 -0
  48. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/questionnaires.py +0 -0
  49. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/resources.py +0 -0
  50. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/savings.py +0 -0
  51. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/service_providers.py +0 -0
  52. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/statements.py +0 -0
  53. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/transfers.py +0 -0
  54. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/user_credentials.py +0 -0
  55. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/user_events.py +0 -0
  56. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/user_lists_validation.py +0 -0
  57. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/user_logins.py +0 -0
  58. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/users.py +0 -0
  59. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/verifications.py +0 -0
  60. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/wallet_transactions.py +0 -0
  61. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/webhooks.py +0 -0
  62. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca/resources/whatsapp_transfers.py +0 -0
  63. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca.egg-info/dependency_links.txt +0 -0
  64. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/cuenca.egg-info/top_level.txt +0 -0
  65. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/setup.cfg +0 -0
  66. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/__init__.py +0 -0
  67. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/conftest.py +0 -0
  68. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/http/__init__.py +0 -0
  69. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/http/conftest.py +0 -0
  70. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/http/test_client.py +0 -0
  71. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/__init__.py +0 -0
  72. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_accounts.py +0 -0
  73. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_arpc.py +0 -0
  74. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_balance_entries.py +0 -0
  75. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_bill_payments.py +0 -0
  76. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_card_activations.py +0 -0
  77. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_card_transactions.py +0 -0
  78. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_card_validations.py +0 -0
  79. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_cards.py +0 -0
  80. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_cash_references.py +0 -0
  81. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_clabes.py +0 -0
  82. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_commissions.py +0 -0
  83. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_curp_validations.py +0 -0
  84. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_deposits.py +0 -0
  85. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_endpoints.py +0 -0
  86. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_file_batches.py +0 -0
  87. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_files.py +0 -0
  88. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_identities.py +0 -0
  89. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_identity_events.py +0 -0
  90. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_kyc_validations.py +0 -0
  91. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_kyc_verifications.py +0 -0
  92. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_limited_wallets.py +0 -0
  93. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_platforms.py +0 -0
  94. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_questionnaires.py +0 -0
  95. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_resources.py +0 -0
  96. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_savings.py +0 -0
  97. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_service_providers.py +0 -0
  98. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_statements.py +0 -0
  99. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_transfers.py +0 -0
  100. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_user_credentials.py +0 -0
  101. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_user_events.py +0 -0
  102. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_user_lists_validation.py +0 -0
  103. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_user_logins.py +0 -0
  104. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_users.py +0 -0
  105. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_verifications.py +0 -0
  106. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_wallet_transactions.py +0 -0
  107. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_webhooks.py +0 -0
  108. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/resources/test_whatsapp_transfers.py +0 -0
  109. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/test_cuenca.py +0 -0
  110. {cuenca-2.0.0.dev4 → cuenca-2.0.0.dev6}/tests/test_jwt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cuenca
3
- Version: 2.0.0.dev4
3
+ Version: 2.0.0.dev6
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -16,7 +16,7 @@ Requires-Python: >=3.9
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: requests>=2.32.3
19
- Requires-Dist: cuenca-validations==2.0.0.dev12
19
+ Requires-Dist: cuenca-validations==2.0.0.dev13
20
20
  Requires-Dist: pydantic-extra-types>=2.10.1
21
21
  Dynamic: author
22
22
  Dynamic: author-email
@@ -38,6 +38,7 @@ __all__ = [
38
38
  'WalletTransaction',
39
39
  'Webhook',
40
40
  'WhatsappTransfer',
41
+ 'Jwt',
41
42
  ]
42
43
 
43
44
  from .accounts import Account
@@ -59,6 +60,7 @@ from .file_batches import FileBatch
59
60
  from .files import File
60
61
  from .identities import Identity
61
62
  from .identity_events import IdentityEvent
63
+ from .jwt import Jwt
62
64
  from .kyc_validations import KYCValidation
63
65
  from .kyc_verifications import KYCVerification
64
66
  from .limited_wallets import LimitedWallet
@@ -2,7 +2,7 @@ import datetime as dt
2
2
  from typing import ClassVar, Optional, cast
3
3
 
4
4
  from cuenca_validations.types import ApiKeyQuery, ApiKeyUpdateRequest
5
- from pydantic import ConfigDict
5
+ from pydantic import ConfigDict, SecretStr
6
6
 
7
7
  from ..http import Session, session as global_session
8
8
  from .base import Creatable, Queryable, Retrievable, Updateable
@@ -12,7 +12,7 @@ class ApiKey(Creatable, Queryable, Retrievable, Updateable):
12
12
  _resource: ClassVar = 'api_keys'
13
13
  _query_params: ClassVar = ApiKeyQuery
14
14
 
15
- secret: str
15
+ secret: SecretStr
16
16
  deactivated_at: Optional[dt.datetime] = None
17
17
  user_id: Optional[str] = None
18
18
  model_config = ConfigDict(
@@ -0,0 +1,12 @@
1
+ from typing import ClassVar
2
+
3
+ from pydantic import SecretStr
4
+
5
+ from .base import Creatable
6
+
7
+
8
+ class Jwt(Creatable):
9
+ _resource: ClassVar = 'jwt'
10
+
11
+ token: SecretStr
12
+ api_key: str
@@ -1,13 +1,19 @@
1
1
  from typing import ClassVar, cast
2
2
 
3
- from pydantic import ConfigDict
3
+ from pydantic import ConfigDict, SecretStr
4
4
 
5
5
  from ..http import Session, session as global_session
6
6
  from .base import Creatable
7
7
 
8
8
 
9
+ # mypy: disable-error-code=override
9
10
  class LoginToken(Creatable):
10
11
  _resource: ClassVar = 'login_tokens'
12
+
13
+ # Override the `id` field to be a `SecretStr`
14
+ # To ensure sensitive data is not exposed in logs.
15
+ id: SecretStr # type: ignore
16
+
11
17
  model_config = ConfigDict(
12
18
  json_schema_extra={'example': {'id': 'LTNEUInh69SuKXXmK95sROwQ'}}
13
19
  )
@@ -1,6 +1,6 @@
1
1
  from typing import ClassVar, cast
2
2
 
3
- from pydantic import ConfigDict
3
+ from pydantic import ConfigDict, SecretStr
4
4
 
5
5
  from ..http import Session, session as global_session
6
6
  from .base import Creatable
@@ -8,7 +8,7 @@ from .base import Creatable
8
8
 
9
9
  class Otp(Creatable):
10
10
  _resource: ClassVar = 'otps'
11
- secret: str
11
+ secret: SecretStr
12
12
  model_config = ConfigDict(
13
13
  json_schema_extra={
14
14
  'example': {
@@ -2,16 +2,19 @@ import datetime as dt
2
2
  from typing import ClassVar, Optional, cast
3
3
 
4
4
  from cuenca_validations.types import AnyUrlString, SessionRequest, SessionType
5
- from pydantic import ConfigDict
5
+ from pydantic import ConfigDict, SecretStr
6
6
 
7
7
  from .. import http
8
8
  from .base import Creatable, Queryable, Retrievable
9
9
 
10
10
 
11
+ # mypy: disable-error-code=override
11
12
  class Session(Creatable, Retrievable, Queryable):
12
13
  _resource: ClassVar = 'sessions'
13
14
 
14
- id: str
15
+ # Override the `id` field to be a `SecretStr`
16
+ # To ensure sensitive data is not exposed in logs.
17
+ id: SecretStr = None # type: ignore
15
18
  created_at: dt.datetime
16
19
  user_id: str
17
20
  platform_id: str
@@ -1,3 +1,3 @@
1
- __version__ = '2.0.0.dev4'
1
+ __version__ = '2.0.0.dev6'
2
2
  CLIENT_VERSION = __version__
3
3
  API_VERSION = '2020-03-19'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cuenca
3
- Version: 2.0.0.dev4
3
+ Version: 2.0.0.dev6
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -16,7 +16,7 @@ Requires-Python: >=3.9
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: requests>=2.32.3
19
- Requires-Dist: cuenca-validations==2.0.0.dev12
19
+ Requires-Dist: cuenca-validations==2.0.0.dev13
20
20
  Requires-Dist: pydantic-extra-types>=2.10.1
21
21
  Dynamic: author
22
22
  Dynamic: author-email
@@ -35,6 +35,7 @@ cuenca/resources/file_batches.py
35
35
  cuenca/resources/files.py
36
36
  cuenca/resources/identities.py
37
37
  cuenca/resources/identity_events.py
38
+ cuenca/resources/jwt.py
38
39
  cuenca/resources/kyc_validations.py
39
40
  cuenca/resources/kyc_verifications.py
40
41
  cuenca/resources/limited_wallets.py
@@ -1,3 +1,3 @@
1
1
  requests>=2.32.3
2
- cuenca-validations==2.0.0.dev12
2
+ cuenca-validations==2.0.0.dev13
3
3
  pydantic-extra-types>=2.10.1
@@ -24,7 +24,7 @@ setup(
24
24
  python_requires='>=3.9',
25
25
  install_requires=[
26
26
  'requests>=2.32.3',
27
- 'cuenca-validations==2.0.0.dev12',
27
+ 'cuenca-validations==2.0.0.dev13',
28
28
  'pydantic-extra-types>=2.10.1',
29
29
  ],
30
30
  classifiers=[
@@ -18,7 +18,7 @@ def test_api_keys_retrieve():
18
18
  id_key = 'AKMPSxy2UeSKqU1J6spDNwqA'
19
19
  api_key: ApiKey = ApiKey.retrieve(id_key)
20
20
  assert api_key.id == id_key
21
- assert api_key.secret == '********'
21
+ assert api_key.secret.get_secret_value() == '********'
22
22
 
23
23
 
24
24
  @pytest.mark.vcr
@@ -20,5 +20,5 @@ def test_login_token(session):
20
20
  UserLogin.create('222222', session=session)
21
21
  login_token = LoginToken.create(session=session)
22
22
  session.headers.pop('X-Cuenca-LoginId')
23
- session.configure(login_token=login_token.id)
23
+ session.configure(login_token=login_token.id.get_secret_value())
24
24
  Transfer.count(session=session)
@@ -25,4 +25,4 @@ def test_otps(session):
25
25
  session.configure(login_token=login_token.id)
26
26
  otp = Otp.create()
27
27
  assert otp
28
- assert isinstance(otp.secret, str)
28
+ assert isinstance(otp.secret.get_secret_value(), str)
@@ -36,6 +36,8 @@ def test_session_create(curp_validation_request: dict, user_request: dict):
36
36
  assert user_session.failure_url == failure_url
37
37
 
38
38
  ephimeral_cuenca_session = cuenca.http.Session()
39
- ephimeral_cuenca_session.configure(session_token=user_session.id)
39
+ ephimeral_cuenca_session.configure(
40
+ session_token=user_session.id.get_secret_value()
41
+ )
40
42
  user = User.update(user.id, email_address='manu@example.com')
41
43
  assert user.email_address == 'manu@example.com'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes