cuenca-validations 2.1.1.dev8__tar.gz → 2.1.2.dev1__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 (34) hide show
  1. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/PKG-INFO +1 -1
  2. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/general.py +13 -2
  3. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/identities.py +2 -2
  4. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/requests.py +2 -2
  5. cuenca_validations-2.1.2.dev1/cuenca_validations/version.py +1 -0
  6. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations.egg-info/PKG-INFO +1 -1
  7. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/tests/test_types.py +1 -0
  8. cuenca_validations-2.1.1.dev8/cuenca_validations/version.py +0 -1
  9. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/LICENSE +0 -0
  10. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/README.md +0 -0
  11. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/__init__.py +0 -0
  12. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/card_bins.py +0 -0
  13. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/errors.py +0 -0
  14. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/py.typed +0 -0
  15. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/__init__.py +0 -0
  16. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/card.py +0 -0
  17. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/enums.py +0 -0
  18. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/files.py +0 -0
  19. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/helpers.py +0 -0
  20. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/morals.py +0 -0
  21. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/types/queries.py +0 -0
  22. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/typing.py +0 -0
  23. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations/validators.py +0 -0
  24. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations.egg-info/SOURCES.txt +0 -0
  25. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations.egg-info/dependency_links.txt +0 -0
  26. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations.egg-info/requires.txt +0 -0
  27. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/cuenca_validations.egg-info/top_level.txt +0 -0
  28. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/setup.cfg +0 -0
  29. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/setup.py +0 -0
  30. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/tests/__init__.py +0 -0
  31. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/tests/test_card.py +0 -0
  32. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/tests/test_errors.py +0 -0
  33. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/tests/test_helpers.py +0 -0
  34. {cuenca_validations-2.1.1.dev8 → cuenca_validations-2.1.2.dev1}/tests/test_statement.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cuenca_validations
3
- Version: 2.1.1.dev8
3
+ Version: 2.1.2.dev1
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -2,14 +2,25 @@ import json
2
2
  from dataclasses import dataclass
3
3
  from typing import Annotated, Any, Optional
4
4
 
5
- from pydantic import AnyUrl, Field, HttpUrl, PlainSerializer, StringConstraints
5
+ from pydantic import (
6
+ AnyUrl,
7
+ Field,
8
+ HttpUrl,
9
+ IPvAnyAddress,
10
+ PlainSerializer,
11
+ StringConstraints,
12
+ )
6
13
 
7
14
  from ..validators import sanitize_dict, sanitize_item
8
15
  from .enums import State
9
16
 
17
+ # We use custom serializers for IP addresses and URLs because
18
+ # Pydantic's IPvAnyAddress, AnyUrl, HttpUrl types are not JSON serializable.
10
19
  SerializableHttpUrl = Annotated[HttpUrl, PlainSerializer(str, return_type=str)]
11
-
12
20
  SerializableAnyUrl = Annotated[AnyUrl, PlainSerializer(str, return_type=str)]
21
+ SerializableIPvAnyAddress = Annotated[
22
+ IPvAnyAddress, PlainSerializer(str, return_type=str)
23
+ ]
13
24
 
14
25
 
15
26
  class SantizedDict(dict):
@@ -5,7 +5,6 @@ from pydantic import (
5
5
  BaseModel,
6
6
  ConfigDict,
7
7
  Field,
8
- IPvAnyAddress,
9
8
  SecretStr,
10
9
  StringConstraints,
11
10
  model_validator,
@@ -13,6 +12,7 @@ from pydantic import (
13
12
  from pydantic_extra_types.phone_numbers import PhoneNumber
14
13
 
15
14
  from .enums import Country, KYCFileType, State, VerificationStatus
15
+ from .general import SerializableIPvAnyAddress
16
16
 
17
17
  Password = Annotated[
18
18
  SecretStr,
@@ -165,7 +165,7 @@ class KYCFile(BaseModel):
165
165
 
166
166
  class TOSAgreement(BaseModel):
167
167
  version: str
168
- ip: IPvAnyAddress
168
+ ip: SerializableIPvAnyAddress
169
169
  location: Optional[str] = None
170
170
  model_config = ConfigDict(
171
171
  json_schema_extra={
@@ -12,7 +12,6 @@ from pydantic import (
12
12
  field_validator,
13
13
  model_validator,
14
14
  )
15
- from pydantic.networks import IPvAnyAddress
16
15
 
17
16
  from ..types.enums import (
18
17
  AuthorizerTransaction,
@@ -58,6 +57,7 @@ from .general import (
58
57
  LogConfig,
59
58
  SerializableAnyUrl,
60
59
  SerializableHttpUrl,
60
+ SerializableIPvAnyAddress,
61
61
  StrictPositiveInt,
62
62
  )
63
63
  from .identities import (
@@ -398,7 +398,7 @@ class TOSRequest(BaseModel):
398
398
  type: TermsOfService
399
399
  version: str
400
400
  location: Optional[str] = None
401
- ip: Optional[IPvAnyAddress] = None
401
+ ip: Optional[SerializableIPvAnyAddress] = None
402
402
 
403
403
 
404
404
  class UserRequest(BaseModel):
@@ -0,0 +1 @@
1
+ __version__ = '2.1.2.dev1'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cuenca_validations
3
- Version: 2.1.1.dev8
3
+ Version: 2.1.2.dev1
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -348,6 +348,7 @@ def test_user_request():
348
348
  email_verification_id='VE0987654321',
349
349
  required_level=3,
350
350
  terms_of_service=None,
351
+ signature=None,
351
352
  )
352
353
  assert UserRequest(**request).model_dump() == request
353
354
 
@@ -1 +0,0 @@
1
- __version__ = '2.1.1.dev8'