Utility Functions¶
Utility methods for marshmallow.
-
marshmallow.utils.
callable_or_raise
(obj)[source]¶ Check that an object is callable, else raise a
ValueError
.
-
marshmallow.utils.
from_iso_datetime
(value)[source]¶ Parse a string and return a datetime.datetime.
This function supports time zone offsets. When the input contains one, the output uses a timezone with a fixed offset from UTC.
-
marshmallow.utils.
from_iso_time
(value)[source]¶ Parse a string and return a datetime.time.
This function doesn’t support time zone offsets.
-
marshmallow.utils.
from_rfc
(datestring: str) → datetime.datetime[source]¶ Parse a RFC822-formatted datetime string and return a datetime object.
https://stackoverflow.com/questions/885015/how-to-parse-a-rfc-2822-date-time-into-a-python-datetime # noqa: B950
-
marshmallow.utils.
get_fixed_timezone
(offset: Union[int, float, datetime.timedelta]) → datetime.timezone[source]¶ Return a tzinfo instance with a fixed offset from UTC.
-
marshmallow.utils.
get_func_args
(func: Callable) → List[str][source]¶ Given a callable, return a list of argument names. Handles
functools.partial
objects and class-based callables.Changed in version 3.0.0a1: Do not return bound arguments, eg.
self
.
-
marshmallow.utils.
get_value
(obj, key: Union[int, str], default=<marshmallow.missing>)[source]¶ Helper for pulling a keyed value off various types of objects. Fields use this method by default to access attributes of the source object. For object
x
and attributei
, this method first tries to accessx[i]
, and then falls back tox.i
if an exception is raised.Warning
If an object
x
does not raise an exception whenx[i]
does not exist,get_value
will never check the valuex.i
. Consider overridingmarshmallow.fields.Field.get_value
in this case.
-
marshmallow.utils.
is_collection
(obj) → bool[source]¶ Return True if
obj
is a collection type, e.g list, tuple, queryset.
-
marshmallow.utils.
is_instance_or_subclass
(val, class_) → bool[source]¶ Return True if
val
is either a subclass or instance ofclass_
.
-
marshmallow.utils.
is_iterable_but_not_string
(obj) → bool[source]¶ Return True if
obj
is an iterable object that isn’t a string.
-
marshmallow.utils.
is_keyed_tuple
(obj) → bool[source]¶ Return True if
obj
has keyed tuple behavior, such as namedtuples or SQLAlchemy’s KeyedTuples.
-
marshmallow.utils.
isoformat
(datetime: datetime.datetime) → str[source]¶ Return the ISO8601-formatted representation of a datetime object.
- Parameters
datetime (datetime) – The datetime.
-
marshmallow.utils.
pluck
(dictlist: List[Dict[str, Any]], key: str)[source]¶ Extracts a list of dictionary values from a list of dictionaries.
>>> dlist = [{'id': 1, 'name': 'foo'}, {'id': 2, 'name': 'bar'}] >>> pluck(dlist, 'id') [1, 2]
-
marshmallow.utils.
pprint
(obj, *args, **kwargs) → None[source]¶ Pretty-printing function that can pretty-print OrderedDicts like regular dictionaries. Useful for printing the output of
marshmallow.Schema.dump()
.Deprecated since version 3.7.0: marshmallow.pprint will be removed in marshmallow 4.
-
marshmallow.utils.
resolve_field_instance
(cls_or_instance)[source]¶ Return a Schema instance from a Schema class or instance.
- Parameters
cls_or_instance (type|Schema) – Marshmallow Schema class or instance.
-
marshmallow.utils.
rfcformat
(datetime: datetime.datetime) → str[source]¶ Return the RFC822-formatted representation of a datetime object.
- Parameters
datetime (datetime) – The datetime.