In Python 3.3 \"abstract base classes\" in collections (like MutableMapping or MutableSequence) were moved to second-level module
Place this at the top of the script:
import collections
try:
collectionsAbc = collections.abc
except AttributeError:
collectionsAbc = collections
Then change all prefixes of the abstract base types, e.g. change collections.abc.MutableMapping or collections.MutableMapping to collectionsAbc.MutableMapping.
Alternatively, import what you require in the script at the top in a single place:
try:
from collections.abc import Callable # noqa
except ImportError:
from collections import Callable # noqa