GSoC/2024/StatusReports/IsraelGaladima: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2024‎ | StatusReports
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


Links to Blogs and other writing