-
Notifications
You must be signed in to change notification settings - Fork 214
Description
Hi, In modbus-tk, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
pyserial>=3.1
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 pyserial can be changed to >=2.3,<=2.4.
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 pyserial
serial.Serial
The calling methods from the all methods
self._response_mbap.pack socket.socket.recv digits.append self._databank.remove_slave modbus_tk.utils.WorkerThread.start to_data self.request.send modbus_tk.exceptions.ModbusInvalidRequestError s.set_values modbus_tk.utils.get_log_buffer self.assertRaises socket.socket.settimeout self._data.__getitem__ self._thread.join time.sleep simu.server.add_slave.add_block modbus_tk.modbus_tcp.TcpMbap _cpu.Properties_ sock.send self._blocks.pop modbus_tk.exceptions.ModbusFunctionNotSupportedError self.server.get_slave.remove_all_blocks self.format ModbusBlock self._rpc_call.split modbus_tk.modbus_tcp.TcpQuery._get_transaction_id expected_values.append self._thread.is_alive self._make_query.parse_request self.ConsoleInterface.super.__init__ self._read_continuous_blocks modbus_tk.modbus_rtu.RtuQuery.parse_request modbus_tk.modbus_tcp.TcpServer self._sock.accept s.add_block modbus_tk.utils.calculate_rtu_inter_char self.RtuServer.super.__init__ self._response_mbap.check_response threading.Thread self._check_console_input modbus_tk.modbus_tcp.TcpServer.get_slave self.server.get_slave isinstance self._do_open self.master.set_timeout modbus_tk.modbus_rtu.RtuQuery self.rpc.start Slave client.setblocking modbus_tk.simulator.Simulator.start modbus_tk.modbus.ModbusInvalidRequestError self.client.execute NotImplementedError modbus_tk.modbus_tcp.TcpServer._get_request_length socketserver.TCPServer self.master.execute self.RtuServer.super.start self._fcts all_values.append s.str.find RtuQuery sys.exit threading.RLock SimulatorRpcClient.add_slave server.get_slave.get_values modbus_tk.modbus_rtu.RtuMaster.execute srv.start self.request.recv.strip modbus_tk.modbus.Master.set_timeout self._response_to_values self._recv self._handle modbus_tk.modbus.ModbusInvalidResponseError modbus_tk.exceptions.InvalidModbusBlockError excpt.get_exception_code self.server._databank.handle_request i.queries.build_request self_.master.execute len ctypes.windll.Kernel32.WaitForSingleObject logging.getLogger.addHandler self._do_exit self.outq.get modbus_tk.exceptions.OutOfModbusBlockError map slave.get_values.append self.request.recv modbus_tk.modbus_tcp.TcpServer.stop modbus_tk.utils.flush_socket self._do_close self.server.stop MySimulator.start ctypes.c_ulong self.master.set_verbose sys.stdin.readline modbus_tk.modbus_tcp.TcpMaster sock.recv self.server.add_slave.add_block self.server.get_slave.add_block cmd.strip.split time.time modbus_tk.modbus_tcp.TcpQuery self.TcpQuery.super.__init__ self.open Databank self._slave.set_values chr self.TcpServer.super.__init__ CompositeServer modbus_tk.hooks.install_hook self._get_request_length self._slave.handle_request self.console.start threads.append name._HOOKS.remove modbus_tk.modbus_rtu.RtuServer kwargs.pop self.assert_ self.server.get_slave.get_values SimulatorRpcClient select.select self.TcpMaster.super.__init__ self._tuple_to_str SimulatorRpcClient.remove_slave server.get_slave.add_block self.CompositeServer.super.__init__ self.master.open modbus_tk.modbus_rtu.RtuMaster.set_timeout modbus_tk.utils.create_logger.info DummyHandler.setFormatter the_class modbus_tk.utils.WorkerThread self.get_slave.handle_request self.rpc_server.serve_forever self._go.set self.mbap1.pack self.slave5.add_block modbus_tk.simulator.LOGGER.info logging.Handler.__init__ self.rpc_server.shutdown self.add_command self.server.get_slave.remove_block self._slave._get_block fcn modbus_tk.simulator.Simulator.__init__ threading.RLock.release win32com.client.GetObject.InstancesOf Exception.__init__ thread.start modbus_tk.utils.create_logger.debug modbus_tk.simulator_rpc_client.SimulatorRpcClient socket.socket self.inq.get.find self.assertNotEqual self.server.remove_all_slaves win32com.client.GetObject self._sock.bind self._slaves.clear modbus_tk.modbus_tcp.TcpQuery.parse_request args.self.cmds self._rpc_call self.check_length self._do_init key.self._slaves.handle_request modbus_tk.modbus_tcp.TcpMaster.open self._make_thread pow self._make_response self._databank.get_slave sock.recv.strip self.inq.get self.assertEquals self._sock.setblocking modbus_tk.hooks.uninstall_hook master.execute self._read_out_of_blocks ConsoleHandler modbus_tk.modbus_tcp.TcpMbap.unpack self.slave1.set_values self.slave1.add_block query.split logging.getLogger.setLevel self.server._make_query self._read_too_many_registers self._sock.settimeout modbus_tk.modbus.Slave main self._sock.sendto socket.socket.connect modbus_tk.modbus_tcp.TcpServer.start self._get_transaction_id self.close self.master.close self._get_block_and_offset modbus_tk.utils.create_logger.warning self._slave.add_block self._go.isSet Simulator.start self._response_mbap.unpack modbus_tk.modbus_rtu.RtuServer.start self.assertTrue self.server.add_slave self.server.add_slave.set_values self._thread.start self._make_query.build_response modbus_tk.modbus_rtu.RtuServer.add_slave self.assertEqual self.master._send self._sock.recv self._slaves.pop queue.Queue.get SimulatorRpcClient.install_hook self._check_ids unittest.main modbus_tk.modbus_tcp.TcpServer.add_slave self.client.close avoid_duplicates.append self._sock.setsockopt self.inq.get.strip modbus_tk.modbus.LOGGER.info self.server.add_slave._get_block i.threads.start self.RpcInterface.super.__init__ setuptools.setup queue.Queue.put modbus_tk.modbus_tcp.TcpQuery.build_request bytearray data.decode Simulator.declare_hook MySimulator.close self.set_timeout LogitHandler crc16_alternative str modbus_tk.modbus_tcp.TcpMbap.clone modbus_tk.exceptions.InvalidArgumentError modbus_tk.exceptions.DuplicatedKeyError self._serial.close self._sock.send int modbus_tk.utils.WorkerThread.stop self._get_master swap_bytes format socket.socket.close self.server.set_verbose struct.unpack avoid_duplicates self._simu.set_values modbus_tk.modbus_rtu.RtuQuery.build_request SystemDataCollector self.slave5.get_values struct.pack print threading.RLock.acquire self.slave1.get_values self._sock.connect function_code.self._fn_code_map self._get_server self.DummyHandler.super.__init__ self.console.close client.fileno self._serial.reset_input_buffer self._make_query.build_request self._serial.write self._sockets.remove self._sockets.append self._read_registers self.server.add_slave.get_values modbus_tk.modbus_rtu.RtuQuery.build_response threading.Event sys.stdin.readline.find SimulatorRpcClient.remove_block modbus_tk.exceptions.MissingKeyError struct.calcsize self._databank.remove_all_slaves self._go.clear modbus_tk.modbus_rtu.RtuMaster modbus_tk.modbus_tcp.TcpQuery.parse_response modbus_tk.modbus.Databank tuple Simulator.close self._sock.listen self._get_block ConsoleInterface run_simulator modbus_tk.exceptions.OverlapModbusBlockError self._response_mbap.clone SimulatorRpcClient.add_block t.join modbus_tk.modbus_tcp.TcpMaster.execute modbus_tk.utils.create_logger.error t.start modbus_tk.utils.create_logger Exception self._make_query.parse_response self.RtuMaster.super.__init__ RpcInterface modbus_tk.exceptions.ModbusError modbus_tk.exceptions.ModbusInvalidResponseError modbus_tk.utils.swap_bytes modbus_tk.modbus_tcp.TcpMaster.set_timeout modbus_tk.modbus_rtu.RtuServer.stop self._do_run server.add_slave.add_block modbus_tk.LOGGER.error queue.Queue.empty self._data.__setitem__ modbus_tk.modbus_rtu.RtuQuery.parse_response SimulatorRpcClient.has_slave modbus_tk.modbus_rtu.RtuServer.get_slave logging.Formatter self.rpc.close list self.master._sock.send self._make_query self.client.open socket.socket.send modbus_tk.LOGGER.warning self._serial.flush self._databank.handle_request queue.Queue serial.Serial self._read_digital_data modbus_tk.simulator.Simulator.close modbus_tk.utils.to_data modbus_tk.utils.calculate_crc self.outq.put self.server.start modbus_tk.simulator.Simulator self._databank.add_slave simu.server.add_slave sock.close self._slave.remove_block self._get_block.is_in modbus_tk.modbus.LOGGER.debug server.get_slave.set_values self._request_mbap.check_length range check_length_hook.test.assertEqual modbus_tk.hooks.call_hooks sock.recv.find Simulator modbus_tk.modbus_tcp.TcpMaster._send logging.getLogger sys.stdout.write block_type.self._memory.remove self.RtuQuery.super.__init__ modbus_tk.modbus.Server SimulatorRpcClient.remove_all_slaves self.get_db MySimulator self.inq.put modbus_tk.modbus_rtu.RtuMaster.set_verbose self._serial.reset_output_buffer join TcpQuery self._sock.close sum srv.set_verbose self.mbap1.check_response self._serial.read modbus_tk.modbus_tcp.TcpMaster.close self.RtuServer.super.stop modbus_tk.modbus_tcp.TcpQuery.build_response ctypes.windll.Kernel32.GetStdHandle self.join fct sys.stdin.readline.split ModbusInvalidMbapError modbus_tk.modbus.InvalidArgumentError self._serial.cancel_read self.master._recv self.get_timeout issubclass SimulatorRpcClient.remove_all_blocks self._slave.get_values self.slave5.set_values thread.join self.get_slave self._request_mbap.unpack modbus_tk.LOGGER.debug exc.get_exception_code srv.stop self.server.remove_slave sock.fileno self._blocks.clear self.TcpMaster.super.set_timeout self._send super ex.get_exception_code self.server.get_slave.set_values DummyHandler re.match self._request_mbap.pack TcpMbap sock.settimeout SimulatorRpcClient.set_values self._serial.open self.assertAlmostEqual self.server._make_query.build_request self._read_digital zip name._HOOKS.append block_type.self._memory.insert SimulatorRpcClient.get_values ord
@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.