go-python / go-python/gpython

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

Open
#247 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
1k
Forks
105
PR merge metrics
No merged PRs in 30d

Description

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:
```python
# 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!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.