diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index e3c2c121..ba309a43 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -9,6 +9,11 @@ Features:
 - Allow input value to be included in error messages
   for a number of fields (:pr:`1129`). Thanks :user:`hdoupe` for the PR.
 
+Deprecations/Removals:
+
+- Remove ``fields.FormattedString`` (:issue:`1141`). Use
+  ``fields.Function`` or ``fields.Method`` instead.
+
 3.0.0rc4 (2019-02-08)
 *********************
 
diff --git a/docs/upgrading.rst b/docs/upgrading.rst
index 197dfa8c..5044eca6 100644
--- a/docs/upgrading.rst
+++ b/docs/upgrading.rst
@@ -744,6 +744,25 @@ The ``prefix`` parameter of ``Schema`` is removed. The same feature can be achie
     MySchema().dump({'f1': 'one', 'f2': 'two'})
     # {'pre_f1': 'one', '_pre_f2': 'two'}
 
+
+``fields.FormattedString`` is removed
+*************************************
+
+``fields.FormattedString`` field is removed. Use `fields.Function
+<marshmallow.fields.Function>` or
+`fields.Method <marshmallow.fields.Method>` instead.
+
+.. code-block:: python
+
+    # 2.x
+    class MySchema(Schema):
+        full_name = fields.FormattedString("{first_name} {last_name}")
+
+    # 3.x
+    class MySchema(Schema):
+        full_name = fields.Function(lambda u: f"{u.first_name} {u.last_name}")
+
+
 ``attribute`` or ``data_key`` collision triggers an exception
 *************************************************************
 
diff --git a/src/marshmallow/fields.py b/src/marshmallow/fields.py
index 4c28518a..4c459837 100644
--- a/src/marshmallow/fields.py
+++ b/src/marshmallow/fields.py
@@ -14,7 +14,7 @@ import math
 from marshmallow import validate, utils, class_registry
 from marshmallow.base import FieldABC, SchemaABC
 from marshmallow.utils import is_collection, missing as missing_, resolve_field_instance
-from marshmallow.compat import basestring, text_type, Mapping as _Mapping, iteritems
+from marshmallow.compat import basestring, Mapping as _Mapping, iteritems
 from marshmallow.exceptions import (
     ValidationError, StringNotCollectionError, FieldInstanceResolutionError,
 )
