diff --git a/tensorboard/backend/event_processing/db_import_multiplexer.py b/tensorboard/backend/event_processing/db_import_multiplexer.py index a09178575e..5b9e904e36 100644 --- a/tensorboard/backend/event_processing/db_import_multiplexer.py +++ b/tensorboard/backend/event_processing/db_import_multiplexer.py @@ -241,9 +241,9 @@ def load_batches(self): run_name=self._run_name) +@six.add_metaclass(abc.ABCMeta) class _EventSink(object): """Abstract sink for batches of serialized tf.Event data.""" - __metaclass__ = abc.ABCMeta @abc.abstractmethod def write_batch(self, event_batch): diff --git a/tensorboard/plugins/BUILD b/tensorboard/plugins/BUILD index 87837debc2..a871d45b4c 100644 --- a/tensorboard/plugins/BUILD +++ b/tensorboard/plugins/BUILD @@ -12,4 +12,7 @@ py_library( srcs = ["base_plugin.py"], srcs_version = "PY2AND3", visibility = ["//visibility:public"], + deps = [ + "@org_pythonhosted_six", + ], ) diff --git a/tensorboard/plugins/base_plugin.py b/tensorboard/plugins/base_plugin.py index 4e3be37e37..f510c8cda8 100644 --- a/tensorboard/plugins/base_plugin.py +++ b/tensorboard/plugins/base_plugin.py @@ -22,10 +22,13 @@ from __future__ import division from __future__ import print_function +import six + from abc import ABCMeta from abc import abstractmethod +@six.add_metaclass(ABCMeta) class TBPlugin(object): """TensorBoard plugin interface. @@ -44,7 +47,6 @@ class TBPlugin(object): name must only contain characters among [A-Za-z0-9_.-], and must be nonempty, or a ValueError will similarly be thrown. """ - __metaclass__ = ABCMeta plugin_name = None diff --git a/tensorboard/plugins/beholder/BUILD b/tensorboard/plugins/beholder/BUILD index d3a12bf4db..ebf316d5cc 100644 --- a/tensorboard/plugins/beholder/BUILD +++ b/tensorboard/plugins/beholder/BUILD @@ -143,5 +143,6 @@ py_library( deps = [ ":im_util", "//tensorboard/util:tb_logging", + "@org_pythonhosted_six", ], ) diff --git a/tensorboard/plugins/beholder/video_writing.py b/tensorboard/plugins/beholder/video_writing.py index c538343ba6..b2b2d2598a 100644 --- a/tensorboard/plugins/beholder/video_writing.py +++ b/tensorboard/plugins/beholder/video_writing.py @@ -18,6 +18,7 @@ import abc import os +import six import subprocess import time @@ -87,11 +88,10 @@ def finish(self): self.output_index = 0 +@six.add_metaclass(abc.ABCMeta) class VideoOutput(object): """Base class for video outputs supported by VideoWriter.""" - __metaclass__ = abc.ABCMeta - # Would add @abc.abstractmethod in python 3.3+ @classmethod def available(cls): diff --git a/tensorboard/program.py b/tensorboard/program.py index 3b51042990..ea7e8c9f2f 100644 --- a/tensorboard/program.py +++ b/tensorboard/program.py @@ -310,9 +310,9 @@ def _make_server(self): return self.server_class(app, self.flags) +@six.add_metaclass(ABCMeta) class TensorBoardServer(object): """Class for customizing TensorBoard WSGI app serving.""" - __metaclass__ = ABCMeta @abstractmethod def __init__(self, wsgi_app, flags):