Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project dependencies may have API risk issues #227

Open
PyDeps opened this issue Oct 27, 2022 · 0 comments
Open

Project dependencies may have API risk issues #227

PyDeps opened this issue Oct 27, 2022 · 0 comments

Comments

@PyDeps
Copy link

PyDeps commented Oct 27, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant