glmcdona / LuxPythonEnvGym

Matching python environment code for Lux AI 2021 Kaggle competition, and a gym interface for RL models.
MIT License
73 stars 38 forks source link

Suggest to loosen the dependency on stable-baselines3 #110

Open Agnes-U opened 1 year ago

Agnes-U commented 1 year ago

Hi, your project LuxPythonEnvGym(commit id: 55e8ddc15012fd55f17b23aa2e73c919467e43e3) requires "stable-baselines3==1.2.1a2" in its dependency. After analyzing the source code, we found that the following versions of stable-baselines3 can also be suitable, i.e., stable-baselines3 1.2.1a1, since all functions that you directly (11 APIs: stable_baselines3.common.callbacks.BaseCallback.init, stable_baselines3.ppo.ppo.PPO.learn, stable_baselines3.common.base_class.BaseAlgorithm.save, stable_baselines3.common.utils.get_schedule_fn, stable_baselines3.common.base_class.BaseAlgorithm.predict, stable_baselines3.common.callbacks.EvalCallback.init, stable_baselines3.ppo.ppo.PPO.init, stable_baselines3.common.vec_env.subproc_vec_env.SubprocVecEnv.init, stable_baselines3.common.base_class.BaseAlgorithm.load, stable_baselines3.common.base_class.BaseAlgorithm.set_env, stable_baselines3.common.utils.set_random_seed) or indirectly (propagate to -11 stable-baselines3's internal APIs and 123 outsider APIs) used from the package have not been changed in these versions, thus not affecting your usage.

Therefore, we believe that it is quite safe to loose your dependency on stable-baselines3 from "stable-baselines3==1.2.1a2" to "stable-baselines3>=1.2.1a1,<=1.2.1a2". This will improve the applicability of LuxPythonEnvGym and reduce the possibility of any further dependency conflict with other projects.

May I pull a request to further loosen the dependency on stable-baselines3?

By the way, could you please tell us whether such an automatic tool for dependency analysis may be potentially helpful for maintaining dependencies easier during your development?