@@ -34,7 +34,6 @@ __all__ = [
     'Integer',
     'Decimal',
     'Boolean',
-    'FormattedString',
     'Float',
     'DateTime',
     'LocalDateTime',
@@ -1006,37 +1005,6 @@ class Boolean(Field):
         self.fail('invalid', input=value)
 
 
-class FormattedString(Field):
-    """Interpolate other values from the object into this field. The syntax for
-    the source string is the same as the string `str.format` method
-    from the python stdlib.
-    ::
-
-        class UserSchema(Schema):
-            name = fields.String()
-            greeting = fields.FormattedString('Hello {name}')
-
-        ser = UserSchema()
-        res = ser.dump(user)
-        res.data  # => {'name': 'Monty', 'greeting': 'Hello Monty'}
-    """
-    default_error_messages = {
-        'format': 'Cannot format string with given data.',
-    }
-    _CHECK_ATTRIBUTE = False
-
-    def __init__(self, src_str, *args, **kwargs):
-        Field.__init__(self, *args, **kwargs)
-        self.src_str = text_type(src_str)
-
-    def _serialize(self, value, attr, obj, **kwargs):
-        try:
-            data = utils.to_marshallable_type(obj)
-            return self.src_str.format(**data)
-        except (TypeError, IndexError):
-            self.fail('format')
-
-
 class DateTime(Field):
     """A formatted datetime string in UTC.
 
diff --git a/src/marshmallow/utils.py b/src/marshmallow/utils.py
index a7e32a87..ceb7012e 100644
--- a/src/marshmallow/utils.py
+++ b/src/marshmallow/utils.py
@@ -9,7 +9,6 @@ import inspect
 import json
 import re
 import time
-import types
 from calendar import timegm
 from email.utils import formatdate, parsedate
 from pprint import pprint as py_pprint
@@ -84,29 +83,6 @@ def is_keyed_tuple(obj):
     return isinstance(obj, tuple) and hasattr(obj, '_fields')
 
 
-def to_marshallable_type(obj, field_names=None):
-    """Helper for converting an object to a dictionary only if it is not
-    dictionary already or an indexable object nor a simple type"""
-    if obj is None:
-        return None  # make it idempotent for None
-
-    if hasattr(obj, '__marshallable__'):
-        return obj.__marshallable__()
-
-    if hasattr(obj, '__getitem__') and not is_keyed_tuple(obj):
-        return obj  # it is indexable it is ok
-
-    if isinstance(obj, types.GeneratorType):
-        return list(obj)
-    if field_names:
-        # exclude field names that aren't actual attributes of the object
-        attrs = set(dir(obj)) & set(field_names)
-    else:
-        attrs = set(dir(obj))
-    return dict([(attr, getattr(obj, attr, None)) for attr in attrs
-                  if not attr.startswith('__') and not attr.endswith('__')])
-
-
 def pprint(obj, *args, **kwargs):
     """Pretty-printing function that can pretty-print OrderedDicts
     like regular dictionaries. Useful for printing the output of

RFC: Remove FormattedString field
`fields.FormattedString` only exists because it was [ported from Flask-RESTful](https://github.com/flask-restful/flask-restful/blob/b30a408b64acd167cba3a09e649d6c97e415af6b/flask_restful/fields.py#L250). It has a couple peculiarities:

1. It [converts the object to a dict](https://github.com/marshmallow-code/marshmallow/blob/cfb09de0c3048e1c416ba7f34b7b703c6098003f/src/marshmallow/fields.py#L1034) in a way that is error-prone and inefficient.
2. Its deserialization behavior is no-op, making it asymettrical with its serialization behavior.

`fields.Function` and `fields.Method` achieve the same use case in a more performant way.

```python
from dataclasses import dataclass
from marshmallow import Schema, fields


class MySchema(Schema):
    formatted = fields.FormattedString("{first_name} {last_name}")
    function = fields.Function(lambda u: f"{u.first_name} {u.last_name}")


@dataclass
class User:
    first_name: str
    last_name: str


u = User(first_name="Steve", last_name="Loria")
data = MySchema().dump(u)
assert data["formatted"] == data["function"]
```
diff --git a/tests/base.py b/tests/base.py
index cad3ea71..51095872 100644
--- a/tests/base.py
+++ b/tests/base.py
@@ -28,7 +28,6 @@ ALL_FIELDS = [
     fields.Dict,
     fields.Url,
     fields.Email,
-    fields.FormattedString,
     fields.UUID,
     fields.Decimal,
 ]
diff --git a/tests/test_deserialization.py b/tests/test_deserialization.py
index 43475967..431b53b0 100644
--- a/tests/test_deserialization.py
+++ b/tests/test_deserialization.py
@@ -24,20 +24,13 @@ class TestDeserializingNone:
 
     @pytest.mark.parametrize('FieldClass', ALL_FIELDS)
     def test_fields_allow_none_deserialize_to_none(self, FieldClass):
-        if FieldClass == fields.FormattedString:
-            field = FieldClass(src_str='foo', allow_none=True)
-        else:
-            field = FieldClass(allow_none=True)
+        field = FieldClass(allow_none=True)
         field.deserialize(None) is None
 
     # https://github.com/marshmallow-code/marshmallow/issues/111
     @pytest.mark.parametrize('FieldClass', ALL_FIELDS)
     def test_fields_dont_allow_none_by_default(self, FieldClass):
-        # by default, allow_none=False
-        if FieldClass == fields.FormattedString:
-            field = FieldClass(src_str='foo')
-        else:
-            field = FieldClass()
+        field = FieldClass()
         with pytest.raises(ValidationError) as excinfo:
             field.deserialize(None)
         assert 'Field may not be null.' in str(excinfo)
@@ -1809,8 +1802,7 @@ class TestValidation:
             SchemaB().load(b_dict, partial=('z.y',))
 
 
-FIELDS_TO_TEST = [f for f in ALL_FIELDS if f not in [fields.FormattedString]]
-@pytest.mark.parametrize('FieldClass', FIELDS_TO_TEST)
+@pytest.mark.parametrize('FieldClass', ALL_FIELDS)
 def test_required_field_failure(FieldClass):  # noqa
     class RequireSchema(Schema):
         age = FieldClass(required=True)
diff --git a/tests/test_fields.py b/tests/test_fields.py
index dc4ec065..5e386b7e 100644
--- a/tests/test_fields.py
+++ b/tests/test_fields.py
@@ -165,12 +165,7 @@ class TestParentAndName:
 
 class TestMetadata:
 
-    FIELDS_TO_TEST = [
-        field for field in ALL_FIELDS
-        if field not in [fields.FormattedString]
-    ]
-
-    @pytest.mark.parametrize('FieldClass', FIELDS_TO_TEST)
+    @pytest.mark.parametrize('FieldClass', ALL_FIELDS)
     def test_extra_metadata_may_be_added_to_field(self, FieldClass):  # noqa
         field = FieldClass(description='Just a normal field.')
         assert field.metadata['description'] == 'Just a normal field.'
@@ -180,10 +175,6 @@ class TestMetadata:
         )
         assert field.metadata == {'description': 'foo', 'widget': 'select'}
 
-    def test_metadata_may_be_added_to_formatted_string_field(self):
-        field = fields.FormattedString('hello {name}', description='a greeting')
-        assert field.metadata == {'description': 'a greeting'}
-
 
 class TestErrorMessages:
 
diff --git a/tests/test_serialization.py b/tests/test_serialization.py
index 23828f6b..81a523ca 100644
--- a/tests/test_serialization.py
+++ b/tests/test_serialization.py
@@ -562,18 +562,6 @@ class TestFieldSerialization:
         user.name = None
         assert field.serialize('name', user) is None
 
-    def test_formattedstring_field(self):
-        field = fields.FormattedString('Hello {name}')
-        user = User(name='Monty')
-        assert field.serialize('name', user) == 'Hello Monty'
-
-    # Regression test for https://github.com/marshmallow-code/marshmallow/issues/348
-    def test_formattedstring_field_on_schema(self):
-        class MySchema(Schema):
-            greeting = fields.FormattedString('Hello {name}')
-        user = User(name='Monty')
-        assert MySchema().dump(user)['greeting'] == 'Hello Monty'
-
     def test_string_field_default_to_empty_string(self, user):
         field = fields.String(default='')
         assert field.serialize('notfound', {}) == ''
@@ -886,16 +874,9 @@ class TestFieldSerialization:
 
     @pytest.mark.parametrize('FieldClass', ALL_FIELDS)
     def test_all_fields_serialize_none_to_none(self, FieldClass):
-        if FieldClass == fields.FormattedString:
-            field = FieldClass('{foo}', allow_none=True)
-        else:
-            field = FieldClass(allow_none=True)
-
+        field = FieldClass(allow_none=True)
         res = field.serialize('foo', {'foo': None})
-        if FieldClass == fields.FormattedString:
-            assert res == 'None'
-        else:
-            assert res is None
+        assert res is None
 
 class TestSchemaSerialization:
 
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 653a45c7..e6862d0e 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -19,34 +19,9 @@ def test_missing_singleton_copy():
     assert copy(utils.missing) is utils.missing
     assert deepcopy(utils.missing) is utils.missing
 
-def test_to_marshallable_type():
-    class Foo(object):
-        CLASS_VAR = 'bar'
-
-        def __init__(self):
-            self.attribute = 'baz'
-
-        @property
-        def prop(self):
-            return 42
-
-    obj = Foo()
-    u_dict = utils.to_marshallable_type(obj)
-    assert u_dict['CLASS_VAR'] == Foo.CLASS_VAR
-    assert u_dict['attribute'] == obj.attribute
-    assert u_dict['prop'] == obj.prop
-
-def test_to_marshallable_type_none():
-    assert utils.to_marshallable_type(None) is None
-
 
 PointNT = namedtuple('Point', ['x', 'y'])
 
-def test_to_marshallable_type_with_namedtuple():
-    p = PointNT(24, 42)
-    result = utils.to_marshallable_type(p)
-    assert result['x'] == p.x
-    assert result['y'] == p.y
 
 class PointClass(object):
     def __init__(self, x, y):
@@ -137,22 +112,6 @@ def test_is_keyed_tuple():
     lst = [24, 42]
     assert utils.is_keyed_tuple(lst) is False
 
-def test_to_marshallable_type_list():
-    assert utils.to_marshallable_type(['foo', 'bar']) == ['foo', 'bar']
-
-def test_to_marshallable_type_generator():
-    gen = (e for e in ['foo', 'bar'])
-    assert utils.to_marshallable_type(gen) == ['foo', 'bar']
-
-def test_marshallable():
-    class ObjContainer(object):
-        contained = {'foo': 1}
-
-        def __marshallable__(self):
-            return self.contained
-
-    obj = ObjContainer()
-    assert utils.to_marshallable_type(obj) == {'foo': 1}
 
 def test_is_collection():
     assert utils.is_collection([1, 'foo', {}]) is True

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
3.9
docs/requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
alabaster==0.7.12
aspy.yaml==1.3.0
babel==2.17.0
cachetools==5.5.2
certifi==2025.1.31
cfgv==3.4.0
chardet==5.2.0
charset-normalizer==3.4.1
colorama==0.4.6
distlib==0.3.9
docutils==0.21.2
entrypoints==0.3
exceptiongroup==1.2.2
filelock==3.18.0
flake8==3.7.5
identify==2.6.9
idna==3.10
imagesize==1.4.1
importlib_metadata==8.6.1
iniconfig==2.1.0
Jinja2==3.1.6
MarkupSafe==3.0.2
-e git+https://github.com/marshmallow-code/marshmallow.git@cfb09de0c3048e1c416ba7f34b7b703c6098003f#egg=marshmallow
mccabe==0.6.1
nodeenv==1.9.1
packaging==24.2
platformdirs==4.3.7
pluggy==1.5.0
pre-commit==1.14.3
pycodestyle==2.5.0
pyflakes==2.1.1
Pygments==2.19.1
pyproject-api==1.9.0
pytest==8.3.5
python-dateutil==2.9.0.post0
pytz==2025.2
PyYAML==6.0.2
requests==2.32.3
simplejson==3.20.1
six==1.17.0
snowballstemmer==2.2.0
Sphinx==1.8.4
sphinx-issues==1.2.0
sphinx-version-warning==1.1.2
sphinxcontrib-serializinghtml==2.0.0
sphinxcontrib-websupport==1.2.4
toml==0.10.2
tomli==2.2.1
tox==4.25.0
typing_extensions==4.13.0
urllib3==2.3.0
virtualenv==20.29.3
zipp==3.21.0

name: marshmallow
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - alabaster==0.7.12
      - aspy-yaml==1.3.0
      - babel==2.17.0
      - cachetools==5.5.2
      - certifi==2025.1.31
      - cfgv==3.4.0
      - chardet==5.2.0
      - charset-normalizer==3.4.1
      - colorama==0.4.6
      - distlib==0.3.9
      - docutils==0.21.2
      - entrypoints==0.3
      - exceptiongroup==1.2.2
      - filelock==3.18.0
      - flake8==3.7.5
      - identify==2.6.9
      - idna==3.10
      - imagesize==1.4.1
      - importlib-metadata==8.6.1
      - iniconfig==2.1.0
      - jinja2==3.1.6
      - markupsafe==3.0.2
      - mccabe==0.6.1
      - nodeenv==1.9.1
      - packaging==24.2
      - platformdirs==4.3.7
      - pluggy==1.5.0
      - pre-commit==1.14.3
      - pycodestyle==2.5.0
      - pyflakes==2.1.1
      - pygments==2.19.1
      - pyproject-api==1.9.0
      - pytest==8.3.5
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - pyyaml==6.0.2
      - requests==2.32.3
      - simplejson==3.20.1
      - six==1.17.0
      - snowballstemmer==2.2.0
      - sphinx==1.8.4
      - sphinx-issues==1.2.0
      - sphinx-version-warning==1.1.2
      - sphinxcontrib-serializinghtml==2.0.0
      - sphinxcontrib-websupport==1.2.4
      - toml==0.10.2
      - tomli==2.2.1
      - tox==4.25.0
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - virtualenv==20.29.3
      - zipp==3.21.0
prefix: /opt/conda/envs/marshmallow

tests/test_deserialization.py::TestFieldDeserialization::test_invalid_datetime_deserialization[11:51:22
tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[String] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Integer] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Boolean] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Float] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Number] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[DateTime] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[LocalDateTime] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Time] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Date] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[TimeDelta] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Dict] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Url] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Email] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[UUID] tests/test_deserialization.py::TestDeserializingNone::test_fields_allow_none_deserialize_to_none[Decimal] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[String] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Integer] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Boolean] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Float] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Number] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[DateTime] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[LocalDateTime] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Time] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Date] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[TimeDelta] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Dict] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Url] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Email] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[UUID] tests/test_deserialization.py::TestDeserializingNone::test_fields_dont_allow_none_by_default[Decimal] tests/test_deserialization.py::TestDeserializingNone::test_allow_none_is_true_if_missing_is_true tests/test_deserialization.py::TestDeserializingNone::test_list_field_deserialize_none_to_none tests/test_deserialization.py::TestDeserializingNone::test_tuple_field_deserialize_none_to_none tests/test_deserialization.py::TestFieldDeserialization::test_float_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_invalid_float_field_deserialization[bad] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_float_field_deserialization[] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_float_field_deserialization[in_val2] tests/test_deserialization.py::TestFieldDeserialization::test_integer_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_strict_integer_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_decimal_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_decimal_field_with_places tests/test_deserialization.py::TestFieldDeserialization::test_decimal_field_with_places_and_rounding tests/test_deserialization.py::TestFieldDeserialization::test_decimal_field_deserialization_string tests/test_deserialization.py::TestFieldDeserialization::test_decimal_field_special_values tests/test_deserialization.py::TestFieldDeserialization::test_decimal_field_special_values_not_permitted tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[nan-None] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[nan-False] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[nan-True] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[-nan-None] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[-nan-False] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[-nan-True] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[inf-None] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[inf-False] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[inf-True] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[-inf-None] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[-inf-False] tests/test_deserialization.py::TestFieldDeserialization::test_float_field_allow_nan[-inf-True] tests/test_deserialization.py::TestFieldDeserialization::test_string_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_boolean_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_boolean_field_deserialization_with_custom_truthy_values tests/test_deserialization.py::TestFieldDeserialization::test_boolean_field_deserialization_with_custom_truthy_values_invalid[notvalid] tests/test_deserialization.py::TestFieldDeserialization::test_boolean_field_deserialization_with_custom_truthy_values_invalid[123] tests/test_deserialization.py::TestFieldDeserialization::test_boolean_field_deserialization_with_empty_truthy tests/test_deserialization.py::TestFieldDeserialization::test_boolean_field_deserialization_with_custom_falsy_values tests/test_deserialization.py::TestFieldDeserialization::test_field_toggle_show_invalid_value_in_error_message tests/test_deserialization.py::TestFieldDeserialization::test_invalid_datetime_deserialization[not-a-datetime] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_datetime_deserialization[42] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_datetime_deserialization[] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_datetime_deserialization[in_value3] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_datetime_deserialization[2018-01-01] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_datetime_deserialization[03-31-2025 tests/test_deserialization.py::TestFieldDeserialization::test_datetime_passed_year_is_invalid tests/test_deserialization.py::TestFieldDeserialization::test_datetime_passed_date_is_invalid tests/test_deserialization.py::TestFieldDeserialization::test_custom_date_format_datetime_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_rfc_datetime_field_deserialization[rfc] tests/test_deserialization.py::TestFieldDeserialization::test_rfc_datetime_field_deserialization[rfc822] tests/test_deserialization.py::TestFieldDeserialization::test_iso_datetime_field_deserialization[iso] tests/test_deserialization.py::TestFieldDeserialization::test_iso_datetime_field_deserialization[iso8601] tests/test_deserialization.py::TestFieldDeserialization::test_localdatetime_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_time_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_invalid_time_field_deserialization[badvalue] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_time_field_deserialization[] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_time_field_deserialization[in_data2] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_time_field_deserialization[42] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_timedelta_precision tests/test_deserialization.py::TestFieldDeserialization::test_timedelta_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_invalid_timedelta_field_deserialization[] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_timedelta_field_deserialization[badvalue] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_timedelta_field_deserialization[in_value2] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_timedelta_field_deserialization[9999999999] tests/test_deserialization.py::TestFieldDeserialization::test_date_field_deserialization[None] tests/test_deserialization.py::TestFieldDeserialization::test_date_field_deserialization[%Y-%m-%d] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_date_field_deserialization[] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_date_field_deserialization[123] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_date_field_deserialization[in_value2] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_date_field_deserialization[21-08-2014] tests/test_deserialization.py::TestFieldDeserialization::test_dict_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_structured_dict_value_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_structured_dict_key_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_structured_dict_key_value_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_url_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_relative_url_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_url_field_schemes_argument tests/test_deserialization.py::TestFieldDeserialization::test_email_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_function_field_deserialization_is_noop_by_default tests/test_deserialization.py::TestFieldDeserialization::test_function_field_deserialization_with_callable tests/test_deserialization.py::TestFieldDeserialization::test_function_field_deserialization_with_context tests/test_deserialization.py::TestFieldDeserialization::test_function_field_passed_deserialize_only_is_load_only tests/test_deserialization.py::TestFieldDeserialization::test_function_field_passed_deserialize_and_serialize_is_not_load_only tests/test_deserialization.py::TestFieldDeserialization::test_uuid_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_invalid_uuid_deserialization[malformed] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_uuid_deserialization[123] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_uuid_deserialization[in_value2] tests/test_deserialization.py::TestFieldDeserialization::test_invalid_uuid_deserialization[tooshort] tests/test_deserialization.py::TestFieldDeserialization::test_deserialization_function_must_be_callable tests/test_deserialization.py::TestFieldDeserialization::test_method_field_deserialization_is_noop_by_default tests/test_deserialization.py::TestFieldDeserialization::test_deserialization_method tests/test_deserialization.py::TestFieldDeserialization::test_deserialization_method_must_be_a_method tests/test_deserialization.py::TestFieldDeserialization::test_method_field_deserialize_only tests/test_deserialization.py::TestFieldDeserialization::test_datetime_list_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_list_field_deserialize_invalid_item tests/test_deserialization.py::TestFieldDeserialization::test_list_field_deserialize_multiple_invalid_items tests/test_deserialization.py::TestFieldDeserialization::test_list_field_deserialize_value_that_is_not_a_list[notalist] tests/test_deserialization.py::TestFieldDeserialization::test_list_field_deserialize_value_that_is_not_a_list[42] tests/test_deserialization.py::TestFieldDeserialization::test_list_field_deserialize_value_that_is_not_a_list[value2] tests/test_deserialization.py::TestFieldDeserialization::test_datetime_int_tuple_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_tuple_field_deserialize_invalid_item tests/test_deserialization.py::TestFieldDeserialization::test_tuple_field_deserialize_multiple_invalid_items tests/test_deserialization.py::TestFieldDeserialization::test_tuple_field_deserialize_value_that_is_not_a_collection[notalist] tests/test_deserialization.py::TestFieldDeserialization::test_tuple_field_deserialize_value_that_is_not_a_collection[42] tests/test_deserialization.py::TestFieldDeserialization::test_tuple_field_deserialize_value_that_is_not_a_collection[value2] tests/test_deserialization.py::TestFieldDeserialization::test_tuple_field_deserialize_invalid_length tests/test_deserialization.py::TestFieldDeserialization::test_constant_field_deserialization tests/test_deserialization.py::TestFieldDeserialization::test_constant_is_always_included_in_deserialized_data tests/test_deserialization.py::TestFieldDeserialization::test_field_deserialization_with_user_validator_function tests/test_deserialization.py::TestFieldDeserialization::test_field_deserialization_with_user_validator_class_that_returns_bool tests/test_deserialization.py::TestFieldDeserialization::test_field_deserialization_with_user_validator_that_raises_error_with_list tests/test_deserialization.py::TestFieldDeserialization::test_validator_must_return_false_to_raise_error tests/test_deserialization.py::TestFieldDeserialization::test_field_deserialization_with_validator_with_nonascii_input tests/test_deserialization.py::TestFieldDeserialization::test_field_deserialization_with_user_validators tests/test_deserialization.py::TestFieldDeserialization::test_field_deserialization_with_custom_error_message tests/test_deserialization.py::TestFieldDeserialization::test_field_deserialization_with_non_utf8_value tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_to_dict tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_missing_values tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_many tests/test_deserialization.py::TestSchemaDeserialization::test_exclude tests/test_deserialization.py::TestSchemaDeserialization::test_nested_single_deserialization_to_dict tests/test_deserialization.py::TestSchemaDeserialization::test_nested_list_deserialization_to_dict tests/test_deserialization.py::TestSchemaDeserialization::test_nested_single_none_not_allowed tests/test_deserialization.py::TestSchemaDeserialization::test_nested_many_non_not_allowed tests/test_deserialization.py::TestSchemaDeserialization::test_nested_single_required_missing tests/test_deserialization.py::TestSchemaDeserialization::test_nested_many_required_missing tests/test_deserialization.py::TestSchemaDeserialization::test_nested_only_basestring tests/test_deserialization.py::TestSchemaDeserialization::test_nested_only_basestring_with_list_data tests/test_deserialization.py::TestSchemaDeserialization::test_nested_none_deserialization tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_attribute_param tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_attribute_param_symmetry tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_attribute_param_error_returns_field_name_not_attribute_name tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_attribute_param_error_returns_data_key_not_attribute_name tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_data_key_param tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_dump_only_param tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_missing_param_value tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_missing_param_callable tests/test_deserialization.py::TestSchemaDeserialization::test_deserialize_with_missing_param_none tests/test_deserialization.py::TestSchemaDeserialization::test_deserialization_raises_with_errors tests/test_deserialization.py::TestSchemaDeserialization::test_deserialization_raises_with_errors_with_multiple_validators tests/test_deserialization.py::TestSchemaDeserialization::test_deserialization_many_raises_errors tests/test_deserialization.py::TestSchemaDeserialization::test_validation_errors_are_stored tests/test_deserialization.py::TestSchemaDeserialization::test_multiple_errors_can_be_stored_for_a_field tests/test_deserialization.py::TestSchemaDeserialization::test_multiple_errors_can_be_stored_for_an_email_field tests/test_deserialization.py::TestSchemaDeserialization::test_multiple_errors_can_be_stored_for_a_url_field tests/test_deserialization.py::TestSchemaDeserialization::test_required_value_only_passed_to_validators_if_provided tests/test_deserialization.py::TestSchemaDeserialization::test_partial_deserialization[True] tests/test_deserialization.py::TestSchemaDeserialization::test_partial_deserialization[False] tests/test_deserialization.py::TestSchemaDeserialization::test_partial_fields_deserialization tests/test_deserialization.py::TestSchemaDeserialization::test_partial_fields_validation tests/test_deserialization.py::TestSchemaDeserialization::test_unknown_fields_deserialization tests/test_deserialization.py::TestSchemaDeserialization::test_unknown_fields_deserialization_precedence tests/test_deserialization.py::TestSchemaDeserialization::test_unknown_fields_deserialization_with_data_key tests/test_deserialization.py::TestSchemaDeserialization::test_unknown_fields_deserialization_with_index_errors_false tests/test_deserialization.py::TestSchemaDeserialization::test_dump_only_fields_considered_unknown tests/test_deserialization.py::TestValidation::test_integer_with_validator tests/test_deserialization.py::TestValidation::test_integer_with_validators[field0] tests/test_deserialization.py::TestValidation::test_integer_with_validators[field1] tests/test_deserialization.py::TestValidation::test_integer_with_validators[field2] tests/test_deserialization.py::TestValidation::test_float_with_validators[field0] tests/test_deserialization.py::TestValidation::test_float_with_validators[field1] tests/test_deserialization.py::TestValidation::test_float_with_validators[field2] tests/test_deserialization.py::TestValidation::test_string_validator tests/test_deserialization.py::TestValidation::test_function_validator tests/test_deserialization.py::TestValidation::test_function_validators[field0] tests/test_deserialization.py::TestValidation::test_function_validators[field1] tests/test_deserialization.py::TestValidation::test_function_validators[field2] tests/test_deserialization.py::TestValidation::test_method_validator tests/test_deserialization.py::TestValidation::test_nested_data_is_stored_when_validation_fails tests/test_deserialization.py::TestValidation::test_false_value_validation tests/test_deserialization.py::TestValidation::test_nested_partial_load tests/test_deserialization.py::TestValidation::test_deeply_nested_partial_load tests/test_deserialization.py::TestValidation::test_nested_partial_tuple tests/test_deserialization.py::test_required_field_failure[String] tests/test_deserialization.py::test_required_field_failure[Integer] tests/test_deserialization.py::test_required_field_failure[Boolean] tests/test_deserialization.py::test_required_field_failure[Float] tests/test_deserialization.py::test_required_field_failure[Number] tests/test_deserialization.py::test_required_field_failure[DateTime] tests/test_deserialization.py::test_required_field_failure[LocalDateTime] tests/test_deserialization.py::test_required_field_failure[Time] tests/test_deserialization.py::test_required_field_failure[Date] tests/test_deserialization.py::test_required_field_failure[TimeDelta] tests/test_deserialization.py::test_required_field_failure[Dict] tests/test_deserialization.py::test_required_field_failure[Url] tests/test_deserialization.py::test_required_field_failure[Email] tests/test_deserialization.py::test_required_field_failure[UUID] tests/test_deserialization.py::test_required_field_failure[Decimal] tests/test_deserialization.py::test_required_message_can_be_changed[My tests/test_deserialization.py::test_required_message_can_be_changed[message1] tests/test_deserialization.py::test_required_message_can_be_changed[message2] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[True-exclude] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[True-include] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[True-raise] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[False-exclude] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[False-include] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[False-raise] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[42-exclude] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[42-include] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[42-raise] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[None-exclude] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[None-include] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[None-raise] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[data4-exclude] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[data4-include] tests/test_deserialization.py::test_deserialize_raises_exception_if_input_type_is_incorrect[data4-raise] tests/test_fields.py::test_field_aliases[Integer-Integer] tests/test_fields.py::test_field_aliases[String-String] tests/test_fields.py::test_field_aliases[Boolean-Boolean] tests/test_fields.py::test_field_aliases[Url-Url] tests/test_fields.py::TestField::test_repr tests/test_fields.py::TestField::test_error_raised_if_uncallable_validator_passed tests/test_fields.py::TestField::test_error_raised_if_missing_is_set_on_required_field tests/test_fields.py::TestField::test_custom_field_receives_attr_and_obj tests/test_fields.py::TestField::test_custom_field_receives_data_key_if_set tests/test_fields.py::TestField::test_custom_field_follows_data_key_if_set tests/test_fields.py::TestField::test_number_fields_prohbits_boolean tests/test_fields.py::TestParentAndName::test_simple_field_parent_and_name tests/test_fields.py::TestParentAndName::test_unbound_field_root_returns_none tests/test_fields.py::TestParentAndName::test_list_field_inner_parent_and_name tests/test_fields.py::TestParentAndName::test_tuple_field_inner_parent_and_name tests/test_fields.py::TestParentAndName::test_simple_field_root tests/test_fields.py::TestParentAndName::test_list_field_inner_root tests/test_fields.py::TestParentAndName::test_tuple_field_inner_root tests/test_fields.py::TestParentAndName::test_list_root_inheritance tests/test_fields.py::TestParentAndName::test_dict_root_inheritance tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[String] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Integer] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Boolean] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Float] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Number] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[DateTime] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[LocalDateTime] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Time] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Date] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[TimeDelta] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Dict] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Url] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Email] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[UUID] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Decimal] tests/test_fields.py::TestErrorMessages::test_default_error_messages_get_merged_with_parent_error_messages_cstm_msg tests/test_fields.py::TestErrorMessages::test_default_error_messages_get_merged_with_parent_error_messages tests/test_fields.py::TestErrorMessages::test_fail tests/test_fields.py::TestNestedField::test_nested_only_and_exclude_as_string[only] tests/test_fields.py::TestNestedField::test_nested_only_and_exclude_as_string[exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[None-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[None-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[None-raise] tests/test_fields.py::TestNestedField::test_nested_unknown_override[exclude-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[exclude-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[exclude-raise] tests/test_fields.py::TestNestedField::test_nested_unknown_override[include-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[include-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[include-raise] tests/test_fields.py::TestNestedField::test_nested_unknown_override[raise-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[raise-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[raise-raise] tests/test_serialization.py::TestFieldSerialization::test_number[42-42.0] tests/test_serialization.py::TestFieldSerialization::test_number[0-0.0] tests/test_serialization.py::TestFieldSerialization::test_number[None-None] tests/test_serialization.py::TestFieldSerialization::test_number_as_string tests/test_serialization.py::TestFieldSerialization::test_number_as_string_passed_none tests/test_serialization.py::TestFieldSerialization::test_function_field_passed_func tests/test_serialization.py::TestFieldSerialization::test_function_field_passed_serialize_only_is_dump_only tests/test_serialization.py::TestFieldSerialization::test_function_field_passed_deserialize_and_serialize_is_not_dump_only tests/test_serialization.py::TestFieldSerialization::test_function_field_passed_serialize tests/test_serialization.py::TestFieldSerialization::test_function_field_does_not_swallow_attribute_error tests/test_serialization.py::TestFieldSerialization::test_function_field_load_only tests/test_serialization.py::TestFieldSerialization::test_function_field_passed_serialize_with_context tests/test_serialization.py::TestFieldSerialization::test_function_field_passed_uncallable_object tests/test_serialization.py::TestFieldSerialization::test_integer_field tests/test_serialization.py::TestFieldSerialization::test_integer_as_string_field tests/test_serialization.py::TestFieldSerialization::test_integer_field_default tests/test_serialization.py::TestFieldSerialization::test_integer_field_default_set_to_none tests/test_serialization.py::TestFieldSerialization::test_uuid_field tests/test_serialization.py::TestFieldSerialization::test_decimal_field tests/test_serialization.py::TestFieldSerialization::test_decimal_field_string tests/test_serialization.py::TestFieldSerialization::test_decimal_field_special_values tests/test_serialization.py::TestFieldSerialization::test_decimal_field_special_values_not_permitted tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[nan-None] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[nan-False] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[nan-True] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[-nan-None] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[-nan-False] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[-nan-True] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[inf-None] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[inf-False] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[inf-True] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[-inf-None] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[-inf-False] tests/test_serialization.py::TestFieldSerialization::test_float_field_allow_nan[-inf-True] tests/test_serialization.py::TestFieldSerialization::test_decimal_field_fixed_point_representation tests/test_serialization.py::TestFieldSerialization::test_boolean_field_serialization tests/test_serialization.py::TestFieldSerialization::test_function_with_uncallable_param tests/test_serialization.py::TestFieldSerialization::test_email_field_serialize_none tests/test_serialization.py::TestFieldSerialization::test_dict_field_serialize_none tests/test_serialization.py::TestFieldSerialization::test_dict_field_invalid_dict_but_okay tests/test_serialization.py::TestFieldSerialization::test_dict_field_serialize tests/test_serialization.py::TestFieldSerialization::test_dict_field_serialize_ordereddict tests/test_serialization.py::TestFieldSerialization::test_structured_dict_value_serialize tests/test_serialization.py::TestFieldSerialization::test_structured_dict_key_serialize tests/test_serialization.py::TestFieldSerialization::test_structured_dict_key_value_serialize tests/test_serialization.py::TestFieldSerialization::test_structured_dict_validates tests/test_serialization.py::TestFieldSerialization::test_url_field_serialize_none tests/test_serialization.py::TestFieldSerialization::test_method_field_with_method_missing tests/test_serialization.py::TestFieldSerialization::test_method_field_passed_serialize_only_is_dump_only tests/test_serialization.py::TestFieldSerialization::test_method_field_passed_deserialize_only_is_load_only tests/test_serialization.py::TestFieldSerialization::test_method_field_with_uncallable_attribute tests/test_serialization.py::TestFieldSerialization::test_method_field_does_not_swallow_attribute_error tests/test_serialization.py::TestFieldSerialization::test_method_with_no_serialize_is_missing tests/test_serialization.py::TestFieldSerialization::test_serialize_with_data_key_param tests/test_serialization.py::TestFieldSerialization::test_serialize_with_attribute_and_data_key_uses_data_key tests/test_serialization.py::TestFieldSerialization::test_datetime_serializes_to_iso_by_default tests/test_serialization.py::TestFieldSerialization::test_datetime_invalid_serialization[invalid] tests/test_serialization.py::TestFieldSerialization::test_datetime_invalid_serialization[value1] tests/test_serialization.py::TestFieldSerialization::test_datetime_invalid_serialization[24] tests/test_serialization.py::TestFieldSerialization::test_datetime_field_rfc822[rfc] tests/test_serialization.py::TestFieldSerialization::test_datetime_field_rfc822[rfc822] tests/test_serialization.py::TestFieldSerialization::test_localdatetime_rfc_field tests/test_serialization.py::TestFieldSerialization::test_datetime_iso8601[iso] tests/test_serialization.py::TestFieldSerialization::test_datetime_iso8601[iso8601] tests/test_serialization.py::TestFieldSerialization::test_localdatetime_iso tests/test_serialization.py::TestFieldSerialization::test_datetime_format tests/test_serialization.py::TestFieldSerialization::test_string_field tests/test_serialization.py::TestFieldSerialization::test_string_field_default_to_empty_string tests/test_serialization.py::TestFieldSerialization::test_time_field tests/test_serialization.py::TestFieldSerialization::test_invalid_time_field_serialization[badvalue] tests/test_serialization.py::TestFieldSerialization::test_invalid_time_field_serialization[] tests/test_serialization.py::TestFieldSerialization::test_invalid_time_field_serialization[in_data2] tests/test_serialization.py::TestFieldSerialization::test_invalid_time_field_serialization[42] tests/test_serialization.py::TestFieldSerialization::test_date_field tests/test_serialization.py::TestFieldSerialization::test_invalid_date_field_serialization[badvalue] tests/test_serialization.py::TestFieldSerialization::test_invalid_date_field_serialization[] tests/test_serialization.py::TestFieldSerialization::test_invalid_date_field_serialization[in_data2] tests/test_serialization.py::TestFieldSerialization::test_invalid_date_field_serialization[42] tests/test_serialization.py::TestFieldSerialization::test_timedelta_field tests/test_serialization.py::TestFieldSerialization::test_datetime_list_field tests/test_serialization.py::TestFieldSerialization::test_list_field_with_error tests/test_serialization.py::TestFieldSerialization::test_datetime_list_serialize_single_value tests/test_serialization.py::TestFieldSerialization::test_list_field_serialize_none_returns_none tests/test_serialization.py::TestFieldSerialization::test_list_field_respect_inner_attribute tests/test_serialization.py::TestFieldSerialization::test_list_field_respect_inner_attribute_single_value tests/test_serialization.py::TestFieldSerialization::test_list_field_work_with_generator_single_value tests/test_serialization.py::TestFieldSerialization::test_list_field_work_with_generators_multiple_values tests/test_serialization.py::TestFieldSerialization::test_list_field_work_with_generators_error tests/test_serialization.py::TestFieldSerialization::test_list_field_work_with_generators_empty_generator_returns_none_for_every_non_returning_yield_statement tests/test_serialization.py::TestFieldSerialization::test_list_field_work_with_set tests/test_serialization.py::TestFieldSerialization::test_list_field_work_with_custom_class_with_iterator_protocol tests/test_serialization.py::TestFieldSerialization::test_bad_list_field tests/test_serialization.py::TestFieldSerialization::test_datetime_integer_tuple_field tests/test_serialization.py::TestFieldSerialization::test_tuple_field_with_error[obj0] tests/test_serialization.py::TestFieldSerialization::test_tuple_field_with_error[obj1] tests/test_serialization.py::TestFieldSerialization::test_tuple_field_with_error[obj2] tests/test_serialization.py::TestFieldSerialization::test_tuple_field_serialize_none_returns_none tests/test_serialization.py::TestFieldSerialization::test_tuple_field_respect_inner_attribute tests/test_serialization.py::TestFieldSerialization::test_bad_tuple_field tests/test_serialization.py::TestFieldSerialization::test_serialize_does_not_apply_validators tests/test_serialization.py::TestFieldSerialization::test_constant_field_serialization tests/test_serialization.py::TestFieldSerialization::test_constant_is_always_included_in_serialized_data tests/test_serialization.py::TestFieldSerialization::test_constant_field_serialize_when_omitted tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[String] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Integer] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Boolean] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Float] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Number] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[DateTime] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[LocalDateTime] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Time] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Date] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[TimeDelta] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Dict] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Url] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Email] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[UUID] tests/test_serialization.py::TestFieldSerialization::test_all_fields_serialize_none_to_none[Decimal] tests/test_serialization.py::TestSchemaSerialization::test_serialize_with_missing_param_value tests/test_serialization.py::TestSchemaSerialization::test_serialize_with_missing_param_callable tests/test_serialization.py::test_serializing_named_tuple tests/test_serialization.py::test_serializing_named_tuple_with_meta tests/test_serialization.py::test_serializing_slice tests/test_utils.py::test_missing_singleton_copy tests/test_utils.py::test_get_value_from_object[obj0] tests/test_utils.py::test_get_value_from_object[obj1] tests/test_utils.py::test_get_value_from_object[obj2] tests/test_utils.py::test_get_value_from_object[obj3] tests/test_utils.py::test_get_value_from_namedtuple_with_default tests/test_utils.py::test_get_value_for_nested_object tests/test_utils.py::test_get_value_from_dict tests/test_utils.py::test_get_value tests/test_utils.py::test_set_value tests/test_utils.py::test_is_keyed_tuple tests/test_utils.py::test_is_collection tests/test_utils.py::test_rfcformat_gmt_naive tests/test_utils.py::test_rfcformat_central tests/test_utils.py::test_rfcformat_central_localized tests/test_utils.py::test_isoformat tests/test_utils.py::test_isoformat_tzaware tests/test_utils.py::test_isoformat_localtime tests/test_utils.py::test_from_rfc[True] tests/test_utils.py::test_from_rfc[False] tests/test_utils.py::test_from_iso_datetime[True] tests/test_utils.py::test_from_iso_datetime[False] tests/test_utils.py::test_from_iso_with_tz tests/test_utils.py::test_from_iso_time_with_microseconds[True] tests/test_utils.py::test_from_iso_time_with_microseconds[False] tests/test_utils.py::test_from_iso_time_without_microseconds[True] tests/test_utils.py::test_from_iso_time_without_microseconds[False] tests/test_utils.py::test_from_iso_date[True] tests/test_utils.py::test_from_iso_date[False] tests/test_utils.py::test_get_func_args
CHANGELOG.rst src/marshmallow/utils.py docs/upgrading.rst src/marshmallow/fields.py
CHANGELOG.rst src/marshmallow/utils.py docs/upgrading.rst src/marshmallow/fields.py