KIPI plugins and Python
Himanshu Shekhar
himanshushekharb16 at gmail.com
Tue Mar 14 08:23:06 GMT 2017
Hello
I went through KIPI plugins and had some suggestions.
Currently, KIPI Plugins are written in C++. It's great, fast, but a bit
complex, compared to the alternative implementation in Python.
How about reimplementing it in Python? It's easy, scalable.
I had some thoughts to do the same:
* Reimplement the plugins in Python (Python3).
* As it is done currently, other applications using KIPI plugins can use
the same API (in C++) to do the image upload/download task, where the C++
helper would spawn some Python subprocess to do the entire task.
* Use some sort of IPC, like File IO to get the response back to the
calling program (if required). We can also consider "libpython" as a
candidate. https://docs.python.org/3/extending/embedding.html
Advantages:
* Ease of maintenance, as APIs tend to change fast, and so your callbacks
within the program.
* The task is network bound, and not CPU intensive. So, Python is a good
choice.
* Python "requests" module is very reliable to handle HTTP requests.
* Objectives can be achieved better with lesser lines of code.
* This could also pave way for creating plugins for other online services
and integrating with KDE (like GNOME online accounts).
I tried to have a discussion on StackOverflow
http://stackoverflow.com/questions/42611151/is-it-advisable-to-embed-python-in-a-c-application/42611603#42611603
and
Reddit
https://www.reddit.com/r/cpp/comments/5xnpvl/is_it_advisable_to_embed_python_in_a_c_application/
and
got mixed reviews.
I would like to have your review on the same.
If you agree, I can work on some simple prototype by the weekend for a demo.
--
Regards
Himanshu Shekhar
https://github.com/himanshub16/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20170314/8a9593df/attachment.html>
More information about the Digikam-devel
mailing list