-
Notifications
You must be signed in to change notification settings - Fork 74
Description
Hi, In netutils-linux, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
prettytable
pyyaml
setuptools
ipaddress
six
colorama
argparse
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict.
The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project,
The version constraint of dependency prettytable can be changed to >=0.6,<=1.0.1.
The version constraint of dependency six can be changed to >=1.5.0,<=1.6.1.
The version constraint of dependency argparse can be changed to >=1.2.1,<=1.4.0.
The above modification suggestions can reduce the dependency conflicts as much as possible,
and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
The calling methods from the prettytable
prettytable.PrettyTable prettytable.PrettyTable.add_row
The calling methods from the six
six.itervalues six.iteritems
The calling methods from the argparse
argparse.ArgumentParser
The calling methods from the all methods
self.make_parser netutils_linux_monitoring.topology.Topology netutils_linux_hardware.parser.YAMLLike.parse_file_safe self.__size os.chdir self.run self.netdev_queue_relationship self.socket_detect file_fd.readlines netutils_linux_hardware.rate_math.any2int list devices.items detect_vm_dmi format key.lower self.wrap os.path.isfile output.sep.number.str.strip softirq_file.readlines self.colorize_irq_per_cpu map line.strip self.topology.socket_layout.keys netutils_linux_monitoring.colors.Color netutils_linux_hardware.rate_math.extract self.tops.get.make_parser main netutils_linux_monitoring.base_top.BaseTop.default_init EthtoolFiles types_data.self.DiskSizeInfo.parse_file_safe getattr Topology self.read file_for_parse.read self.archive setattr BridgeOutput.parse_file_safe self.all_netdev_queues NICQueues.parse self.directory.CPU.parse self.__listify self.devices_list_regex self.tarball_directory self.args.directory.rstrip self.dev_node Stat BaseTop.make_base_parser netutils_linux_hardware.rate_math.extract.get six.print_ self.run_ethtool self.rate self.apply six.moves.xrange line.set.intersection netutils_linux_hardware.yaml_tools.dict2yaml output.get.get netutils_linux_monitoring.base_top.BaseTop.__init__ subprocess.Popen.communicate exit str dict copy.deepcopy self.__choose_color_scheme self.colorize_net_rx self.tops.get.colorize_net_rx self.color_scheme.get self.options.devices.split netutils_linux_hardware.grade.Grade.str self.net_dev_list_ethtool self.make_parser.parse_args self.__getattribute__ BridgeOutput self.rss_cpus_detect netutils_linux_hardware.folding.Folding key_sequence.pop list.insert self.options.random.SoftnetStat.parse_string self.pci.node_dev_dict self.map self.parse_text row.startswith self.cpus2mask self.parse detect_vm_uml netutils_linux_hardware.interrupts.IRQQueueCounter text.strip.split re.findall self.pci.devices.get prettytable.PrettyTable self.cpus_detect_real.pop data.keys queue_file.write self.detect_layouts_fallback hex self.detect_layouts self.net_dev_list_drivers f.read netutils_linux_tuning.base_tune.CPUBasedTune.make_parser.add_argument devfile.read self.__repr_cpu prettytable.PrettyTable.add_row _top.tick str.decode subsystem list.extend func self.tops.get.repr_source v.replace range kind.self.queues.append self.options.lscpu_output.open.read line.strip.split self.queue_name_regex out_value.items self.eval_prefered_size types_data.self.DiskModelsInfo.parse_file_safe self.__active_cpu_count__ devfile.read.strip dev_file.read MemInfoDMI.__parse self.parser.print_help top.make_parser.parse_args netutils_linux_hardware.grade.Grade.int text.replace.replace.replace dict.get EthtoolBuffers collections.namedtuple netutils_linux_hardware.rate_math.round_ self.colorize_net_tx self.mask_detect text.replace.replace self.invert_dict_nesting detect_by_file setuptools.find_packages self.make_header self.color.wrap_header netutils_linux_tuning.base_tune.BaseTune.make_parser.parse_args BaseTune.make_parser queue.split argparse.ArgumentParser queue.count random.randint self.skip_zero_line netutils_linux_monitoring.base_top.BaseTop.default_post_optparse self.tops.get SoftnetStat netutils_linux_monitoring.pci.PCI item.isdigit dictionary.get.get key.split ValueError softnet_stat.read.strip.split netutils_linux_monitoring.base_top.BaseTop.make_base_parser.add_argument rows.append BaseTune.__init__ self.DiskSizeInfo self.color.colorize self.tops.get.colorize_irq_per_cpu netutils_linux_monitoring.Softirqs self.__repr_dev netutils_linux_monitoring.layout.make_table collections.defaultdict.setdefault self.colorize_stat key_sequence.reverse list.append dict.items NICQueues ReductorMirror.parse_file_safe self.detect_layout_lscpu self.__eval self.args.directory.endswith self.net_dev_list netutils_linux_monitoring.SoftnetStatTop get yaml.dump self.devices_list lscpu_output_filename.open.read self.tick stdout.strip.split re.sub TypeError _top.parse EthtoolFiles.parse_file netutils_linux_tuning.base_tune.CPUBasedTune.make_parser.parse_args netutils_linux_hardware.folding.Folding.fold fd.read.strip self.tops.get.make_align_map netutils_linux_tuning.base_tune.BaseTune.make_parser self.color.bright re.match yaml.load time.sleep self.interrupts_file.open.readlines os.path.isdir text.replace os.makedirs os.path.join MemInfoDMIDevice self.dev_colorize self.__repr_irq detect_vm_hypervisor setuptools.setup SoftnetStat.parse_list float dev_file.read.strip extract_func irq_file.write self.int v.strip self.DiskTypesInfo.parse_file_safe self.tops.values PCI collections.defaultdict self.make_align_map self.cpu_colorize self.color.colorize_cpu_list detect_vm_zvm self.colorize_stats self.parse_line len self.repr_source.get six.itervalues DiskInfo text.strip enumerate self.color.COLORS_NODE.get BaseTune.make_parser.add_argument dmi_fd.read zip self.parse_options sum folding.info.subsystem.rate size.get file_for_parse.read.strip self.cpus_detect_real d.yaml.dump.strip netutils_linux_tuning.base_tune.CPUBasedTune.make_parser line_value print os.listdir os.system self.__FAKE_DEV.get self.tops.get.make_rows BaseTop.__init__ queue_name.split.split _dict.get self.tops.get.__active_cpu_count__ int.strip config.readlines self.parse_file_safe all self.color.colorize_cpu_list.strip self.net_dev_list_buffers self.devices_list_validate self.net_dev_list_bridge type text.split netutils_linux_tuning.base_tune.CPUBasedTune.__init__ min self.__repr_table__ self.net_dev_mirror_info row.split data.values self.cpus_sys_local row.strip.split self.folding.fold zvm_fd.read BaseTop.make_base_parser.add_argument number.str.zfill self.__parse_args softnet_stat.read self.queue_pattern_detect self.tops.get.post_optparse DiskInfo.parse ReaderNet device.get self.unit_change self.parse_file math.copysign netdevinfo.get.get os.path.exists EthtoolBuffers.parse_file_safe self.color.wrap netutils_linux_hardware.parser.YAMLLike six.iteritems line.split.strip sorted self.options.dev.self.pci.node_dev_dict.get shutil.rmtree open self.directory.subsystem.parse self.DiskModelsInfo netutils_linux_hardware.grade.Grade.fact self.make_rows __str2int self.irq2queues self.sub set self.cpus_detect_real.reverse self.__parse_dev_stat__ conf.split fd.read self.path self.__device self.__devices self.DiskTypesInfo read netutils_linux_monitoring.IrqTop self.topology.layout.get str.strip subprocess.Popen self.__repr_bytes self.parser.parse_args netutils_linux_hardware.interrupts.IRQQueueCounter.parse_file_safe cpuinfo.read self.parser.add_argument self.__repr_cpu_make_rows self.has_diff key.count self.data.get.get self.eval_diff_total_column int.get self.repr_source softnet_stat.read.strip self.list_diff text.split.split RSSLadder hasattr mem_dev.data.get self.detect_queues_real self.eval_diff_total origin.items line.startswith self.run_ethtool.split self.repr_source.values self.post_optparse ReductorMirror math.floor self.default_post_optparse self.netdev_queue_relationship.isdigit self.color.colorize_cpu netutils_linux_tuning.base_tune.BaseTune.make_parser.add_argument join int self.numa_layout.values self.__int self.colorize_cpu NetdevParser.parse self.irq2cpucount v.strip.split self.__detect_layout_lscpu netutils_linux_hardware.cpu.CPU number.ethtool_buffers.strip self.parse_cpus hypervisor_fd.read line.split self.data.get isinstance self.network_scripts_check self.tops.get.colorize_net_tx netutils_linux_monitoring.base_top.BaseTop.make_base_parser self.__parse_dev__ data.get stat.shortname.replace max self.tops.get.make_header netutils_linux_tuning.base_tune.BaseTune.__init__ self.subsystems.items netutils_linux_hardware.grade.Grade.known_values self.collect PCI.node_dev_dict self.lscpu self.__check_args self.parse_ethtool_buffers stat.filename.startswith any self.eval queue.startswith netutils_linux_monitoring.LinkRateTop
@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.