apm-agent-python
apm-agent-python copied to clipboard
Wrapt 1.15.0 doesn't play well with py3.12
Causes Django's test_stacktrace_filtered_for_elasticapm
to fail.
Perhaps related to https://github.com/GrahamDumpleton/wrapt/issues/231 ?
still not working with wrapt 1.15.0, I'm using 3.9.18
In the wrapt 1.16.0 release, two important things were changed in regards to ObjectProxy:
- you could not set class in objectproxy: https://github.com/GrahamDumpleton/wrapt/commit/fe909c26f29f954de7648f8bb7fbd1916ee34cc6
- a pure python ObjectProxy alternative was exposed: https://github.com/GrahamDumpleton/wrapt/commit/77a41f5de2db5fb60c6b5456097602c9d1099eb0
Currently apm-agent does not use 2.), however 2.) will definitely fix the issue here (at a performance cost). @andrei-gutierrez Could you please retry tests with wrapt 1.16.0 as-is to see if the first change fixed this?
Not running all tests but with python 3.12.2 and wrapt 1.16.0 quite a bit of them pass: 876 passed, 62 skipped
Should I send a PR to include wrapt != 1.15.* in the requirements?
It should be something like wrapt>=1.14.1,!=1.15.0
and install_requires
in setup.cfg
should be bumped too.
I sent the PR, but the CLA process on our side will take a bit of time. I think for the moment it would be best if somebody else opened an equivalent PR.