Skip to content

Commit d9a9766

Browse files
jsonargparse 4.39 required for CLI, check at run-time (#21747)
* jsonargparse 4.39 required for CLI, check at run-time Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 4f87061 commit d9a9766

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

src/lightning/pytorch/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
from lightning.pytorch.utilities.model_helpers import is_overridden
3737
from lightning.pytorch.utilities.rank_zero import rank_zero_warn
3838

39-
_JSONARGPARSE_SIGNATURES_AVAILABLE = RequirementCache("jsonargparse[signatures]>=4.27.7")
39+
_JSONARGPARSE_SIGNATURES_AVAILABLE = RequirementCache("jsonargparse[jsonnet,signatures]>=4.39")
4040

4141
if _JSONARGPARSE_SIGNATURES_AVAILABLE:
4242
import docstring_parser

tests/tests_pytorch/test_cli.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import json
1717
import operator
1818
import os
19-
import sys
2019
from contextlib import ExitStack, contextmanager, redirect_stderr, redirect_stdout
2120
from io import StringIO
2221
from pathlib import Path
@@ -259,7 +258,9 @@ def test_lightning_cli_args(cleandir):
259258
assert loaded_config["trainer"] == cli_config["trainer"]
260259

261260

262-
@pytest.mark.skipif(compare_version("jsonargparse", operator.lt, "4.21.3"), reason="vulnerability with failing imports")
261+
@pytest.mark.skipif(
262+
compare_version("jsonargparse", operator.lt, "4.39"), reason="incompatibilities with older jsonargparse"
263+
)
263264
def test_lightning_env_parse(cleandir):
264265
out = StringIO()
265266
with mock.patch("sys.argv", ["", "fit", "--help"]), redirect_stdout(out), pytest.raises(SystemExit):
@@ -426,11 +427,8 @@ def any_model_any_data_cli():
426427
LightningCLI(LightningModule, LightningDataModule, subclass_mode_model=True, subclass_mode_data=True)
427428

428429

429-
@pytest.mark.skipif(compare_version("jsonargparse", operator.lt, "4.21.3"), reason="vulnerability with failing imports")
430430
@pytest.mark.skipif(
431-
(sys.version_info.major, sys.version_info.minor) == (3, 9)
432-
and compare_version("jsonargparse", operator.lt, "4.24.0"),
433-
reason="--trainer.precision is not parsed",
431+
compare_version("jsonargparse", operator.lt, "4.39"), reason="incompatibilities with older jsonargparse"
434432
)
435433
def test_lightning_cli_help():
436434
cli_args = ["any.py", "fit", "--help"]
@@ -1211,7 +1209,9 @@ def test_lightning_cli_subcommands():
12111209
assert e in parameters
12121210

12131211

1214-
@pytest.mark.skipif(compare_version("jsonargparse", operator.lt, "4.21.3"), reason="vulnerability with failing imports")
1212+
@pytest.mark.skipif(
1213+
compare_version("jsonargparse", operator.lt, "4.39"), reason="incompatibilities with older jsonargparse"
1214+
)
12151215
def test_lightning_cli_custom_subcommand():
12161216
class TestTrainer(Trainer):
12171217
def foo(self, model: LightningModule, x: int, y: float = 1.0):

tests/tests_pytorch/utilities/test_imports.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def clean_import():
8787
),
8888
pytest.param(
8989
"lightning_utilities.core.imports.RequirementCache.__bool__",
90-
_shortcut_patch(RequirementCache.__bool__, ("jsonargparse[signatures]>=4.12.0",), ("requirement",)),
90+
_shortcut_patch(RequirementCache.__bool__, ("jsonargparse[jsonnet,signatures]>=4.39",), ("requirement",)),
9191
"lightning.pytorch.cli",
9292
id="cli",
9393
),

0 commit comments

Comments
 (0)