dtcc-platform / dtcc-model

MIT License
1 stars 1 forks source link

Add C++ classes #21

Open anderslogg opened 1 year ago

anderslogg commented 1 year ago

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.

dwastberg commented 11 months 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?

anderslogg commented 8 months ago

@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.