marshmallow 3.20.2__py3-none-any.whl → 3.21.1__py3-none-any.whl

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.
marshmallow/__init__.py CHANGED
@@ -1,5 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import importlib.metadata
4
+ import typing
5
+
3
6
  from packaging.version import Version
4
7
 
5
8
  from marshmallow.decorators import (
@@ -16,13 +19,49 @@ from marshmallow.utils import EXCLUDE, INCLUDE, RAISE, missing, pprint
16
19
 
17
20
  from . import fields
18
21
 
19
- __version__ = "3.20.2"
20
- __parsed_version__ = Version(__version__)
21
- __version_info__: tuple[int, int, int] | tuple[
22
- int, int, int, str, int
23
- ] = __parsed_version__.release # type: ignore[assignment]
24
- if __parsed_version__.pre:
25
- __version_info__ += __parsed_version__.pre # type: ignore[assignment]
22
+
23
+ def __getattr__(name: str) -> typing.Any:
24
+ import warnings
25
+
26
+ if name == "__version__":
27
+ warnings.warn(
28
+ "The '__version__' attribute is deprecated and will be removed in"
29
+ " in a future version. Use feature detection or"
30
+ " 'importlib.metadata.version(\"marshmallow\")' instead.",
31
+ DeprecationWarning,
32
+ stacklevel=2,
33
+ )
34
+ return importlib.metadata.version("marshmallow")
35
+
36
+ if name == "__parsed_version__":
37
+ warnings.warn(
38
+ "The '__parsed_version__' attribute is deprecated and will be removed in"
39
+ " in a future version. Use feature detection or"
40
+ " 'packaging.Version(importlib.metadata.version(\"marshmallow\"))' instead.",
41
+ DeprecationWarning,
42
+ stacklevel=2,
43
+ )
44
+ return Version(importlib.metadata.version("marshmallow"))
45
+
46
+ if name == "__version_info__":
47
+ warnings.warn(
48
+ "The '__version_info__' attribute is deprecated and will be removed in"
49
+ " in a future version. Use feature detection or"
50
+ " 'packaging.Version(importlib.metadata.version(\"marshmallow\")).release' instead.",
51
+ DeprecationWarning,
52
+ stacklevel=2,
53
+ )
54
+ __parsed_version__ = Version(importlib.metadata.version("marshmallow"))
55
+ __version_info__: tuple[int, int, int] | tuple[
56
+ int, int, int, str, int
57
+ ] = __parsed_version__.release # type: ignore[assignment]
58
+ if __parsed_version__.pre:
59
+ __version_info__ += __parsed_version__.pre # type: ignore[assignment]
60
+ return __version_info__
61
+
62
+ raise AttributeError(name)
63
+
64
+
26
65
  __all__ = [
27
66
  "EXCLUDE",
28
67
  "INCLUDE",
marshmallow/base.py CHANGED
@@ -8,6 +8,7 @@ These are necessary to avoid circular imports between schema.py and fields.py.
8
8
  Users should not need to use this module directly.
9
9
  """
10
10
  from __future__ import annotations
11
+
11
12
  from abc import ABC, abstractmethod
12
13
 
13
14
 
@@ -10,6 +10,7 @@ class:`fields.Nested <marshmallow.fields.Nested>`.
10
10
  from __future__ import annotations
11
11
 
12
12
  import typing
13
+
13
14
  from marshmallow.exceptions import RegistryError
14
15
 
15
16
  if typing.TYPE_CHECKING:
@@ -76,16 +77,16 @@ def get_class(classname: str, all: bool = False) -> list[SchemaType] | SchemaTyp
76
77
  classes = _registry[classname]
77
78
  except KeyError as error:
78
79
  raise RegistryError(
79
- "Class with name {!r} was not found. You may need "
80
- "to import the class.".format(classname)
80
+ f"Class with name {classname!r} was not found. You may need "
81
+ "to import the class."
81
82
  ) from error
82
83
  if len(classes) > 1:
83
84
  if all:
84
85
  return _registry[classname]
85
86
  raise RegistryError(
86
- "Multiple classes with name {!r} "
87
+ f"Multiple classes with name {classname!r} "
87
88
  "were found. Please use the full, "
88
- "module-qualified path.".format(classname)
89
+ "module-qualified path."
89
90
  )
90
91
  else:
91
92
  return _registry[classname][0]
marshmallow/exceptions.py CHANGED
@@ -3,7 +3,6 @@ from __future__ import annotations
3
3
 
4
4
  import typing
5
5
 
6
-
7
6
  # Key used for schema-level validation errors
8
7
  SCHEMA = "_schema"
9
8
 
marshmallow/fields.py CHANGED
@@ -4,28 +4,30 @@ from __future__ import annotations
4
4
  import collections
5
5
  import copy
6
6
  import datetime as dt
7
- import numbers
8
- import uuid
9
- import ipaddress
10
7
  import decimal
8
+ import ipaddress
11
9
  import math
10
+ import numbers
12
11
  import typing
12
+ import uuid
13
13
  import warnings
14
- from enum import Enum as EnumType
15
14
  from collections.abc import Mapping as _Mapping
15
+ from enum import Enum as EnumType
16
16
 
17
- from marshmallow import validate, utils, class_registry, types
17
+ from marshmallow import class_registry, types, utils, validate
18
18
  from marshmallow.base import FieldABC, SchemaABC
19
+ from marshmallow.exceptions import (
20
+ FieldInstanceResolutionError,
21
+ StringNotCollectionError,
22
+ ValidationError,
23
+ )
19
24
  from marshmallow.utils import (
25
+ is_aware,
20
26
  is_collection,
21
- missing as missing_,
22
27
  resolve_field_instance,
23
- is_aware,
24
28
  )
25
- from marshmallow.exceptions import (
26
- ValidationError,
27
- StringNotCollectionError,
28
- FieldInstanceResolutionError,
29
+ from marshmallow.utils import (
30
+ missing as missing_,
29
31
  )
30
32
  from marshmallow.validate import And, Length
31
33
  from marshmallow.warnings import RemovedInMarshmallow4Warning
@@ -237,14 +239,12 @@ class Field(FieldABC):
237
239
 
238
240
  def __repr__(self) -> str:
239
241
  return (
240
- "<fields.{ClassName}(dump_default={self.dump_default!r}, "
241
- "attribute={self.attribute!r}, "
242
- "validate={self.validate}, required={self.required}, "
243
- "load_only={self.load_only}, dump_only={self.dump_only}, "
244
- "load_default={self.load_default}, allow_none={self.allow_none}, "
245
- "error_messages={self.error_messages})>".format(
246
- ClassName=self.__class__.__name__, self=self
247
- )
242
+ f"<fields.{self.__class__.__name__}(dump_default={self.dump_default!r}, "
243
+ f"attribute={self.attribute!r}, "
244
+ f"validate={self.validate}, required={self.required}, "
245
+ f"load_only={self.load_only}, dump_only={self.dump_only}, "
246
+ f"load_default={self.load_default}, allow_none={self.allow_none}, "
247
+ f"error_messages={self.error_messages})>"
248
248
  )
249
249
 
250
250
  def __deepcopy__(self, memo):
@@ -281,9 +281,9 @@ class Field(FieldABC):
281
281
  except KeyError as error:
282
282
  class_name = self.__class__.__name__
283
283
  message = (
284
- "ValidationError raised by `{class_name}`, but error key `{key}` does "
284
+ f"ValidationError raised by `{class_name}`, but error key `{key}` does "
285
285
  "not exist in the `error_messages` dictionary."
286
- ).format(class_name=class_name, key=key)
286
+ )
287
287
  raise AssertionError(message) from error
288
288
  if isinstance(msg, (str, bytes)):
289
289
  msg = msg.format(**kwargs)
@@ -297,9 +297,7 @@ class Field(FieldABC):
297
297
  Use `make_error <marshmallow.fields.Field.make_error>` instead.
298
298
  """
299
299
  warnings.warn(
300
- '`Field.fail` is deprecated. Use `raise self.make_error("{}", ...)` instead.'.format(
301
- key
302
- ),
300
+ f'`Field.fail` is deprecated. Use `raise self.make_error("{key}", ...)` instead.',
303
301
  RemovedInMarshmallow4Warning,
304
302
  stacklevel=2,
305
303
  )
@@ -611,7 +609,7 @@ class Nested(Field):
611
609
  elif not isinstance(nested, (str, bytes)):
612
610
  raise ValueError(
613
611
  "`Nested` fields must be passed a "
614
- "`Schema`, not {}.".format(nested.__class__)
612
+ f"`Schema`, not {nested.__class__}."
615
613
  )
616
614
  elif nested == "self":
617
615
  schema_class = self.root.__class__
@@ -1827,9 +1825,9 @@ class IPInterface(Field):
1827
1825
  return value.exploded
1828
1826
  return value.compressed
1829
1827
 
1830
- def _deserialize(
1831
- self, value, attr, data, **kwargs
1832
- ) -> None | (ipaddress.IPv4Interface | ipaddress.IPv6Interface):
1828
+ def _deserialize(self, value, attr, data, **kwargs) -> None | (
1829
+ ipaddress.IPv4Interface | ipaddress.IPv6Interface
1830
+ ):
1833
1831
  if value is None:
1834
1832
  return None
1835
1833
  try:
marshmallow/schema.py CHANGED
@@ -1,23 +1,21 @@
1
1
  """The :class:`Schema` class, including its metaclass and options (class Meta)."""
2
2
  from __future__ import annotations
3
- from abc import ABCMeta
4
3
 
5
- from collections import defaultdict, OrderedDict
6
- from collections.abc import Mapping
7
- from functools import lru_cache
4
+ import copy
8
5
  import datetime as dt
9
- import uuid
10
6
  import decimal
11
- import copy
12
7
  import inspect
13
8
  import json
14
9
  import typing
10
+ import uuid
15
11
  import warnings
12
+ from abc import ABCMeta
13
+ from collections import OrderedDict, defaultdict
14
+ from collections.abc import Mapping
15
+ from functools import lru_cache
16
16
 
17
- from marshmallow import base, fields as ma_fields, class_registry, types
18
- from marshmallow.error_store import ErrorStore
19
- from marshmallow.exceptions import ValidationError, StringNotCollectionError
20
- from marshmallow.orderedset import OrderedSet
17
+ from marshmallow import base, class_registry, types
18
+ from marshmallow import fields as ma_fields
21
19
  from marshmallow.decorators import (
22
20
  POST_DUMP,
23
21
  POST_LOAD,
@@ -26,15 +24,18 @@ from marshmallow.decorators import (
26
24
  VALIDATES,
27
25
  VALIDATES_SCHEMA,
28
26
  )
27
+ from marshmallow.error_store import ErrorStore
28
+ from marshmallow.exceptions import StringNotCollectionError, ValidationError
29
+ from marshmallow.orderedset import OrderedSet
29
30
  from marshmallow.utils import (
30
- RAISE,
31
31
  EXCLUDE,
32
32
  INCLUDE,
33
- missing,
34
- set_value,
33
+ RAISE,
35
34
  get_value,
36
35
  is_collection,
37
36
  is_instance_or_subclass,
37
+ missing,
38
+ set_value,
38
39
  validate_unknown_parameter_value,
39
40
  )
40
41
  from marshmallow.warnings import RemovedInMarshmallow4Warning
@@ -407,9 +408,7 @@ class Schema(base.SchemaABC, metaclass=SchemaMeta):
407
408
  self.error_messages = messages
408
409
 
409
410
  def __repr__(self) -> str:
410
- return "<{ClassName}(many={self.many})>".format(
411
- ClassName=self.__class__.__name__, self=self
412
- )
411
+ return f"<{self.__class__.__name__}(many={self.many})>"
413
412
 
414
413
  @property
415
414
  def dict_class(self) -> type:
@@ -1004,7 +1003,7 @@ class Schema(base.SchemaABC, metaclass=SchemaMeta):
1004
1003
  "The data_key argument for one or more fields collides "
1005
1004
  "with another field's name or data_key argument. "
1006
1005
  "Check the following field names and "
1007
- "data_key arguments: {}".format(list(data_keys_duplicates))
1006
+ f"data_key arguments: {list(data_keys_duplicates)}"
1008
1007
  )
1009
1008
  load_attributes = [obj.attribute or name for name, obj in load_fields.items()]
1010
1009
  if len(load_attributes) != len(set(load_attributes)):
@@ -1015,7 +1014,7 @@ class Schema(base.SchemaABC, metaclass=SchemaMeta):
1015
1014
  "The attribute argument for one or more fields collides "
1016
1015
  "with another field's name or attribute argument. "
1017
1016
  "Check the following field names and "
1018
- "attribute arguments: {}".format(list(attributes_duplicates))
1017
+ f"attribute arguments: {list(attributes_duplicates)}"
1019
1018
  )
1020
1019
 
1021
1020
  self.fields = fields_dict
@@ -1048,9 +1047,9 @@ class Schema(base.SchemaABC, metaclass=SchemaMeta):
1048
1047
  # the type checker's perspective.
1049
1048
  if isinstance(field_obj, type) and issubclass(field_obj, base.FieldABC):
1050
1049
  msg = (
1051
- 'Field for "{field_name}" must be declared as a '
1050
+ f'Field for "{field_name}" must be declared as a '
1052
1051
  "Field instance, not a class. "
1053
- 'Did you mean "fields.{field_obj.__name__}()"?'
1052
+ f'Did you mean "fields.{field_obj.__name__}()"?' # type: ignore
1054
1053
  )
1055
1054
  raise TypeError(msg) from error
1056
1055
  raise error
marshmallow/utils.py CHANGED
@@ -2,8 +2,8 @@
2
2
  from __future__ import annotations
3
3
 
4
4
  import collections
5
- import functools
6
5
  import datetime as dt
6
+ import functools
7
7
  import inspect
8
8
  import json
9
9
  import re
@@ -311,10 +311,7 @@ def set_value(dct: dict[str, typing.Any], key: str, value: typing.Any):
311
311
  target = dct.setdefault(head, {})
312
312
  if not isinstance(target, dict):
313
313
  raise ValueError(
314
- "Cannot set {key} in {head} "
315
- "due to existing value: {target}".format(
316
- key=key, head=head, target=target
317
- )
314
+ f"Cannot set {key} in {head} " f"due to existing value: {target}"
318
315
  )
319
316
  set_value(target, rest, value)
320
317
  else:
marshmallow/validate.py CHANGED
@@ -27,9 +27,7 @@ class Validator(ABC):
27
27
  args = self._repr_args()
28
28
  args = f"{args}, " if args else ""
29
29
 
30
- return "<{self.__class__.__name__}({args}error={self.error!r})>".format(
31
- self=self, args=args
32
- )
30
+ return f"<{self.__class__.__name__}({args}error={self.error!r})>"
33
31
 
34
32
  def _repr_args(self) -> str:
35
33
  """A string representation of the args passed to this validator. Used by
@@ -133,9 +131,9 @@ class URL(Validator):
133
131
  # this is validated separately against allowed schemes, so in the regex
134
132
  # we simply want to capture its existence
135
133
  r"(?:[a-z0-9\.\-\+]*)://",
136
- # basic_auth, for URLs encoding a username:password
134
+ # userinfo, for URLs encoding authentication
137
135
  # e.g. 'ftp://foo:bar@ftp.example.org/'
138
- r"(?:[^:@]+?(:[^:@]*?)?@|)",
136
+ r"(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?",
139
137
  # netloc, the hostname/domain part of the URL plus the optional port
140
138
  r"(?:",
141
139
  "|".join(hostname_variants),
@@ -237,7 +235,8 @@ class Email(Validator):
237
235
 
238
236
  DOMAIN_REGEX = re.compile(
239
237
  # domain
240
- r"(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+" r"(?:[A-Z]{2,6}|[A-Z0-9-]{2,})\Z"
238
+ r"(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+"
239
+ r"(?:[A-Z]{2,6}|[A-Z0-9-]{2,})\Z"
241
240
  # literal form, ipv4 address (SMTP 4.1.3)
242
241
  r"|^\[(25[0-5]|2[0-4]\d|[0-1]?\d?\d)"
243
242
  r"(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\]\Z",
@@ -1,4 +1,4 @@
1
- Copyright 2024 Steven Loria and contributors
1
+ Copyright Steven Loria and contributors
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -1,16 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: marshmallow
3
- Version: 3.20.2
3
+ Version: 3.21.1
4
4
  Summary: A lightweight library for converting complex datatypes to and from native Python datatypes.
5
- Home-page: https://github.com/marshmallow-code/marshmallow
6
- Author: Steven Loria
7
- Author-email: sloria1@gmail.com
8
- License: MIT
9
- Project-URL: Changelog, https://marshmallow.readthedocs.io/en/latest/changelog.html
10
- Project-URL: Issues, https://github.com/marshmallow-code/marshmallow/issues
11
- Project-URL: Funding, https://opencollective.com/marshmallow
12
- Project-URL: Tidelift, https://tidelift.com/subscription/pkg/pypi-marshmallow?utm_source=pypi-marshmallow&utm_medium=pypi
13
- Keywords: serialization,rest,json,api,marshal,marshalling,deserialization,validation,schema
5
+ Author-email: Steven Loria <sloria1@gmail.com>
6
+ Maintainer-email: Steven Loria <sloria1@gmail.com>, Jérôme Lafréchoux <jerome@jolimont.fr>, Jared Deckard <jared@shademaps.com>
7
+ Requires-Python: >=3.8
8
+ Description-Content-Type: text/x-rst
14
9
  Classifier: Development Status :: 5 - Production/Stable
15
10
  Classifier: Intended Audience :: Developers
16
11
  Classifier: License :: OSI Approved :: MIT License
@@ -20,27 +15,26 @@ Classifier: Programming Language :: Python :: 3.9
20
15
  Classifier: Programming Language :: Python :: 3.10
21
16
  Classifier: Programming Language :: Python :: 3.11
22
17
  Classifier: Programming Language :: Python :: 3.12
23
- Requires-Python: >=3.8
24
- License-File: LICENSE
25
- Requires-Dist: packaging >=17.0
18
+ Requires-Dist: packaging>=17.0
19
+ Requires-Dist: marshmallow[tests] ; extra == "dev"
20
+ Requires-Dist: tox ; extra == "dev"
21
+ Requires-Dist: pre-commit~=3.5 ; extra == "dev"
22
+ Requires-Dist: sphinx==7.2.6 ; extra == "docs"
23
+ Requires-Dist: sphinx-issues==4.0.0 ; extra == "docs"
24
+ Requires-Dist: alabaster==0.7.16 ; extra == "docs"
25
+ Requires-Dist: sphinx-version-warning==1.1.2 ; extra == "docs"
26
+ Requires-Dist: autodocsumm==0.2.12 ; extra == "docs"
27
+ Requires-Dist: pytest ; extra == "tests"
28
+ Requires-Dist: pytz ; extra == "tests"
29
+ Requires-Dist: simplejson ; extra == "tests"
30
+ Project-URL: Changelog, https://marshmallow.readthedocs.io/en/latest/changelog.html
31
+ Project-URL: Funding, https://opencollective.com/marshmallow
32
+ Project-URL: Issues, https://github.com/marshmallow-code/marshmallow/issues
33
+ Project-URL: Source, https://github.com/marshmallow-code/marshmallow
34
+ Project-URL: Tidelift, https://tidelift.com/subscription/pkg/pypi-marshmallow?utm_source=pypi-marshmallow&utm_medium=pypi
26
35
  Provides-Extra: dev
27
- Requires-Dist: pytest ; extra == 'dev'
28
- Requires-Dist: pytz ; extra == 'dev'
29
- Requires-Dist: simplejson ; extra == 'dev'
30
- Requires-Dist: pre-commit <4.0,>=2.4 ; extra == 'dev'
31
- Requires-Dist: tox ; extra == 'dev'
32
36
  Provides-Extra: docs
33
- Requires-Dist: sphinx ==7.2.6 ; extra == 'docs'
34
- Requires-Dist: sphinx-issues ==3.0.1 ; extra == 'docs'
35
- Requires-Dist: alabaster ==0.7.15 ; extra == 'docs'
36
- Requires-Dist: sphinx-version-warning ==1.1.2 ; extra == 'docs'
37
- Requires-Dist: autodocsumm ==0.2.12 ; extra == 'docs'
38
- Provides-Extra: lint
39
- Requires-Dist: pre-commit <4.0,>=2.4 ; extra == 'lint'
40
37
  Provides-Extra: tests
41
- Requires-Dist: pytest ; extra == 'tests'
42
- Requires-Dist: pytz ; extra == 'tests'
43
- Requires-Dist: simplejson ; extra == 'tests'
44
38
 
45
39
  ********************************************
46
40
  marshmallow: simplified object serialization
@@ -61,11 +55,6 @@ marshmallow: simplified object serialization
61
55
  .. image:: https://readthedocs.org/projects/marshmallow/badge/
62
56
  :target: https://marshmallow.readthedocs.io/
63
57
  :alt: Documentation
64
-
65
- .. image:: https://badgen.net/badge/code%20style/black/000
66
- :target: https://github.com/ambv/black
67
- :alt: code style: black
68
-
69
58
 
70
59
  **marshmallow** is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.
71
60
 
@@ -200,7 +189,7 @@ Project Links
200
189
  - Docs: https://marshmallow.readthedocs.io/
201
190
  - Changelog: https://marshmallow.readthedocs.io/en/latest/changelog.html
202
191
  - Contributing Guidelines: https://marshmallow.readthedocs.io/en/latest/contributing.html
203
- - PyPI: https://pypi.python.org/pypi/marshmallow
192
+ - PyPI: https://pypi.org/project/marshmallow/
204
193
  - Issues: https://github.com/marshmallow-code/marshmallow/issues
205
194
  - Donate: https://opencollective.com/marshmallow
206
195
 
@@ -208,3 +197,4 @@ License
208
197
  =======
209
198
 
210
199
  MIT licensed. See the bundled `LICENSE <https://github.com/marshmallow-code/marshmallow/blob/dev/LICENSE>`_ file for more details.
200
+
@@ -0,0 +1,18 @@
1
+ marshmallow/__init__.py,sha256=zfCLhifu2WhV5WdSIvF-IgtOocF2Koc1iIJ30V9MCWw,2385
2
+ marshmallow/base.py,sha256=fo3i0f5YiT9MqY0rmdcmVy8iTNK9aOG0hFSGf4MxWEs,1345
3
+ marshmallow/class_registry.py,sha256=h-f1EKajePnuALkjqWInnbyv_xgt92nb_DZhxyk2BVc,2809
4
+ marshmallow/decorators.py,sha256=X9vNZgfrk3JvhHrVV9CPQxy2XMtGwewVwdvEeX_4u_o,8250
5
+ marshmallow/error_store.py,sha256=A7AxgLMw9ffSmaxRH4x3wcBWibx-DuGH4LwSDpVn50I,2223
6
+ marshmallow/exceptions.py,sha256=OIFlC_xY6c_4A6-1fYX-pIsgQegoLPiF5Ccur01MbPU,2325
7
+ marshmallow/fields.py,sha256=G97qL6WjmX2H0Qn9RF78X-bQkw50uUaxMSqRfdmCFe4,73145
8
+ marshmallow/orderedset.py,sha256=C2aAG6w1faIL1phinbAltbe3AUAnF5MN6n7fzESNDhI,2922
9
+ marshmallow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ marshmallow/schema.py,sha256=3pW0X5sVKzjn-JI4sWA7I2xRfMquwytesR3L7ktOPXI,49056
11
+ marshmallow/types.py,sha256=m1IhBT7dWHrYjTm7BQigHGX8UoYyt32WHwDK5Jppxf0,331
12
+ marshmallow/utils.py,sha256=nUZBXDeXxSv6kc1njj_PvmyFRCun2bgZBYZ7mS5gLh8,11789
13
+ marshmallow/validate.py,sha256=fZU2ftt9c-wlBgGmdnB0iZGrHpDLYgY7J7kHp0bAS9U,23914
14
+ marshmallow/warnings.py,sha256=vHQu7AluuWqLhvlw5noXtWWbya13zDXY6JMaVSUzmDs,65
15
+ marshmallow-3.21.1.dist-info/LICENSE,sha256=kGtdkFHkJhRMsXOtkRZnuOvQWpxYTCwmwTWzKj7RIAE,1064
16
+ marshmallow-3.21.1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
17
+ marshmallow-3.21.1.dist-info/METADATA,sha256=s0YvGglPEV0lpSgQUFGR2U7dG6jvQvrh8UaX5qCMbBw,7240
18
+ marshmallow-3.21.1.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: flit 3.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -1,19 +0,0 @@
1
- marshmallow/__init__.py,sha256=OZm2C_79jM_inW-CXpf8oTeDLaXA2jK43bVEARgp26Y,968
2
- marshmallow/base.py,sha256=5shImdVXepCDdr-WQ6uyP39K9gNoG8F8sv1pmfsS-W4,1344
3
- marshmallow/class_registry.py,sha256=7C1DLdD-2D7ZKf-ZlfOV3bDrxT7Er7-qQI7M-bYHyac,2824
4
- marshmallow/decorators.py,sha256=X9vNZgfrk3JvhHrVV9CPQxy2XMtGwewVwdvEeX_4u_o,8250
5
- marshmallow/error_store.py,sha256=A7AxgLMw9ffSmaxRH4x3wcBWibx-DuGH4LwSDpVn50I,2223
6
- marshmallow/exceptions.py,sha256=KrJEamfdoFj9zwmT8mtwONJlyHV4hpzZhkn9iHs2t_0,2326
7
- marshmallow/fields.py,sha256=YuODki4r-LSe40pnftxddWT_VHiVRPIo-V5neydfpPs,73258
8
- marshmallow/orderedset.py,sha256=C2aAG6w1faIL1phinbAltbe3AUAnF5MN6n7fzESNDhI,2922
9
- marshmallow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- marshmallow/schema.py,sha256=61UK2cEiM8fEOJZckqe43Km6tdCxGm65MmLiqao3qVs,49091
11
- marshmallow/types.py,sha256=m1IhBT7dWHrYjTm7BQigHGX8UoYyt32WHwDK5Jppxf0,331
12
- marshmallow/utils.py,sha256=hemvvZB8GxndkC_Zx0ldXqWfYUtJWKpYatzNPhNGRj4,11883
13
- marshmallow/validate.py,sha256=F6r-rGurleYhndgAW_pZfS6xe2KxtST1915RXL-AI7c,23938
14
- marshmallow/warnings.py,sha256=vHQu7AluuWqLhvlw5noXtWWbya13zDXY6JMaVSUzmDs,65
15
- marshmallow-3.20.2.dist-info/LICENSE,sha256=grsRP99dmM8-9O31HklhEeEoGLP1OSMzPXjFpdtnLhA,1069
16
- marshmallow-3.20.2.dist-info/METADATA,sha256=VyYC5xPeCr1hTMHb-BESDvKwpOMS99IzuRlEvcKYu2Y,7488
17
- marshmallow-3.20.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
18
- marshmallow-3.20.2.dist-info/top_level.txt,sha256=B_yjxTA7Lx7T1LxnaUpTTd8CXt4shc4blEcScke_vVc,12
19
- marshmallow-3.20.2.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- marshmallow