cuenca 0.15.10.dev0__tar.gz → 0.15.11.dev0__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 (106) hide show
  1. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/PKG-INFO +4 -1
  2. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/http/client.py +17 -28
  3. cuenca-0.15.11.dev0/cuenca/resources/questionnaires.py +40 -0
  4. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/version.py +1 -1
  5. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/PKG-INFO +4 -1
  6. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/SOURCES.txt +1 -0
  7. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/http/test_client.py +2 -13
  8. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/LICENSE +0 -0
  9. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/README.md +0 -0
  10. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/__init__.py +0 -0
  11. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/exc.py +0 -0
  12. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/http/__init__.py +0 -0
  13. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/jwt.py +0 -0
  14. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/py.typed +0 -0
  15. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/__init__.py +0 -0
  16. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/accounts.py +0 -0
  17. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/api_keys.py +0 -0
  18. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/arpc.py +0 -0
  19. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/balance_entries.py +0 -0
  20. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/base.py +0 -0
  21. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/bill_payments.py +0 -0
  22. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/card_activations.py +0 -0
  23. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/card_transactions.py +0 -0
  24. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/card_validations.py +0 -0
  25. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/cards.py +0 -0
  26. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/cash_references.py +0 -0
  27. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/clabes.py +0 -0
  28. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/commissions.py +0 -0
  29. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/curp_validations.py +0 -0
  30. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/deposits.py +0 -0
  31. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/endpoints.py +0 -0
  32. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/file_batches.py +0 -0
  33. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/files.py +0 -0
  34. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/identities.py +0 -0
  35. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/identity_events.py +0 -0
  36. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/kyc_validations.py +0 -0
  37. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/kyc_verifications.py +0 -0
  38. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/limited_wallets.py +0 -0
  39. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/login_tokens.py +0 -0
  40. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/platforms.py +0 -0
  41. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/resources.py +0 -0
  42. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/savings.py +0 -0
  43. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/service_providers.py +0 -0
  44. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/sessions.py +0 -0
  45. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/statements.py +0 -0
  46. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/transfers.py +0 -0
  47. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_credentials.py +0 -0
  48. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_events.py +0 -0
  49. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_lists_validation.py +0 -0
  50. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_logins.py +0 -0
  51. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/users.py +0 -0
  52. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/verifications.py +0 -0
  53. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/wallet_transactions.py +0 -0
  54. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/webhooks.py +0 -0
  55. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/whatsapp_transfers.py +0 -0
  56. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/dependency_links.txt +0 -0
  57. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/requires.txt +0 -0
  58. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/top_level.txt +0 -0
  59. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/setup.cfg +0 -0
  60. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/setup.py +0 -0
  61. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/__init__.py +0 -0
  62. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/conftest.py +0 -0
  63. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/http/__init__.py +0 -0
  64. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/http/conftest.py +0 -0
  65. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/__init__.py +0 -0
  66. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_accounts.py +0 -0
  67. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_api_keys.py +0 -0
  68. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_arpc.py +0 -0
  69. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_balance_entries.py +0 -0
  70. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_bill_payments.py +0 -0
  71. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_card_activations.py +0 -0
  72. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_card_transactions.py +0 -0
  73. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_card_validations.py +0 -0
  74. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_cards.py +0 -0
  75. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_cash_references.py +0 -0
  76. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_clabes.py +0 -0
  77. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_commissions.py +0 -0
  78. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_curp_validations.py +0 -0
  79. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_deposits.py +0 -0
  80. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_endpoints.py +0 -0
  81. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_file_batches.py +0 -0
  82. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_files.py +0 -0
  83. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_identities.py +0 -0
  84. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_identity_events.py +0 -0
  85. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_kyc_validations.py +0 -0
  86. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_kyc_verifications.py +0 -0
  87. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_limited_wallets.py +0 -0
  88. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_login_tokens.py +0 -0
  89. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_platforms.py +0 -0
  90. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_resources.py +0 -0
  91. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_savings.py +0 -0
  92. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_service_providers.py +0 -0
  93. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_sessions.py +0 -0
  94. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_statements.py +0 -0
  95. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_transfers.py +0 -0
  96. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_credentials.py +0 -0
  97. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_events.py +0 -0
  98. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_lists_validation.py +0 -0
  99. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_logins.py +0 -0
  100. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_users.py +0 -0
  101. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_verifications.py +0 -0
  102. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_wallet_transactions.py +0 -0
  103. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_webhooks.py +0 -0
  104. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_whatsapp_transfers.py +0 -0
  105. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/test_cuenca.py +0 -0
  106. {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/test_jwt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cuenca
3
- Version: 0.15.10.dev0
3
+ Version: 0.15.11.dev0
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -14,6 +14,9 @@ Classifier: Operating System :: OS Independent
14
14
  Requires-Python: >=3.6
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
+ Requires-Dist: requests<28,>=2.24
18
+ Requires-Dist: dataclasses>=0.7; python_version < "3.7"
19
+ Requires-Dist: cuenca-validations<0.12.0,>=0.11.3
17
20
 
18
21
  # Cuenca – Python client library
19
22
 
@@ -12,7 +12,6 @@ from cuenca_validations.typing import (
12
12
  OptionalDict,
13
13
  )
14
14
  from requests import Response
15
- from requests.adapters import HTTPAdapter, Retry
16
15
 
17
16
  from ..exc import CuencaResponseException
18
17
  from ..jwt import Jwt
@@ -28,29 +27,17 @@ class Session:
28
27
  headers: DictStrAny = {}
29
28
  basic_auth: Tuple[str, str]
30
29
  jwt_token: Optional[Jwt] = None
31
- session: requests.Session
32
- timeout: int = 30
33
- retries: int = 3
34
- backoff_factor: float = 0.4
35
30
 
36
31
  def __init__(self):
37
- self.session = requests.Session()
38
32
  self.headers = {
39
33
  'X-Cuenca-Api-Version': API_VERSION,
40
34
  'User-Agent': f'cuenca-python/{CLIENT_VERSION}',
41
35
  }
36
+
42
37
  # basic auth
43
38
  api_key = os.getenv('CUENCA_API_KEY', '')
44
39
  api_secret = os.getenv('CUENCA_API_SECRET', '')
45
40
  self.basic_auth = (api_key, api_secret)
46
- retry = Retry(
47
- total=self.retries,
48
- backoff_factor=self.backoff_factor,
49
- read=self.retries,
50
- )
51
- adapter = HTTPAdapter(max_retries=retry)
52
- self.session.mount("https://", adapter)
53
- print('Retry adapter mounted')
54
41
 
55
42
  @property
56
43
  def auth(self) -> Optional[Tuple[str, str]]:
@@ -115,20 +102,22 @@ class Session:
115
102
  data: OptionalDict = None,
116
103
  **kwargs,
117
104
  ) -> bytes:
