go-python / go-python/gopy

How hard would it be to generate C bindings instead of Python bindings?

Open
#319 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
2.3k
Forks
136
Avg merge
14m
Merged PRs (30d)
2

Description

Hi! I just encountered this library, and I was wondering how hard it would be to use this code to generate C bindings instead of Python bindings. I haven't looked into this library too much yet, but the premise of it sounds really nice, and I'm just wanting a convenient way for me to start using a Go library in Rust, and if a C interface could automatically be generated than the rest of that could just be taken care of.

I'm just throwing it out to start some conversation, I'd be willing to look into implementing it myself if need be, but just some talk on what would need to be done first would be good on my end.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing how gopy currently generates CPython extension modules from Go packages and identify the scope of producing C bindings instead. The issue names no files, tests, or entry points, so first clarify the desired C interface and supported Go features. Done would mean an agreed design and an implementation plan for generating and consuming the bindings.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, go, python, rust
Domain
devtools, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.