[tool.ruff] # Same as Black. line-length = 127 # Assume Python 3.7 target-version = "py37" # See https://beta.ruff.rs/docs/rules/ select = ["E", "F", "B", "UP", "C90", "RUF"] # Ignore explicit stacklevel` ignore = ["B028"] [tool.ruff.per-file-ignores] # Default implementation in abstract methods "./stable_baselines3/common/callbacks.py"= ["B027"] "./stable_baselines3/common/noise.py"= ["B027"] [tool.ruff.mccabe] # Unlike Flake8, default to a complexity level of 10. max-complexity = 15 [tool.black] line-length = 127 [tool.isort] profile = "black" line_length = 127 src_paths = ["stable_baselines3"] [tool.pytype] inputs = ["stable_baselines3"] disable = ["pyi-error"] [tool.mypy] ignore_missing_imports = true follow_imports = "silent" show_error_codes = true exclude = """(?x)( stable_baselines3/common/buffers.py$ | stable_baselines3/common/callbacks.py$ | stable_baselines3/common/distributions.py$ | stable_baselines3/common/envs/bit_flipping_env.py$ | stable_baselines3/common/envs/identity_env.py$ | stable_baselines3/common/envs/multi_input_envs.py$ | stable_baselines3/common/logger.py$ | stable_baselines3/common/off_policy_algorithm.py$ | stable_baselines3/common/policies.py$ | stable_baselines3/common/save_util.py$ | stable_baselines3/common/sb2_compat/rmsprop_tf_like.py$ | stable_baselines3/common/utils.py$ | stable_baselines3/common/vec_env/__init__.py$ | stable_baselines3/common/vec_env/base_vec_env.py$ | stable_baselines3/common/vec_env/dummy_vec_env.py$ | stable_baselines3/common/vec_env/subproc_vec_env.py$ | stable_baselines3/common/vec_env/util.py$ | stable_baselines3/common/vec_env/vec_extract_dict_obs.py$ | stable_baselines3/common/vec_env/vec_frame_stack.py$ | stable_baselines3/common/vec_env/vec_monitor.py$ | stable_baselines3/common/vec_env/vec_normalize.py$ | stable_baselines3/common/vec_env/vec_transpose.py$ | stable_baselines3/common/vec_env/vec_video_recorder.py$ | stable_baselines3/her/her_replay_buffer.py$ | tests/test_logger.py$ | tests/test_train_eval_mode.py$ )""" [tool.pytest.ini_options] # Deterministic ordering for tests; useful for pytest-xdist. env = [ "PYTHONHASHSEED=0" ] filterwarnings = [ # Tensorboard warnings "ignore::DeprecationWarning:tensorboard", # Gymnasium warnings "ignore::UserWarning:gymnasium", ] markers = [ "expensive: marks tests as expensive (deselect with '-m \"not expensive\"')" ] [tool.coverage.run] disable_warnings = ["couldnt-parse"] branch = false omit = [ "tests/*", "setup.py", # Require graphical interface "stable_baselines3/common/results_plotter.py", # Require ffmpeg "stable_baselines3/common/vec_env/vec_video_recorder.py", ] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "raise NotImplementedError()", "if typing.TYPE_CHECKING:"]