118
- if self.jwt_token:
119
- if self.jwt_token.is_expired:
120
- self.jwt_token = Jwt.create(self)
121
- self.session.headers['X-Cuenca-Token'] = self.jwt_token.token
122
-
123
- resp = self.session.request(
124
- method=method,
125
- url='https://' + self.host + urljoin('/', endpoint),
126
- auth=self.auth,
127
- json=json.loads(JSONEncoder().encode(data)),
128
- params=params,
129
- timeout=self.timeout,
130
- **kwargs,
131
- )
105
+ resp = None
106
+ with requests.Session() as session:
107
+ session.headers = self.headers # type: ignore
108
+ if self.jwt_token:
109
+ if self.jwt_token.is_expired:
110
+ self.jwt_token = Jwt.create(self)
111
+ self.headers['X-Cuenca-Token'] = self.jwt_token.token
112
+ session.headers = self.headers # type: ignore
113
+ resp = session.request( # type: ignore
114
+ method=method,
115
+ url='https://' + self.host + urljoin('/', endpoint),
116
+ auth=self.auth,
117
+ json=json.loads(JSONEncoder().encode(data)),
118
+ params=params,
119
+ **kwargs,
120
+ )
132
121
  self._check_response(resp)
133
122
  return resp.content
134
123
 
