lballabio / QuantLib-SWIG

QuantLib wrappers to other languages
Other
339 stars 282 forks source link

DeprecationWarning in Python 3.10 with QuantLib 1.34 and 1.35 #670

Open vezeli opened 2 weeks ago

vezeli commented 2 weeks ago

Hi,

I am using Python 3.10 and I have been building a package on top of QuantLib 1.32 and decided to upgrade to QuantLib 1.35. After the upgrade, I see that all of the tests are passing but I am receiving several DepricationWarning messages. It is easy to replicate the issue in an interactive Python 3.10 session:

>>> import warnings
>>> warnings.simplefilter("default")  # activate all warning messages
>>> import QuantLib as ql

which returns the following:

<frozen importlib._bootstrap>:241: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute
<frozen importlib._bootstrap>:241: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute
<frozen importlib._bootstrap>:241: DeprecationWarning: builtin type swigvarlink has no __module__ attribute

I went back and created two additional virtual environments for QuantLib 1.33 and QuantLib 1.34, respectively, and I noticed that the same issue appears in QuantLib 1.34. I am not familiar with code changes in QuantLib-SWIG but I did looked at the release notes for QuantLib 1.34 and I am not seeing any introduction of DepricationWarning. Is this issue planned or is it an "unintentional" feature?

boring-cyborg[bot] commented 2 weeks ago

Thanks for posting! It might take a while before we look at your issue, so don't worry if there seems to be no feedback. We'll get to it.

lballabio commented 2 weeks ago

It comes from having started to use the limited API, see https://github.com/lballabio/QuantLib-SWIG/issues/647 (that I should probably keep open). It needs to be fixed in SWIG.

vezeli commented 2 weeks ago

Ah, sorry @lballabio about this replica of #647, it is really unfortunate that I didn't see it before. I will close this issue. Thanks!

lballabio commented 2 weeks ago

No problem, also #647 was closed (I reopened it now) so it might have been out of sight.