I've been configuring arguments like the one above in project, which is mainly python 3.10 (& 3.9), but this doesn't work since python 3.11.
The reason for this is that as of python 3.11, list[Optimizer] is False in inspect.isclass().
https://github.com/omni-us/jsonargparse/blob/88fc9c8782fd959aa844b9bfa1ab3a324132b842/jsonargparse/_signatures.py#L502-L503
If I comment out that if statement and the raise statement, this works fine.
Do I need to use a different method to use list[Optimizer] or list[Scheduler]?
This used to work in python 3.9 and 3.10, but a new workaround is needed in 3.11.
I was wondering if could relax that if statement to make it more flexible.
To reproduce
Expected behavior
Environment
jsonargparse version (e.g., 4.8.0):
Python version (e.g., 3.9):
How jsonargparse was installed (e.g. pip install jsonargparse[all]):
🐛 Bug report
Hi all, I'm working on a project that utilizes this great library. However, I ran into a problem with python 3.11.
I've been configuring arguments like the one above in project, which is mainly python 3.10 (& 3.9), but this doesn't work since python 3.11. The reason for this is that as of python 3.11,
list[Optimizer]
is False ininspect.isclass()
. https://github.com/omni-us/jsonargparse/blob/88fc9c8782fd959aa844b9bfa1ab3a324132b842/jsonargparse/_signatures.py#L502-L503 If I comment out that if statement and the raise statement, this works fine. Do I need to use a different method to uselist[Optimizer]
orlist[Scheduler]
? This used to work in python 3.9 and 3.10, but a new workaround is needed in 3.11.I was wondering if could relax that if statement to make it more flexible.
To reproduce
Expected behavior
Environment
pip install jsonargparse[all]
):