Open anderslogg opened 1 year ago
This will be useful, especially if we need/want to use them in dtcc-wrangler for data processing in C++. The main question is how does this affect the dicc-builder build process. Will grabbing the headers from the dicc-model repo be a step in cmake?
@dwastberg The C++ classes should just be header files that we install on the system as part of installation of dtcc-model. Then dtcc-builder and dtcc-solar can #include those files if they are on the system.
We now have C++ versions of many of the classes as part of dtcc-builder under src/cpp/include/model/.
Since C++ code is now also used in other places like dtcc-solar, it makes sense to provide official C++ classes and official conversions to/from the C++ classes. The C++ classes should come with official Python wrappers generated by pybind11.
This means we will have 3 different Python classes for each type in our data model: Native Python, Protobuf-generated Python, and pybind11-generated Python.