gpython icon indicating copy to clipboard operation
gpython copied to clipboard

Support inheriting Go objects in Python and overriding methods/attributes?

Open IcyVizi opened this issue 3 months ago • 0 comments

I am exploring gpython to embed Python scripting in a Go project. I have the following question regarding object interoperability:

  • Is it possible to define a Python class that inherits from a Go object exposed to gpython?
  • Can such a Python subclass override methods or add new attributes on top of the Go object?

For example, in Python I would like to do something like:

# Hypothetical example
class PyVacation(MyGoVacation):
    def new_method(self):
        return "Python override"
    
    @property
    def new_attr(self):
        return "Python attribute"

Currently, I am able to expose Go objects to gpython and call Go methods, but I am unsure if inheritance is supported.

Could you clarify whether this is possible, and if not, are there recommended workarounds (e.g., composition or monkey-patching) to extend Go objects in Python?

Thank you for your help!

IcyVizi avatar Sep 25 '25 13:09 IcyVizi