Cherry-pick PR 12927 into release-2.25.0 branch
diff --git a/sdks/python/container/base_image_requirements.txt b/sdks/python/container/base_image_requirements.txt
index fe00148..0ae1945 100644
--- a/sdks/python/container/base_image_requirements.txt
+++ b/sdks/python/container/base_image_requirements.txt
@@ -25,7 +25,7 @@
 
 avro==1.8.2;python_version<="2.7"
 avro-python3==1.8.2;python_version>="3.4"
-fastavro==0.23.3
+fastavro==1.0.0.post1
 crcmod==1.7
 dill==0.3.1.1
 future==0.18.2
@@ -34,7 +34,7 @@
 hdfs==2.5.8
 httplib2==0.12.0
 mock==2.0.0
-oauth2client==3.0.0
+oauth2client==4.1.3
 protobuf==3.12.2
 pyarrow==0.16.0
 pydot==1.4.1
diff --git a/sdks/python/setup.py b/sdks/python/setup.py
index 9263bb6..a0fc19f 100644
--- a/sdks/python/setup.py
+++ b/sdks/python/setup.py
@@ -141,7 +141,7 @@
     # server, therefore list of allowed versions is very narrow.
     # See: https://github.com/uqfoundation/dill/issues/341.
     'dill>=0.3.1.1,<0.3.2',
-    'fastavro>=0.21.4,<0.24',
+    'fastavro>=0.21.4,<2',
     'funcsigs>=1.0.2,<2; python_version < "3.0"',
     'future>=0.18.2,<1.0.0',
     'futures>=3.2.0,<4.0.0; python_version < "3.0"',
@@ -151,7 +151,7 @@
     'mock>=1.0.1,<3.0.0',
     'numpy>=1.14.3,<2',
     'pymongo>=3.8.0,<4.0.0',
-    'oauth2client>=2.0.1,<4',
+    'oauth2client>=2.0.1,<5',
     'protobuf>=3.12.2,<4',
     # [BEAM-6287] pyarrow is not supported on Windows for Python 2
     ('pyarrow>=0.15.1,<0.18.0; python_version >= "3.0" or '
@@ -199,7 +199,7 @@
     ]
 
 GCP_REQUIREMENTS = [
-    'cachetools>=3.1.0,<4',
+    'cachetools>=3.1.0,<5',
     'google-apitools>=0.5.31,<0.5.32',
     'google-auth>=1.18.0,<2',
     'google-cloud-datastore>=1.7.1,<2',