Suggest to loosen the dependency on stable-baselines3
Agnes-U opened this issue · comments
Dear developers,
Your project l2cds requires "stable-baselines3==1.3.0" in its dependency. After analyzing the source code, we found that the following versions of stable-baselines3 can also be suitable without affecting your project, i.e., stable-baselines3 1.1.0a11, 1.1.0a7, 1.1.0a6, 1.1.0, 1.2.0, 1.2.1a2, 1.2.1a1, 1.2.1a0, 1.3.1a9, 1.3.1a8, 1.3.1a7, 1.3.1a4, 1.3.1a3, 1.4.0, 1.4.1a1, 1.5.0, 1.5.1a1. Therefore, we suggest to loosen the dependency on stable-baselines3 from "stable-baselines3==1.3.0" to "stable-baselines3>=1.1.0a6,<=1.5.1a1" to avoid any possible conflict for importing more packages or for downstream projects that may use ddos_script.
May I pull a request to further loosen the dependency on stable-baselines3?
By the way, could you please tell us whether such dependency analysis may be potentially helpful for maintaining dependencies easier during your development?
Details:
Your project (commit id: c00d0da) directly uses 5 APIs from package stable-baselines3.
stable_baselines3.common.vec_env.subproc_vec_env.SubprocVecEnv.close, stable_baselines3.common.vec_env.base_vec_env.VecEnv.__init__, stable_baselines3.common.vec_env.subproc_vec_env.SubprocVecEnv.__init__, stable_baselines3.common.vec_env.dummy_vec_env.DummyVecEnv.__init__, stable_baselines3.common.vec_env.subproc_vec_env.SubprocVecEnv.reset
Beginning fromwhich, 8 functions are then indirectly called, including -5 stable-baselines3's internal APIs and 13 outsider APIs as follows:
[/namheegordonkim/l2cds]
+--stable_baselines3.common.vec_env.subproc_vec_env.SubprocVecEnv.close
+--stable_baselines3.common.vec_env.base_vec_env.VecEnv.__init__
+--stable_baselines3.common.vec_env.subproc_vec_env.SubprocVecEnv.__init__
| +--multiprocessing.get_all_start_methods
| +--multiprocessing.get_context
| +--stable_baselines3.common.vec_env.base_vec_env.CloudpickleWrapper.__init__
| +--stable_baselines3.common.vec_env.base_vec_env.VecEnv.__init__
+--stable_baselines3.common.vec_env.dummy_vec_env.DummyVecEnv.__init__
| +--stable_baselines3.common.vec_env.base_vec_env.VecEnv.__init__
| +--stable_baselines3.common.vec_env.util.obs_space_info
| | +--stable_baselines3.common.preprocessing.check_for_nested_spaces
| +--collections.OrderedDict
| +--numpy.zeros
+--stable_baselines3.common.vec_env.subproc_vec_env.SubprocVecEnv.reset
| +--stable_baselines3.common.vec_env.subproc_vec_env._flatten_obs
| | +--collections.OrderedDict
| | +--numpy.stack
Since all these functions have not been changed between any version for package "stable-baselines3" from [1.1.0a11, 1.1.0a7, 1.1.0a6, 1.1.0, 1.2.0, 1.2.1a2, 1.2.1a1, 1.2.1a0, 1.3.1a9, 1.3.1a8, 1.3.1a7, 1.3.1a4, 1.3.1a3, 1.4.0, 1.4.1a1, 1.5.0, 1.5.1a1] and 1.3.0. Therefore, we believe it is safe to loosen the corresponding dependency.