diff --git a/onecodex/vendored/potion_client/__init__.py b/onecodex/vendored/potion_client/__init__.py
index <HASH>..<HASH> 100644
--- a/onecodex/vendored/potion_client/__init__.py
+++ b/onecodex/vendored/potion_client/__init__.py
@@ -3,9 +3,13 @@ from functools import partial
 from operator import getitem, delitem, setitem
 from six.moves.urllib.parse import urlparse, urljoin
 from weakref import WeakValueDictionary
-import collections
 import requests
 
+try:
+    from collections.abc import MutableMapping
+except ImportError:
+    from collections import MutableMapping  # removed in Python 3.9+
+
 from .converter import PotionJSONDecoder, PotionJSONSchemaDecoder
 from .resource import Reference, Resource, uri_for
 from .links import Link
@@ -86,7 +90,7 @@ class Client(object):
         :param Resource resource_cls: a subclass of :class:`Resource` or None
         :return: The new :class:`Resource`.
         """
-        cls = type(str(upper_camel_case(name)), (resource_cls or Resource, collections.MutableMapping), {
+        cls = type(str(upper_camel_case(name)), (resource_cls or Resource, MutableMapping), {
             '__doc__': schema.get('description', '')
         })
Update vendored potion-client library for compatibility with collections imports in Python <I>