mapeditor/tiled

Modernize Python bindings

Open

#2,190 opened on Aug 28, 2019

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (10,413 stars) (1,708 forks)batch import
help wanted

Description

The current Python plugin relies on a large amount of generated code based on the somewhat hard to maintain and always incomplete tiledbinding.py and qtbinding.py.

I've recently learned about pybind11 (see also this blog post), which seems like a much nicer way of binding the classes to Python. The bindings are defined with similar verbosity, but directly in C++ which makes it easier to keep up-to-date.

In addition, pybind11 provides a more convenient way of interfacing with an embedded Python interpreter than using the Python API directly.

Contributor guide