New submission from Azat Ibrakov <azatibra...@gmail.com>:
I'm reimplementing `fractions.Fraction` class using C API (https://github.com/lycantropos/cfractions). And the problem is that I want to use `numbers.Rational` interface in my type checks to add support for user-defined rational numbers. I see how it's done for `decimal.Decimal` class: https://github.com/python/cpython/blob/142e5c5445c019542246d93fe2f9e195d3131686/Modules/_decimal/_decimal.c#L2916 but the problem is: I don't see when/where we call `Py_DECREF(Rational)`, so it looks like this class will not be "freed" until the end of the program. So my question is: is there any way to define some function which will be called once module is not used? ---------- components: C API messages: 395012 nosy: lycantropos priority: normal severity: normal status: open title: Is there a way to provide destructor for module written using C API? versions: Python 3.6, Python 3.7, Python 3.8, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue44301> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com