namheegordonkim / l2cds

https://sites.google.com/view/l2cds

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.