pybind/pybind11

Support for dataclasses

Open

#2065 opened on Jan 10, 2020

View on GitHub
 (1 comment) (7 reactions) (0 assignees)C++ (14,677 stars) (2,005 forks)batch import
enhancementhelp wanted

Description

pybind11 talks of course about how to wrap C++ classes so that they are accessible in python. The issue for me is that on the python side of things, we are using dataclasses very extensively. They provide a lot of useful built in features as well as type annotations that you can use with mypy. If you are wrapping a C++ class, then obviously, all the types are already present, so in principle it would be possible at no extra cost to export a dataclass rather than a regular python class, which would be really useful.

Maybe this is not possible to do from a purely C/C++ module, but if it is it would be pretty amazing.

Contributor guide