From 2c372077d088fba3eb3f611fbdc55c6a42dbdebf Mon Sep 17 00:00:00 2001 From: Tzu-Wei Huang Date: Sat, 4 Jun 2022 21:01:35 +0800 Subject: [PATCH] Dependency cleanup (#666) fixes #663 * fix dependency issues * remove py36 test --- .github/workflows/python-app.yml | 2 +- setup.py | 13 ++----------- tensorboardX/caffe2_graph.py | 3 +-- tensorboardX/event_file_writer.py | 4 ++-- tensorboardX/summary.py | 4 +--- tensorboardX/torchvis.py | 7 +++---- tensorboardX/writer.py | 5 ++--- tensorboardX/x2num.py | 3 +-- test-requirements.txt | 6 ++---- tests/record_writer_test.py | 1 - 10 files changed, 15 insertions(+), 33 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 97898e6c..74ab6ccf 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.6, 3.7, 3.8, 3.9] + python-version: [3.7, 3.8, 3.9] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} diff --git a/setup.py b/setup.py index f6d8f741..89622970 100644 --- a/setup.py +++ b/setup.py @@ -43,17 +43,10 @@ def run(self): f.write('\n__version__ = "{}"\n'.format(version_git)) requirements = [ - 'six', 'numpy', - 'protobuf >= 3.8.0', + 'protobuf >= 3.8.0, <=3.20.1', ] -test_requirements = [ - 'future' - 'pytest', - 'matplotlib', - 'crc32c', -] setup( name='tensorboardX', @@ -74,16 +67,14 @@ def run(self): 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', ], cmdclass={ 'develop': PostDevelopCommand, 'install': PostInstallCommand, }, - test_suite='tests', - tests_require=test_requirements ) diff --git a/tensorboardX/caffe2_graph.py b/tensorboardX/caffe2_graph.py index ad1df13d..6531e7b5 100644 --- a/tensorboardX/caffe2_graph.py +++ b/tensorboardX/caffe2_graph.py @@ -7,7 +7,6 @@ import logging import os import re -import six from builtins import bytes from caffe2.proto import caffe2_pb2 @@ -166,7 +165,7 @@ def _remap_keys(old_dict, rename_fn): None. Modifies old_dict in-place. ''' new_dict = {rename_fn(key): value for key, - value in six.iteritems(old_dict)} + value in old_dict.items()} old_dict.clear() old_dict.update(new_dict) diff --git a/tensorboardX/event_file_writer.py b/tensorboardX/event_file_writer.py index 971331ff..9d08aa1f 100644 --- a/tensorboardX/event_file_writer.py +++ b/tensorboardX/event_file_writer.py @@ -23,7 +23,7 @@ import threading import time import multiprocessing -import six +import queue from .proto import event_pb2 from .record_writer import RecordWriter, directory_check @@ -207,7 +207,7 @@ def run(self): return self._record_writer.write_event(data) self._has_pending_data = True - except six.moves.queue.Empty: + except queue.Empty: pass now = time.time() diff --git a/tensorboardX/summary.py b/tensorboardX/summary.py index 6a55adcc..63290df3 100644 --- a/tensorboardX/summary.py +++ b/tensorboardX/summary.py @@ -8,7 +8,6 @@ import re as _re # pylint: disable=unused-import -from six.moves import range from .proto.summary_pb2 import Summary from .proto.summary_pb2 import HistogramProto @@ -70,7 +69,6 @@ def _draw_single_box(image, xmin, ymin, xmax, ymax, display_str, color='black', def hparams(hparam_dict=None, metric_dict=None): from tensorboardX.proto.plugin_hparams_pb2 import HParamsPluginData, SessionEndInfo, SessionStartInfo from tensorboardX.proto.api_pb2 import Experiment, HParamInfo, MetricInfo, MetricName, Status, DataType - from six import string_types PLUGIN_NAME = 'hparams' PLUGIN_DATA_VERSION = 0 @@ -91,7 +89,7 @@ def hparams(hparam_dict=None, metric_dict=None): if v is None: continue - if isinstance(v, string_types): + if isinstance(v, str): ssi.hparams[k].string_value = v hps.append(HParamInfo(name=k, type=DataType.Value("DATA_TYPE_STRING"))) continue diff --git a/tensorboardX/torchvis.py b/tensorboardX/torchvis.py index 3cb25589..29a0e175 100644 --- a/tensorboardX/torchvis.py +++ b/tensorboardX/torchvis.py @@ -4,7 +4,6 @@ from __future__ import unicode_literals import gc -import six import time from functools import wraps @@ -43,9 +42,9 @@ def unregister(self, *args): gc.collect() def __getattr__(self, attr): - for _, subscriber in six.iteritems(self.subscribers): + for _, subscriber in self.subscribers.items(): def wrapper(*args, **kwargs): - for _, subscriber in six.iteritems(self.subscribers): + for _, subscriber in self.subscribers.items(): if hasattr(subscriber, attr): getattr(subscriber, attr)(*args, **kwargs) return wrapper @@ -53,5 +52,5 @@ def wrapper(*args, **kwargs): # Handle writer management (open/close) for the user def __del__(self): - for _, subscriber in six.iteritems(self.subscribers): + for _, subscriber in self.subscribers.items(): subscriber.close() diff --git a/tensorboardX/writer.py b/tensorboardX/writer.py index b3ee979b..73aec8c4 100644 --- a/tensorboardX/writer.py +++ b/tensorboardX/writer.py @@ -8,7 +8,6 @@ import json import os import numpy -import six import time import logging import atexit @@ -337,7 +336,7 @@ def _check_caffe2_blob(self, item): workspace.FetchBlob(blob_name) workspace.FetchBlobs([blob_name1, blob_name2, ...]) """ - return isinstance(item, six.string_types) + return isinstance(item, str) def _get_file_writer(self): """Returns the default FileWriter instance. Recreates it if closed.""" @@ -558,7 +557,7 @@ def add_histogram( """ if self._check_caffe2_blob(values): values = workspace.FetchBlob(values) - if isinstance(bins, six.string_types) and bins == 'tensorflow': + if isinstance(bins, str) and bins == 'tensorflow': bins = self.default_bins self._get_file_writer().add_summary( histogram(tag, values, bins, max_bins=max_bins), global_step, walltime) diff --git a/tensorboardX/x2num.py b/tensorboardX/x2num.py index 14657df4..67716f5a 100644 --- a/tensorboardX/x2num.py +++ b/tensorboardX/x2num.py @@ -5,7 +5,6 @@ import logging import numpy as np -import six logger = logging.getLogger(__name__) @@ -21,7 +20,7 @@ def make_np(x): return check_nan(np.array(x)) if isinstance(x, np.ndarray): return check_nan(x) - if isinstance(x, six.string_types): # Caffe2 will pass name of blob(s) to fetch + if isinstance(x, str): # Caffe2 will pass name of blob(s) to fetch return check_nan(prepare_caffe2(x)) if np.isscalar(x): return check_nan(np.array([x])) diff --git a/test-requirements.txt b/test-requirements.txt index c2d7355b..ec6b6e48 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,13 +1,11 @@ flake8 pytest torch -six -protobuf==3.15 +torchvision +protobuf==3.20.1 numpy==1.21.0 -pillow tensorboard boto3 -future matplotlib moto soundfile diff --git a/tests/record_writer_test.py b/tests/record_writer_test.py index 975a0cbc..0bd76019 100644 --- a/tests/record_writer_test.py +++ b/tests/record_writer_test.py @@ -19,7 +19,6 @@ from __future__ import division from __future__ import print_function -import six import os from tensorboardX.record_writer import RecordWriter from tensorboard.compat.tensorflow_stub.pywrap_tensorflow import PyRecordReader_New