diff --git a/docs/android_device_service.md b/docs/android_device_service.md
index 220ff19..a2b394d 100644
--- a/docs/android_device_service.md
+++ b/docs/android_device_service.md
@@ -24,7 +24,7 @@
 `my_service.py`
 
 ```python
-class Configs(object):
+class Configs:
   def __init__(self, secret=None):
     self.secret = secret
 
diff --git a/mobly/asserts.py b/mobly/asserts.py
index 04a556d..b579000 100644
--- a/mobly/asserts.py
+++ b/mobly/asserts.py
@@ -253,7 +253,7 @@
   raise signals.TestPass(msg, extras)
 
 
-class _AssertRaisesContext(object):
+class _AssertRaisesContext:
   """A context manager used to implement TestCase.assertRaises* methods."""
 
   def __init__(self, expected, expected_regexp=None, extras=None):
diff --git a/mobly/base_instrumentation_test.py b/mobly/base_instrumentation_test.py
index 504af1c..9c24386 100644
--- a/mobly/base_instrumentation_test.py
+++ b/mobly/base_instrumentation_test.py
@@ -22,7 +22,7 @@
 from mobly import utils
 
 
-class _InstrumentationStructurePrefixes(object):
+class _InstrumentationStructurePrefixes:
   """Class containing prefixes that structure insturmentation output.
 
   Android instrumentation generally follows the following format:
@@ -63,7 +63,7 @@
   FAILED = 'INSTRUMENTATION_FAILED:'
 
 
-class _InstrumentationKnownStatusKeys(object):
+class _InstrumentationKnownStatusKeys:
   """Commonly used keys used in instrumentation output for listing
   instrumentation test method result properties.
 
@@ -96,7 +96,7 @@
   STREAM = 'stream'
 
 
-class _InstrumentationStatusCodes(object):
+class _InstrumentationStatusCodes:
   """A mapping of instrumentation status codes to test method results.
 
   When instrumentation runs, at various points output is created in a series
@@ -135,7 +135,7 @@
   ASSUMPTION_FAILURE = '-4'
 
 
-class _InstrumentationStatusCodeCategories(object):
+class _InstrumentationStatusCodeCategories:
   """A mapping of instrumentation test method results to categories.
 
   Aside from the TIMING category, these categories roughly map to Mobly
@@ -160,7 +160,7 @@
   ]
 
 
-class _InstrumentationKnownResultKeys(object):
+class _InstrumentationKnownResultKeys:
   """Commonly used keys for outputting instrumentation errors.
 
   When instrumentation finishes running all of the instrumentation test
@@ -192,7 +192,7 @@
   SHORTMSG = 'shortMsg'
 
 
-class _InstrumentationResultSignals(object):
+class _InstrumentationResultSignals:
   """Instrumenttion result block strings for signalling run completion.
 
   The final section of the instrumentation output generally follows this
@@ -242,7 +242,7 @@
   RESULT = 2
 
 
-class _InstrumentationBlock(object):
+class _InstrumentationBlock:
   """Container class for parsed instrumentation output for instrumentation
   test methods.
 
@@ -465,7 +465,7 @@
       return next_block
 
 
-class _InstrumentationBlockFormatter(object):
+class _InstrumentationBlockFormatter:
   """Takes an instrumentation block and converts it into a Mobly test
   result.
   """
@@ -651,7 +651,7 @@
       raise signals.TestError(details=error_message, extras=extras)
 
 
-class InstrumentationTestMixin(object):
+class InstrumentationTestMixin:
   """A mixin for Mobly test classes to inherit from for instrumentation tests.
 
   This class should be used in a subclass of both BaseTestClass and this class
diff --git a/mobly/base_test.py b/mobly/base_test.py
index bf507e4..f1a28bf 100644
--- a/mobly/base_test.py
+++ b/mobly/base_test.py
@@ -48,7 +48,7 @@
   """Raised for exceptions that occurred in BaseTestClass."""
 
 
-class BaseTestClass(object):
+class BaseTestClass:
   """Base class for all test classes to inherit from.
 
   This class gets all the controller objects from test_runner and executes
diff --git a/mobly/config_parser.py b/mobly/config_parser.py
index 8a8d2bd..0f31cdc 100644
--- a/mobly/config_parser.py
+++ b/mobly/config_parser.py
@@ -156,7 +156,7 @@
     return conf
 
 
-class TestRunConfig(object):
+class TestRunConfig:
   """The data class that holds all the information needed for a test run.
 
   Attributes:
diff --git a/mobly/controller_manager.py b/mobly/controller_manager.py
index 147e320..c55b5cd 100644
--- a/mobly/controller_manager.py
+++ b/mobly/controller_manager.py
@@ -49,7 +49,7 @@
           (attr, module.__name__))
 
 
-class ControllerManager(object):
+class ControllerManager:
   """Manages the controller objects for Mobly tests.
 
   This manages the life cycles and info retrieval of all controller objects
diff --git a/mobly/controllers/android_device.py b/mobly/controllers/android_device.py
index 51aa210..ddd961b 100644
--- a/mobly/controllers/android_device.py
+++ b/mobly/controllers/android_device.py
@@ -413,7 +413,7 @@
   utils.concurrent_exec(take_br, args)
 
 
-class AndroidDevice(object):
+class AndroidDevice:
   """Class representing an android device.
 
   Each object of this class represents one Android device in Mobly. This class
diff --git a/mobly/controllers/android_device_lib/adb.py b/mobly/controllers/android_device_lib/adb.py
index 11539fb..039dd8a 100644
--- a/mobly/controllers/android_device_lib/adb.py
+++ b/mobly/controllers/android_device_lib/adb.py
@@ -128,7 +128,7 @@
   return used_ports
 
 
-class AdbProxy(object):
+class AdbProxy:
   """Proxy class for ADB.
 
   For syntactic reasons, the '-' in adb commands need to be replaced with
diff --git a/mobly/controllers/android_device_lib/callback_handler.py b/mobly/controllers/android_device_lib/callback_handler.py
index ccfbec0..d9e5472 100644
--- a/mobly/controllers/android_device_lib/callback_handler.py
+++ b/mobly/controllers/android_device_lib/callback_handler.py
@@ -32,7 +32,7 @@
   pass
 
 
-class CallbackHandler(object):
+class CallbackHandler:
   """The class used to handle a specific group of callback events.
 
   All the events handled by a CallbackHandler are originally triggered by one
diff --git a/mobly/controllers/android_device_lib/jsonrpc_client_base.py b/mobly/controllers/android_device_lib/jsonrpc_client_base.py
index 352aa65..39e95b9 100644
--- a/mobly/controllers/android_device_lib/jsonrpc_client_base.py
+++ b/mobly/controllers/android_device_lib/jsonrpc_client_base.py
@@ -97,7 +97,7 @@
   MISMATCHED_API_ID = 'RPC request-response ID mismatch.'
 
 
-class JsonRpcCommand(object):
+class JsonRpcCommand:
   """Commands that can be invoked on all jsonrpc clients.
 
   INIT: Initializes a new session.
diff --git a/mobly/controllers/android_device_lib/jsonrpc_shell_base.py b/mobly/controllers/android_device_lib/jsonrpc_shell_base.py
index 72bfddd..24488a2 100755
--- a/mobly/controllers/android_device_lib/jsonrpc_shell_base.py
+++ b/mobly/controllers/android_device_lib/jsonrpc_shell_base.py
@@ -25,7 +25,7 @@
   pass
 
 
-class JsonRpcShellBase(object):
+class JsonRpcShellBase:
 
   def _start_services(self, console_env):
     """Starts the services needed by this client and adds them to console_env.
diff --git a/mobly/controllers/android_device_lib/service_manager.py b/mobly/controllers/android_device_lib/service_manager.py
index 144ec54..1885ac8 100644
--- a/mobly/controllers/android_device_lib/service_manager.py
+++ b/mobly/controllers/android_device_lib/service_manager.py
@@ -27,7 +27,7 @@
   """Root error type for this module."""
 
 
-class ServiceManager(object):
+class ServiceManager:
   """Manager for services of AndroidDevice.
 
   A service is a long running process that involves an Android device, like
diff --git a/mobly/controllers/android_device_lib/services/logcat.py b/mobly/controllers/android_device_lib/services/logcat.py
index e02c14c..54be1cc 100644
--- a/mobly/controllers/android_device_lib/services/logcat.py
+++ b/mobly/controllers/android_device_lib/services/logcat.py
@@ -30,7 +30,7 @@
   SERVICE_TYPE = 'Logcat'
 
 
-class Config(object):
+class Config:
   """Config object for logcat service.
 
   Attributes:
diff --git a/mobly/controllers/android_device_lib/snippet_event.py b/mobly/controllers/android_device_lib/snippet_event.py
index bd38671..88f8ca1 100644
--- a/mobly/controllers/android_device_lib/snippet_event.py
+++ b/mobly/controllers/android_device_lib/snippet_event.py
@@ -28,7 +28,7 @@
                       data=event_dict['data'])
 
 
-class SnippetEvent(object):
+class SnippetEvent:
   """The class that represents callback events for mobly snippet library.
 
   Attributes:
diff --git a/mobly/controllers/attenuator.py b/mobly/controllers/attenuator.py
index aef9d71..cbe3cb3 100644
--- a/mobly/controllers/attenuator.py
+++ b/mobly/controllers/attenuator.py
@@ -97,7 +97,7 @@
       raise Error("Required key %s missing from config %s", (key, config))
 
 
-class AttenuatorPath(object):
+class AttenuatorPath:
   """A convenience class that allows users to control each attenuator path
     separately as different objects, as opposed to passing in an index number
     to the functions of an attenuator device object.
diff --git a/mobly/controllers/attenuator_lib/minicircuits.py b/mobly/controllers/attenuator_lib/minicircuits.py
index bb3eb68..4cbc1de 100644
--- a/mobly/controllers/attenuator_lib/minicircuits.py
+++ b/mobly/controllers/attenuator_lib/minicircuits.py
@@ -22,7 +22,7 @@
 from mobly.controllers.attenuator_lib import telnet_scpi_client
 
 
-class AttenuatorDevice(object):
+class AttenuatorDevice:
   """This provides a specific telnet-controlled implementation of
     AttenuatorDevice for Mini-Circuits RC-DAT attenuators.
 
diff --git a/mobly/controllers/attenuator_lib/telnet_scpi_client.py b/mobly/controllers/attenuator_lib/telnet_scpi_client.py
index 31660a9..4dde387 100644
--- a/mobly/controllers/attenuator_lib/telnet_scpi_client.py
+++ b/mobly/controllers/attenuator_lib/telnet_scpi_client.py
@@ -26,7 +26,7 @@
   return str(uc_string).encode('ASCII')
 
 
-class TelnetScpiClient(object):
+class TelnetScpiClient:
   """This is an internal helper class for Telnet+SCPI command-based
     instruments. It should only be used by those implemention control libraries
     and not by any user code directly.
diff --git a/mobly/controllers/iperf_server.py b/mobly/controllers/iperf_server.py
index 19da297..e4dcb81 100644
--- a/mobly/controllers/iperf_server.py
+++ b/mobly/controllers/iperf_server.py
@@ -41,7 +41,7 @@
       pass
 
 
-class IPerfResult(object):
+class IPerfResult:
 
   def __init__(self, result_path):
     try:
diff --git a/mobly/controllers/monsoon.py b/mobly/controllers/monsoon.py
index dbfc400..ebce894 100644
--- a/mobly/controllers/monsoon.py
+++ b/mobly/controllers/monsoon.py
@@ -96,7 +96,7 @@
   """Raised for exceptions encountered in monsoon lib."""
 
 
-class MonsoonProxy(object):
+class MonsoonProxy:
   """Class that directly talks to monsoon over serial.
 
     Provides a simple class to use the power meter, e.g.
@@ -435,7 +435,7 @@
     #     logging.info("dropped >%d bytes" % flushed)
 
 
-class MonsoonData(object):
+class MonsoonData:
   """A class for reporting power measurement data from monsoon.
 
     Data means the measured current value in Amps.
@@ -653,9 +653,8 @@
     return self._header()
 
 
-class Monsoon(object):
-  """The wrapper class for test scripts to interact with monsoon.
-    """
+class Monsoon:
+  """The wrapper class for test scripts to interact with monsoon."""
 
   def __init__(self, *args, **kwargs):
     serial = kwargs["serial"]
diff --git a/mobly/controllers/sniffer.py b/mobly/controllers/sniffer.py
index 445c221..91293b4 100644
--- a/mobly/controllers/sniffer.py
+++ b/mobly/controllers/sniffer.py
@@ -91,7 +91,7 @@
   pass
 
 
-class Sniffer(object):
+class Sniffer:
   """This class defines an object representing a sniffer.
 
     The object defines the generic behavior of sniffers - irrespective of how
@@ -268,7 +268,7 @@
     raise NotImplementedError("Base class should not be called directly!")
 
 
-class ActiveCaptureContext(object):
+class ActiveCaptureContext:
   """This class defines an object representing an active sniffer capture.
 
     The object is returned by a Sniffer.start_capture() command and terminates
diff --git a/mobly/expects.py b/mobly/expects.py
index 8125775..9475758 100644
--- a/mobly/expects.py
+++ b/mobly/expects.py
@@ -29,7 +29,7 @@
 DEFAULT_TEST_RESULT_RECORD = records.TestResultRecord('mobly', 'global')
 
 
-class _ExpectErrorRecorder(object):
+class _ExpectErrorRecorder:
   """Singleton used to store errors caught via `expect_*` functions in test.
 
   This class is only instantiated once as a singleton. It holds a reference
diff --git a/mobly/records.py b/mobly/records.py
index 3201bed..8dcc5be 100644
--- a/mobly/records.py
+++ b/mobly/records.py
@@ -99,7 +99,7 @@
   """Raised for errors in records."""
 
 
-class TestSummaryWriter(object):
+class TestSummaryWriter:
   """Writer for the test result summary file of a test run.
 
   For each test run, a writer is created to stream test results to the
@@ -165,7 +165,7 @@
                        indent=4)
 
 
-class TestResultEnums(object):
+class TestResultEnums:
   """Enums used for TestResultRecord class.
 
   Includes the tokens to mark test result with, and the string names for each
@@ -189,7 +189,7 @@
   TEST_RESULT_ERROR = 'ERROR'
 
 
-class ControllerInfoRecord(object):
+class ControllerInfoRecord:
   """A record representing the controller info in test results."""
 
   KEY_TEST_CLASS = TestResultEnums.RECORD_CLASS
@@ -215,7 +215,7 @@
     return str(self.to_dict())
 
 
-class ExceptionRecord(object):
+class ExceptionRecord:
   """A record representing exception objects in TestResultRecord.
 
   Attributes:
@@ -289,7 +289,7 @@
     return result
 
 
-class TestResultRecord(object):
+class TestResultRecord:
   """A record that holds the information of a single test.
 
   The record object holds all information of a test, including all the
@@ -489,7 +489,7 @@
     return d
 
 
-class TestResult(object):
+class TestResult:
   """A class that contains metrics of a test run.
 
   This class is essentially a container of TestResultRecord objects.
diff --git a/mobly/runtime_test_info.py b/mobly/runtime_test_info.py
index eba7482..99a5c72 100644
--- a/mobly/runtime_test_info.py
+++ b/mobly/runtime_test_info.py
@@ -18,7 +18,7 @@
 from mobly import utils
 
 
-class RuntimeTestInfo(object):
+class RuntimeTestInfo:
   """Container class for runtime information of a test or test stage.
 
   One object corresponds to one test. This is meant to be a read-only class.
diff --git a/mobly/test_runner.py b/mobly/test_runner.py
index 801d4ee..df1075a 100644
--- a/mobly/test_runner.py
+++ b/mobly/test_runner.py
@@ -174,7 +174,7 @@
     print(name)
 
 
-class TestRunner(object):
+class TestRunner:
   """The class that instantiates test classes, executes tests, and
   report results.
 
@@ -187,7 +187,7 @@
       this test run.
   """
 
-  class _TestRunInfo(object):
+  class _TestRunInfo:
     """Identifies one test class to run, which tests to run, and config to
     run it with.
     """
diff --git a/tests/lib/jsonrpc_client_test_base.py b/tests/lib/jsonrpc_client_test_base.py
index c37a0c5..e3b96d1 100755
--- a/tests/lib/jsonrpc_client_test_base.py
+++ b/tests/lib/jsonrpc_client_test_base.py
@@ -43,7 +43,7 @@
   MOCK_RESP_FLEXIABLE_RESULT_LENGTH = (
       '{"id": 0, "result": "%s", "error": null, "status": 0, "callback": null}')
 
-  class MockSocketFile(object):
+  class MockSocketFile:
 
     def __init__(self, resp):
       self.resp = resp
diff --git a/tests/lib/mock_android_device.py b/tests/lib/mock_android_device.py
index 1f0dd4c..ac984d7 100755
--- a/tests/lib/mock_android_device.py
+++ b/tests/lib/mock_android_device.py
@@ -76,7 +76,7 @@
   return [ad.serial for ad in get_mock_ads(5)]
 
 
-class MockAdbProxy(object):
+class MockAdbProxy:
   """Mock class that swaps out calls to adb with mock calls."""
 
   def __init__(self,
@@ -155,7 +155,7 @@
     return adb_call
 
 
-class MockFastbootProxy(object):
+class MockFastbootProxy:
   """Mock class that swaps out calls to adb with mock calls."""
 
   def __init__(self, serial):
diff --git a/tests/lib/mock_controller.py b/tests/lib/mock_controller.py
index bfad027..8fecee5 100644
--- a/tests/lib/mock_controller.py
+++ b/tests/lib/mock_controller.py
@@ -39,7 +39,7 @@
   return infos
 
 
-class MagicDevice(object):
+class MagicDevice:
 
   def __init__(self, config):
     self.magic = config
diff --git a/tests/lib/mock_second_controller.py b/tests/lib/mock_second_controller.py
index d39e973..3f32349 100644
--- a/tests/lib/mock_second_controller.py
+++ b/tests/lib/mock_second_controller.py
@@ -40,7 +40,7 @@
   return infos
 
 
-class AnotherMagicDevice(object):
+class AnotherMagicDevice:
   """This controller supports adding controller's info during test.
 
   It is used for testing that this info is correctly recorded by Mobly.
diff --git a/tests/lib/multiple_subclasses_module.py b/tests/lib/multiple_subclasses_module.py
index 84f79f3..50f10ef 100755
--- a/tests/lib/multiple_subclasses_module.py
+++ b/tests/lib/multiple_subclasses_module.py
@@ -32,5 +32,5 @@
   pass
 
 
-class UnrelatedClass(object):
+class UnrelatedClass:
   pass
diff --git a/tests/mobly/base_instrumentation_test_test.py b/tests/mobly/base_instrumentation_test_test.py
index 96e628a..03ca747 100755
--- a/tests/mobly/base_instrumentation_test_test.py
+++ b/tests/mobly/base_instrumentation_test_test.py
@@ -45,7 +45,7 @@
 """
 
 
-class InstrumentationResult(object):
+class InstrumentationResult:
 
   def __init__(self):
     self.error = None
diff --git a/tests/mobly/base_test_test.py b/tests/mobly/base_test_test.py
index f5b9bfb..4fcc853 100755
--- a/tests/mobly/base_test_test.py
+++ b/tests/mobly/base_test_test.py
@@ -242,7 +242,7 @@
     mock_decorated = mock.MagicMock()
     mock_undecorated = mock.MagicMock()
 
-    class TestDecorator(object):
+    class TestDecorator:
 
       def __init__(self, func):
         self.func = func
diff --git a/tests/mobly/controllers/android_device_lib/service_manager_test.py b/tests/mobly/controllers/android_device_lib/service_manager_test.py
index 6ceec70..86af720 100755
--- a/tests/mobly/controllers/android_device_lib/service_manager_test.py
+++ b/tests/mobly/controllers/android_device_lib/service_manager_test.py
@@ -103,7 +103,7 @@
 
   def test_register_wrong_subclass_type(self):
 
-    class MyClass(object):
+    class MyClass:
       pass
 
     manager = service_manager.ServiceManager(mock.MagicMock())
diff --git a/tests/mobly/utils_test.py b/tests/mobly/utils_test.py
index b95ad6c..d9a2222 100755
--- a/tests/mobly/utils_test.py
+++ b/tests/mobly/utils_test.py
@@ -502,7 +502,7 @@
 
   def test_get_settable_properties(self):
 
-    class SomeClass(object):
+    class SomeClass:
       regular_attr = 'regular_attr'
       _foo = 'foo'
       _bar = 'bar'
