From 5adde783e99a85486e6ae4b5e5315c72c8619a52 Mon Sep 17 00:00:00 2001 From: LukasFehring <72503857+LukasFehring@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:02:30 +0100 Subject: [PATCH 1/5] Update pyproject.toml --- pyproject.toml | 271 ++++++++++++++----------------------------------- 1 file changed, 77 insertions(+), 194 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index acd176a81..5c25b1023 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,34 +2,33 @@ name = "ARLBench" version = "0.1.3" dependencies = [ - "typing_extensions", # Better typing - "numpy==1.26.4", - "tomli==2.0.1", - "pre-commit==3.7.0", - "codecarbon==2.3.5", - "memray==1.12.0", - "pathos==0.3.2", - "jax==0.4.26", - "jaxlib==0.4.26", - "flashbax==0.1.2", - "gymnax==0.0.6", - "chex==0.1.86", - "ConfigSpace==1.2.1", - "distrax==0.1.5", - "flax==0.8.2", - "brax==0.10.3", - "pytest==7.4.4", - "coverage==7.4.4", - "chex==0.1.86", - "xminigrid==0.8.0", - "gymnasium==1.2.0", - "hydra-core==1.3.2", + "typing_extensions", + "numpy>=1.26.4", + "tomli>=2.0.1", + "pre-commit>=3.7.0", + "codecarbon>=2.3.5", + "memray>=1.12.0", + "pathos>=0.3.2", + "jax>=0.4.26", + "jaxlib>=0.4.26", + "flashbax>=0.1.2", + "gymnax>=0.0.6", + "chex>=0.1.86", + "ConfigSpace>=1.2.1", + "distrax>=0.1.5", + "flax>=0.8.2", + "brax>=0.10.3", + "pytest>=7.4.4", + "coverage>=7.4.4", + "xminigrid>=0.8.0", + "gymnasium>=1.2.0", + "hydra-core>=1.3.2", "hydra-submitit-launcher", "hydra_colorlog", ] requires-python = ">=3.10" -authors = [{ name = "AutoML Hannover", email = "automl@ai.uni-hannover.de" }] +authors = [{ name = "AutoML Hannover", email = "automl@ai.uni-hannover.de" }] readme = "README.md" description = "Python Boilerplate that contains all the code you need to create a Python package." classifiers = [ @@ -46,19 +45,30 @@ classifiers = [ license = { file = "LICENSE" } [project.optional-dependencies] -dev = ["ARLBench[doc, test, examples]", "ruff==0.4.0", "pre-commit==3.7.0", "bump-my-version==0.20.1", "twine==5.0.0", "mypy==1.9.0"] - -test = ["pytest==7.4.4", "pytest-coverage", "pytest-cases==3.8.5", "ARLBench[examples]"] -examples = ["hypersweeper==0.2.0"] +dev = [ + "ARLBench[doc, test, examples]", + "ruff>=0.4.0", + "pre-commit>=3.7.0", + "bump-my-version>=0.20.1", + "twine>=5.0.0", + "mypy>=1.9.0" +] +test = [ + "pytest>=7.4.4", + "pytest-coverage", + "pytest-cases>=3.8.5", + "ARLBench[examples]" +] +examples = ["hypersweeper>=0.2.0"] doc = [ - "automl_sphinx_theme==0.2.0", - "sphinx-toolbox==3.5.0", - "sphinx-autodoc-typehints==2.1.0", - "myst-parser==2.0.0", - "sphinx-tabs==3.4.5", - "sphinx==7.3.7" + "automl_sphinx_theme>=0.2.0", + "sphinx-toolbox>=3.5.0", + "sphinx-autodoc-typehints>=2.1.0", + "myst-parser>=2.0.0", + "sphinx-tabs>=3.4.5", + "sphinx>=7.3.7" ] -envpool = ["envpool==0.8.4"] +envpool = ["envpool>=0.8.4"] # https://docs.pytest.org/en/7.2.x/reference/reference.html#ini-options-ref @@ -99,140 +109,33 @@ lint.extend-safe-fixes = ["ALL"] lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" lint.select = [ - "A", - # "ANN", # Handled by mypy - "ARG", - "B", - "BLE", - "COM", - "C4", - "D", - # "DTZ", # One day I should know how to utilize timezones and dates... - "E", - # "EXE", Meh - "ERA", - "F", - "FBT", - "I", - # "ISC", # Favours implicit string concatenation - "INP", - # "INT", # I don't understand this one - "N", - "NPY", - "PD", - "PLC", - "PLE", - "PLR", - "PLW", - "PIE", - "PT", - "PTH", - # "PYI", # Specific to .pyi files for type stubs - "Q", - "PGH004", - "RET", - "RUF", - "C90", - "S", - # "SLF", # Private member accessed (sure, it's python) - "SIM", - # "TRY", # Good in principle, would take a lot of work to statisfy - "T10", - "T20", - "TID", - "TCH", - "UP", - "N", - "W", - "YTT", + "A", "ARG", "B", "BLE", "COM", "C4", "D", "E", "ERA", "F", + "FBT", "I", "INP", "N", "NPY", "PD", "PLC", "PLE", "PLR", + "PLW", "PIE", "PT", "PTH", "Q", "PGH004", "RET", "RUF", + "C90", "S", "SIM", "T10", "T20", "TID", "TCH", "UP", "W", "YTT", ] lint.ignore = [ - "D104", # Missing docstring in public package - "D105", # Missing docstring in magic mthod - "D203", # 1 blank line required before class docstring - "D205", # 1 blank line between summary and description - "D401", # First line of docstring should be in imperative mood - "N806", # Variable X in function should be lowercase - "E731", # Do not assign a lambda expression, use a def - "A003", # Shadowing a builtin - "S101", # Use of assert detected. - "W292", # No newline at end of file - "PLC1901", # "" can be simplified to be falsey - "TCH003", # Move stdlib import into TYPE_CHECKING - "B010", # Do not use `setattr` - "COM812", - # These tend to be lighweight and confuse pyright - "PTH123", - "PTH109", - "T201", - "ERA001", - "D402", - "B904", - "FBT002", - "FBT001", - "FBT003", - "RET505", - "RET507", - "B028", - "B023", - "D417", - "E501", - "PLR0915", - "PLR0912", - "C901", - "PLR2004", - "S108", - "PTH118", - "PTH103", - "RUF012", + "D104", "D105", "D203", "D205", "D401", "N806", "E731", "A003", + "S101", "W292", "PLC1901", "TCH003", "B010", "COM812", "PTH123", + "PTH109", "T201", "ERA001", "D402", "B904", "FBT002", "FBT001", + "FBT003", "RET505", "RET507", "B028", "B023", "D417", "E501", + "PLR0915", "PLR0912", "C901", "PLR2004", "S108", "PTH118", "PTH103", "RUF012", ] exclude = [ - ".bzr", - ".direnv", - ".eggs", - ".git", - ".hg", - ".mypy_cache", - ".nox", - ".pants.d", - ".ruff_cache", - ".svn", - ".tox", - ".venv", - "__pypackages__", - "_build", - "buck-out", - "build", - "dist", - "node_modules", - "venv", - "docs", - "*plotting*", - "*hydra_utils*" + ".bzr", ".direnv", ".eggs", ".git", ".hg", ".mypy_cache", ".nox", + ".pants.d", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", + "_build", "buck-out", "build", "dist", "node_modules", "venv", + "docs", "*plotting*", "*hydra_utils*" ] -# Exclude a variety of commonly ignored directories. [tool.ruff.lint.per-file-ignores] -"tests/*.py" = [ - "S101", - "D103", - "ANN001", - "ANN201", - "FBT001", - "D100", - "PLR2004", - "PD901", # X is a bad variable name. (pandas) - "TCH", - "N803" -] - +"tests/*.py" = ["S101", "D103", "ANN001", "ANN201", "FBT001", "D100", "PLR2004", "PD901", "TCH", "N803"] "__init__.py" = ["I002"] "examples/*" = ["INP001", "I002", "E741", "D101", "D103", "T20", "D415", "ERA001", "E402", "E501"] "docs/*" = ["INP001"] - [tool.ruff.lint.isort] known-first-party = ["amltk"] known-third-party = ["sklearn"] @@ -246,70 +149,50 @@ force-wrap-aliases = true convention = "google" [tool.ruff.lint.pylint] -max-args = 10 # Changed from default of 5 +max-args = 10 [tool.mypy] python_version = "3.10" packages = ["arlbench", "tests"] exclude = ["arlbench/plotting.py"] show_error_codes = true - -warn_unused_configs = true # warn about unused [tool.mypy] lines - -follow_imports = "normal" # Type check top level api code we use from imports -ignore_missing_imports = false # prefer explicit ignores - -disallow_untyped_defs = true # All functions must have types -disallow_untyped_decorators = true # ... even decorators -disallow_incomplete_defs = true # ...all types - +warn_unused_configs = true +follow_imports = "normal" +ignore_missing_imports = false +disallow_untyped_defs = true +disallow_untyped_decorators = true +disallow_incomplete_defs = true no_implicit_optional = true check_untyped_defs = true - warn_return_any = true - [[tool.mypy.overrides]] module = ["tests.*"] -disallow_untyped_defs = false # Sometimes we just want to ignore verbose types -disallow_untyped_decorators = false # Test decorators are not properly typed -disallow_incomplete_defs = false # Sometimes we just want to ignore verbose types +disallow_untyped_defs = false +disallow_untyped_decorators = false +disallow_incomplete_defs = false disable_error_code = ["var-annotated"] [[tool.mypy.overrides]] module = [ - "sklearn.*", - "ConfigSpace.*", - "pandas.*", - "more_itertools.*", - "dask_jobqueue.*", - "wandb.*", - "threadpoolctl.*", - "loky.*", - "metahyper.*", - "neps.*", + "sklearn.*", "ConfigSpace.*", "pandas.*", "more_itertools.*", + "dask_jobqueue.*", "wandb.*", "threadpoolctl.*", "loky.*", + "metahyper.*", "neps.*", ] ignore_missing_imports = true [tool.bumpversion] allow_dirty = false -commit = false +commit = true message = "Bump version: {current_version} → {new_version}" -commit_args = "" -tag = false -sign_tags = false -tag_name = "v{new_version}" -tag_message = "Bump version: {current_version} → {new_version}" -current_version = "0.1.0" +current_version = "0.1.3" parse = "(?P\\d+)\\.(?P\\d+)\\.(?P\\d+)" -serialize = [ - "{major}.{minor}.{patch}" -] -search = "{current_version}" -replace = "{new_version}" +serialize = ["{major}.{minor}.{patch}"] [[tool.bumpversion.files]] -filename = "setup.py" +filename = "pyproject.toml" +search = 'version = "{current_version}"' +replace = 'version = "{new_version}"' [[tool.bumpversion.files]] filename = "CHANGELOG.md" From d378b5b131348cb64012f3837d02f346d7a42e1d Mon Sep 17 00:00:00 2001 From: LukasFehring <72503857+LukasFehring@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:10:27 +0100 Subject: [PATCH 2/5] Upgrade pytest version to 8.0.0 --- pyproject.toml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5c25b1023..736926420 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ dependencies = [ "distrax>=0.1.5", "flax>=0.8.2", "brax>=0.10.3", - "pytest>=7.4.4", + "pytest>=8.0.0", "coverage>=7.4.4", "xminigrid>=0.8.0", "gymnasium>=1.2.0", @@ -54,8 +54,8 @@ dev = [ "mypy>=1.9.0" ] test = [ - "pytest>=7.4.4", - "pytest-coverage", + "pytest>=8.0.0", + "pytest-cov>=4.1.0", "pytest-cases>=3.8.5", "ARLBench[examples]" ] @@ -70,19 +70,17 @@ doc = [ ] envpool = ["envpool>=0.8.4"] - -# https://docs.pytest.org/en/7.2.x/reference/reference.html#ini-options-ref [tool.pytest.ini_options] testpaths = ["tests"] -minversion = "7.0" +minversion = "8.0" empty_parameter_set_mark = "xfail" log_cli = false log_level = "DEBUG" xfail_strict = true +# Note: Ensure you actually want to call --cov here if you use it in CI addopts = "--durations=10 -vv" markers = ["example: An example"] - [tool.coverage.run] branch = true include = ["arlbench"] @@ -97,15 +95,12 @@ exclude_lines = [ "if TYPE_CHECKING", ] -# https://github.com/charliermarsh/ruff [tool.ruff] target-version = "py310" line-length = 88 show-source = true src = ["src", "tests", "examples"] lint.extend-safe-fixes = ["ALL"] - -# Allow unused variables when underscore-prefixed. lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" lint.select = [ From dbc2b9935dd09a2864cc5fb085afaa88f56597aa Mon Sep 17 00:00:00 2001 From: LukasFehring <72503857+LukasFehring@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:19:08 +0100 Subject: [PATCH 3/5] Update pyproject.toml --- pyproject.toml | 279 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 201 insertions(+), 78 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 736926420..78f8a5832 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,33 +2,35 @@ name = "ARLBench" version = "0.1.3" dependencies = [ - "typing_extensions", - "numpy>=1.26.4", - "tomli>=2.0.1", - "pre-commit>=3.7.0", - "codecarbon>=2.3.5", - "memray>=1.12.0", - "pathos>=0.3.2", - "jax>=0.4.26", - "jaxlib>=0.4.26", - "flashbax>=0.1.2", - "gymnax>=0.0.6", - "chex>=0.1.86", - "ConfigSpace>=1.2.1", - "distrax>=0.1.5", - "flax>=0.8.2", - "brax>=0.10.3", + "typing_extensions", # Better typing + "numpy==1.26.4", + "tomli==2.0.1", + "pre-commit==3.7.0", + "codecarbon==2.3.5", + "memray==1.12.0", + "pathos==0.3.2", + "jax==0.4.26", + "jaxlib==0.4.26", + "flashbax==0.1.2", + "gymnax==0.0.6", + "chex==0.1.86", + "ConfigSpace==1.2.1", + "distrax==0.1.5", + "flax==0.8.2", + "brax==0.10.3", "pytest>=8.0.0", - "coverage>=7.4.4", - "xminigrid>=0.8.0", - "gymnasium>=1.2.0", - "hydra-core>=1.3.2", + + "coverage==7.4.4", + "chex==0.1.86", + "xminigrid==0.8.0", + "gymnasium==1.2.0", + "hydra-core==1.3.2", "hydra-submitit-launcher", "hydra_colorlog", ] requires-python = ">=3.10" -authors = [{ name = "AutoML Hannover", email = "automl@ai.uni-hannover.de" }] +authors = [{ name = "AutoML Hannover", email = "automl@ai.uni-hannover.de" }] readme = "README.md" description = "Python Boilerplate that contains all the code you need to create a Python package." classifiers = [ @@ -45,42 +47,33 @@ classifiers = [ license = { file = "LICENSE" } [project.optional-dependencies] -dev = [ - "ARLBench[doc, test, examples]", - "ruff>=0.4.0", - "pre-commit>=3.7.0", - "bump-my-version>=0.20.1", - "twine>=5.0.0", - "mypy>=1.9.0" -] -test = [ - "pytest>=8.0.0", - "pytest-cov>=4.1.0", - "pytest-cases>=3.8.5", - "ARLBench[examples]" -] -examples = ["hypersweeper>=0.2.0"] +dev = ["ARLBench[doc, test, examples]", "ruff==0.4.0", "pre-commit==3.7.0", "bump-my-version==0.20.1", "twine==5.0.0", "mypy==1.9.0"] + +test = ["pytest==7.4.4", "pytest-coverage", "pytest-cases==3.8.5", "ARLBench[examples]"] +examples = ["hypersweeper==0.2.0"] doc = [ - "automl_sphinx_theme>=0.2.0", - "sphinx-toolbox>=3.5.0", - "sphinx-autodoc-typehints>=2.1.0", - "myst-parser>=2.0.0", - "sphinx-tabs>=3.4.5", - "sphinx>=7.3.7" + "automl_sphinx_theme==0.2.0", + "sphinx-toolbox==3.5.0", + "sphinx-autodoc-typehints==2.1.0", + "myst-parser==2.0.0", + "sphinx-tabs==3.4.5", + "sphinx==7.3.7" ] -envpool = ["envpool>=0.8.4"] +envpool = ["envpool==0.8.4"] + +# https://docs.pytest.org/en/7.2.x/reference/reference.html#ini-options-ref [tool.pytest.ini_options] testpaths = ["tests"] -minversion = "8.0" +minversion = "7.0" empty_parameter_set_mark = "xfail" log_cli = false log_level = "DEBUG" xfail_strict = true -# Note: Ensure you actually want to call --cov here if you use it in CI addopts = "--durations=10 -vv" markers = ["example: An example"] + [tool.coverage.run] branch = true include = ["arlbench"] @@ -95,42 +88,152 @@ exclude_lines = [ "if TYPE_CHECKING", ] +# https://github.com/charliermarsh/ruff [tool.ruff] target-version = "py310" line-length = 88 show-source = true src = ["src", "tests", "examples"] lint.extend-safe-fixes = ["ALL"] + +# Allow unused variables when underscore-prefixed. lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" lint.select = [ - "A", "ARG", "B", "BLE", "COM", "C4", "D", "E", "ERA", "F", - "FBT", "I", "INP", "N", "NPY", "PD", "PLC", "PLE", "PLR", - "PLW", "PIE", "PT", "PTH", "Q", "PGH004", "RET", "RUF", - "C90", "S", "SIM", "T10", "T20", "TID", "TCH", "UP", "W", "YTT", + "A", + # "ANN", # Handled by mypy + "ARG", + "B", + "BLE", + "COM", + "C4", + "D", + # "DTZ", # One day I should know how to utilize timezones and dates... + "E", + # "EXE", Meh + "ERA", + "F", + "FBT", + "I", + # "ISC", # Favours implicit string concatenation + "INP", + # "INT", # I don't understand this one + "N", + "NPY", + "PD", + "PLC", + "PLE", + "PLR", + "PLW", + "PIE", + "PT", + "PTH", + # "PYI", # Specific to .pyi files for type stubs + "Q", + "PGH004", + "RET", + "RUF", + "C90", + "S", + # "SLF", # Private member accessed (sure, it's python) + "SIM", + # "TRY", # Good in principle, would take a lot of work to statisfy + "T10", + "T20", + "TID", + "TCH", + "UP", + "N", + "W", + "YTT", ] lint.ignore = [ - "D104", "D105", "D203", "D205", "D401", "N806", "E731", "A003", - "S101", "W292", "PLC1901", "TCH003", "B010", "COM812", "PTH123", - "PTH109", "T201", "ERA001", "D402", "B904", "FBT002", "FBT001", - "FBT003", "RET505", "RET507", "B028", "B023", "D417", "E501", - "PLR0915", "PLR0912", "C901", "PLR2004", "S108", "PTH118", "PTH103", "RUF012", + "D104", # Missing docstring in public package + "D105", # Missing docstring in magic mthod + "D203", # 1 blank line required before class docstring + "D205", # 1 blank line between summary and description + "D401", # First line of docstring should be in imperative mood + "N806", # Variable X in function should be lowercase + "E731", # Do not assign a lambda expression, use a def + "A003", # Shadowing a builtin + "S101", # Use of assert detected. + "W292", # No newline at end of file + "PLC1901", # "" can be simplified to be falsey + "TCH003", # Move stdlib import into TYPE_CHECKING + "B010", # Do not use `setattr` + "COM812", + # These tend to be lighweight and confuse pyright + "PTH123", + "PTH109", + "T201", + "ERA001", + "D402", + "B904", + "FBT002", + "FBT001", + "FBT003", + "RET505", + "RET507", + "B028", + "B023", + "D417", + "E501", + "PLR0915", + "PLR0912", + "C901", + "PLR2004", + "S108", + "PTH118", + "PTH103", + "RUF012", ] exclude = [ - ".bzr", ".direnv", ".eggs", ".git", ".hg", ".mypy_cache", ".nox", - ".pants.d", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", - "_build", "buck-out", "build", "dist", "node_modules", "venv", - "docs", "*plotting*", "*hydra_utils*" + ".bzr", + ".direnv", + ".eggs", + ".git", + ".hg", + ".mypy_cache", + ".nox", + ".pants.d", + ".ruff_cache", + ".svn", + ".tox", + ".venv", + "__pypackages__", + "_build", + "buck-out", + "build", + "dist", + "node_modules", + "venv", + "docs", + "*plotting*", + "*hydra_utils*" ] +# Exclude a variety of commonly ignored directories. [tool.ruff.lint.per-file-ignores] -"tests/*.py" = ["S101", "D103", "ANN001", "ANN201", "FBT001", "D100", "PLR2004", "PD901", "TCH", "N803"] +"tests/*.py" = [ + "S101", + "D103", + "ANN001", + "ANN201", + "FBT001", + "D100", + "PLR2004", + "PD901", # X is a bad variable name. (pandas) + "TCH", + "N803" +] + "__init__.py" = ["I002"] "examples/*" = ["INP001", "I002", "E741", "D101", "D103", "T20", "D415", "ERA001", "E402", "E501"] "docs/*" = ["INP001"] + [tool.ruff.lint.isort] known-first-party = ["amltk"] known-third-party = ["sklearn"] @@ -144,50 +247,70 @@ force-wrap-aliases = true convention = "google" [tool.ruff.lint.pylint] -max-args = 10 +max-args = 10 # Changed from default of 5 [tool.mypy] python_version = "3.10" packages = ["arlbench", "tests"] exclude = ["arlbench/plotting.py"] show_error_codes = true -warn_unused_configs = true -follow_imports = "normal" -ignore_missing_imports = false -disallow_untyped_defs = true -disallow_untyped_decorators = true -disallow_incomplete_defs = true + +warn_unused_configs = true # warn about unused [tool.mypy] lines + +follow_imports = "normal" # Type check top level api code we use from imports +ignore_missing_imports = false # prefer explicit ignores + +disallow_untyped_defs = true # All functions must have types +disallow_untyped_decorators = true # ... even decorators +disallow_incomplete_defs = true # ...all types + no_implicit_optional = true check_untyped_defs = true + warn_return_any = true + [[tool.mypy.overrides]] module = ["tests.*"] -disallow_untyped_defs = false -disallow_untyped_decorators = false -disallow_incomplete_defs = false +disallow_untyped_defs = false # Sometimes we just want to ignore verbose types +disallow_untyped_decorators = false # Test decorators are not properly typed +disallow_incomplete_defs = false # Sometimes we just want to ignore verbose types disable_error_code = ["var-annotated"] [[tool.mypy.overrides]] module = [ - "sklearn.*", "ConfigSpace.*", "pandas.*", "more_itertools.*", - "dask_jobqueue.*", "wandb.*", "threadpoolctl.*", "loky.*", - "metahyper.*", "neps.*", + "sklearn.*", + "ConfigSpace.*", + "pandas.*", + "more_itertools.*", + "dask_jobqueue.*", + "wandb.*", + "threadpoolctl.*", + "loky.*", + "metahyper.*", + "neps.*", ] ignore_missing_imports = true [tool.bumpversion] allow_dirty = false -commit = true +commit = false message = "Bump version: {current_version} → {new_version}" -current_version = "0.1.3" +commit_args = "" +tag = false +sign_tags = false +tag_name = "v{new_version}" +tag_message = "Bump version: {current_version} → {new_version}" +current_version = "0.1.0" parse = "(?P\\d+)\\.(?P\\d+)\\.(?P\\d+)" -serialize = ["{major}.{minor}.{patch}"] +serialize = [ + "{major}.{minor}.{patch}" +] +search = "{current_version}" +replace = "{new_version}" [[tool.bumpversion.files]] -filename = "pyproject.toml" -search = 'version = "{current_version}"' -replace = 'version = "{new_version}"' +filename = "setup.py" [[tool.bumpversion.files]] filename = "CHANGELOG.md" From 74c0e3d5f0234ad71a9a18791001becda985240e Mon Sep 17 00:00:00 2001 From: LukasFehring <72503857+LukasFehring@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:21:39 +0100 Subject: [PATCH 4/5] Update pytest version and dependencies in pyproject.toml --- pyproject.toml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 78f8a5832..5ce7e91de 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,6 @@ dependencies = [ "flax==0.8.2", "brax==0.10.3", "pytest>=8.0.0", - "coverage==7.4.4", "chex==0.1.86", "xminigrid==0.8.0", @@ -49,7 +48,7 @@ license = { file = "LICENSE" } [project.optional-dependencies] dev = ["ARLBench[doc, test, examples]", "ruff==0.4.0", "pre-commit==3.7.0", "bump-my-version==0.20.1", "twine==5.0.0", "mypy==1.9.0"] -test = ["pytest==7.4.4", "pytest-coverage", "pytest-cases==3.8.5", "ARLBench[examples]"] +test = ["pytest>=8.0.0", "pytest-coverage", "pytest-cases==3.8.5", "ARLBench[examples]"] examples = ["hypersweeper==0.2.0"] doc = [ "automl_sphinx_theme==0.2.0", @@ -65,7 +64,7 @@ envpool = ["envpool==0.8.4"] # https://docs.pytest.org/en/7.2.x/reference/reference.html#ini-options-ref [tool.pytest.ini_options] testpaths = ["tests"] -minversion = "7.0" +minversion = "8.0" empty_parameter_set_mark = "xfail" log_cli = false log_level = "DEBUG" From 0c47cd84b46927e5fed080dacf25c45f4445e546 Mon Sep 17 00:00:00 2001 From: Lukas Fehring Date: Mon, 16 Mar 2026 14:41:21 +0100 Subject: [PATCH 5/5] Create an arlbench version that might work for me. No guarantees for anybody else --- pyproject.toml | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5ce7e91de..9916b29b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,9 +3,9 @@ name = "ARLBench" version = "0.1.3" dependencies = [ "typing_extensions", # Better typing - "numpy==1.26.4", + "numpy>=1.26.4", "tomli==2.0.1", - "pre-commit==3.7.0", + "pre-commit>=3.7.0", "codecarbon==2.3.5", "memray==1.12.0", "pathos==0.3.2", @@ -14,12 +14,12 @@ dependencies = [ "flashbax==0.1.2", "gymnax==0.0.6", "chex==0.1.86", - "ConfigSpace==1.2.1", + "ConfigSpace>=1.2.1", "distrax==0.1.5", "flax==0.8.2", "brax==0.10.3", "pytest>=8.0.0", - "coverage==7.4.4", + "coverage>=7.4.4", "chex==0.1.86", "xminigrid==0.8.0", "gymnasium==1.2.0", @@ -45,22 +45,6 @@ classifiers = [ ] license = { file = "LICENSE" } -[project.optional-dependencies] -dev = ["ARLBench[doc, test, examples]", "ruff==0.4.0", "pre-commit==3.7.0", "bump-my-version==0.20.1", "twine==5.0.0", "mypy==1.9.0"] - -test = ["pytest>=8.0.0", "pytest-coverage", "pytest-cases==3.8.5", "ARLBench[examples]"] -examples = ["hypersweeper==0.2.0"] -doc = [ - "automl_sphinx_theme==0.2.0", - "sphinx-toolbox==3.5.0", - "sphinx-autodoc-typehints==2.1.0", - "myst-parser==2.0.0", - "sphinx-tabs==3.4.5", - "sphinx==7.3.7" -] -envpool = ["envpool==0.8.4"] - - # https://docs.pytest.org/en/7.2.x/reference/reference.html#ini-options-ref [tool.pytest.ini_options] testpaths = ["tests"]