GSoC/2024/StatusReports/IsraelGaladima: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
== Work report == | == Work report == | ||
'''Week 1''' | |||
* Continued reading about shiboken2 and pyside2 | |||
* Set up the cmake build for generating python bindings for a few classes in the backend folder | |||
* Removed the -DQT_STRICT_ITERATORS compilation flag since it was conflicting with the shiboken2 c++ output | |||
'''Week 2''' | |||
* Fixed an issue with circular dependencies in the bindings generation by moving some class members to pimpl classes | |||
* Generated python bindings for more classes from the backend folder | |||
'''Week 3''' | |||
* Fixed an issue in the bindings generation for some classes by building pyside2 and shiboken2 from source | |||
* Created a MR containing minor fixes to the codebase needed for the bindings generation [https://invent.kde.org/education/labplot/-/merge_requests/536 1] | |||
== Links to Blogs and other writing == | == Links to Blogs and other writing == |
Revision as of 14:39, 3 August 2024
Improve Python Interoperability with LabPlot
LabPlot is a data analysis and visualisation application in KDE. Since Python is heavily used within the data science community, this project aims to make LabPlot a more "Python-friendly" application. The project goals are to:
- Create Python bindings to LabPlot's C++ backend, and
- Enable Python programs to control a running LabPlot application.
These goals will respectively allow users to:
- Access LabPlot's data analysis and visualisation tools from a Python program, and
- Create complex workflows using Python within a running LabPlot application.
Work report
Week 1
- Continued reading about shiboken2 and pyside2
- Set up the cmake build for generating python bindings for a few classes in the backend folder
- Removed the -DQT_STRICT_ITERATORS compilation flag since it was conflicting with the shiboken2 c++ output
Week 2
- Fixed an issue with circular dependencies in the bindings generation by moving some class members to pimpl classes
- Generated python bindings for more classes from the backend folder
Week 3
- Fixed an issue in the bindings generation for some classes by building pyside2 and shiboken2 from source
- Created a MR containing minor fixes to the codebase needed for the bindings generation 1