Vom 20.12.2025 bis 11.01.2026 ist die Universitätsbibliothek geschlossen. Ab dem 12.01.2026 gelten wieder die regulären Öffnungszeiten. Ausnahme: Medizinische Hauptbibliothek und Zentralbibliothek sind bereits ab 05.01.2026 wieder geöffnet. Weitere Informationen

Treffer: Go(lang) to Python: Using Go, CGO, and Cython to build Extension Modules.

Title:
Go(lang) to Python: Using Go, CGO, and Cython to build Extension Modules.
Authors:
Contributors:
Kompetenzzentrum für nicht-textuelle Materialien
Publisher Information:
EuroPython
Publication Year:
2019
Document Type:
course material<br />moving image (video)
Language:
English
Accession Number:
edsbas.C98DAF57
Database:
BASE

Weitere Informationen

(en)Python and Go are a great combination. Like Python, Go is easy to learn, powerful to use and has many useful libraries. Go and Python work great together: Go has better performance and parallelism, while Python is more expressive. Wouldn't it be nice if you could combine the benefits of Go and Python in one program? This talk shows you how. Why you may want to attend Extension modules written in C/C++ or other languages are one of the major strength Python. Go is a useful language to extend Python. This talk explains to you how to implement extension modules in Go. Content of the Talk The talk shows how to use CGO to make Go code available as a C library and then to use Cython to make this library available as a Python extension module. We start by building a wrapper for simple Go code that adds some numbers and returns the results. This program is our end-to-end example to demonstrate the steps necessary to create a Python extension module in Go. Next, we move to more complex use cases. We look at different ways to share complex data and to use Python callbacks from Go. Then, we see how to how to handle Go's Garbage Collector when exposing with Go Objects. Finally, the talk goes into the advantages and disadvantages of Go as an extension language for Python. We also look at some of the alternative ways to make Go code available in Python. Recommended Prerequisites To get the most out of the talk, you should know about the difference between native Python modules and extension modules written in other languages. Some background on concepts like garbage collection, stack and heap, and dynamic/shared libraries are beneficial. Knowledge of the Python C API is not required. You do not need to know how to write Go code to follow the talk - the talk explains all the required Go.