@@ -0,0 +1,40 @@
1
+ import datetime as dt
2
+ from typing import ClassVar, cast
3
+
4
+ from cuenca_validations.types import QuestionnaireRequest
5
+
6
+ from ..http import Session, session as global_session
7
+ from .base import Creatable, Retrievable
8
+
9
+
10
+ class Questionnaires(Creatable, Retrievable):
11
+ _resource: ClassVar = 'questionnaires'
12
+
13
+ created_at: dt.datetime
14
+
15
+ class Config:
16
+ schema_extra = {
17
+ 'example': {
18
+ 'user_id': 'US234i23jh23h4h23',
19
+ 'token': '3223j23ij23ij3',
20
+ 'alert_id': 'ALewifjwiejf',
21
+ }
22
+ }
23
+
24
+ @classmethod
25
+ def create(
26
+ cls,
27
+ user_id: str,
28
+ token: str,
29
+ alert_id: str,
30
+ *,
31
+ session: Session = global_session,
32
+ ) -> 'Questionnaires':
33
+ req = QuestionnaireRequest(
34
+ user_id=user_id,
35
+ token=token,
36
+ alert_id=alert_id,
37
+ )
38
+ return cast(
39
+ 'Questionnaires', cls._create(session=session, **req.dict())
40
+ )
@@ -1,3 +1,3 @@
1
- __version__ = '0.15.10.dev0'
1
+ __version__ = '0.15.11.dev0'
2
2
  CLIENT_VERSION = __version__
3
3
  API_VERSION = '2020-03-19'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cuenca
3
- Version: 0.15.10.dev0
3
+ Version: 0.15.11.dev0
4
4
  Summary: Cuenca API Client
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-python
6
6
  Author: Cuenca
@@ -14,6 +14,9 @@ Classifier: Operating System :: OS Independent
14
14
  Requires-Python: >=3.6
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
+ Requires-Dist: requests<28,>=2.24
18
+ Requires-Dist: dataclasses>=0.7; python_version < "3.7"
19
+ Requires-Dist: cuenca-validations<0.12.0,>=0.11.3
17
20
 
18
21
  # Cuenca – Python client library
19
22
 
@@ -40,6 +40,7 @@ cuenca/resources/kyc_verifications.py
40
40
  cuenca/resources/limited_wallets.py
41
41
  cuenca/resources/login_tokens.py
42
42
  cuenca/resources/platforms.py
43
+ cuenca/resources/questionnaires.py
43
44
  cuenca/resources/resources.py
44
45
  cuenca/resources/savings.py
45
46
  cuenca/resources/service_providers.py
@@ -1,6 +1,6 @@
1
1
  import datetime as dt
2
- from unittest.mock import patch, Mock
3
- from requests.exceptions import Timeout
2
+ from unittest.mock import patch
3
+
4
4
  import pytest
5
5
  from cuenca_validations.errors import (
6
6
  NoPasswordFoundError,
@@ -90,14 +90,3 @@ def test_no_password():
90
90
  def test_no_session():
91
91
  with pytest.raises(UserNotLoggedInError):
92
92
  Transfer.count()
93
-
94
-
95
- def test_timeout_raises():
96
- session = Session()
97
- session.configure(
98
- api_key='USER_API_KEY', api_secret='USER_SECRET', sandbox=True
99
- )
100
- with patch('requests.Session.request', side_effect=Timeout()) as mock_timeout:
101
- with pytest.raises(Timeout):
102
- Card.first(user_id='USER_ID', session=session)
103
- assert mock_timeout.call_count == 3
File without changes
File without changes
File without changes
File without changes