datadog breaks itables
datadog tags all modules by setting a __dd_origin__ property on the module. While not perfect, this should be relatively safe because they use dunders, and any dunder properties defined in the source code get mangled by python, so chances of a collision are minimal. However, itables dynamically interprets all objects in the itables.options module as config options, passing them along unchecked. The end result is that __dd_origin__ gets passed to json.dumps(kwargs), raising an exception because the property is not serializable.
I would prefer some sanitization on the list of options configured in itables.options instead of parsing every result from dir as an option, but I dont know if that would break some intended behaviour.
Hi @sebasv , thanks for reaching out! Yes that's a good point, and now that we have added more type hints we also happen to get a list of the expected options, so maybe I could use that. I will have a look for the next release. Thanks for suggesting.
Brilliant, thanks!
Hi @sebasv , I think that is will be easy to provide a fix, but I would like to make sure that I can reproduce the problem first. I did not get into any issue by 1. installing datadog and 2. adding import datadog to my conftest.py. What else is required? Thanks
Hi @sebasv , I am looking forward to fix this, but as mention earlier I would need to be able to reproduce the issue in the first place. Could you share a MRE? Thanks