[digiKam-users] Opening digiKam plugins interface to Python...

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[digiKam-users] Opening digiKam plugins interface to Python...

Gilles Caulier-4
Hi all users,

I'm looking for the future, and i finalize step by step the C++
digiKam plugin interface (DPlugins). If you look in my github account,
you will see activity about to port external tools to DPlugins. i also
well advanced to port older Photo Layout Editor kipi plugins to cmake,
Qt5, and Dplugins.

I also take a look in Krita code, and i seen than Krita C++ plugin
interface is open to Python. As i can see this not require too much
C++ code to do it.It's eventually a way to go in the future, if
external contributors will join the game and write new extension for
digiKam.

https://docs.krita.org/en/user_manual/python_scripting/krita_python_plugin_howto.html
https://docs.krita.org/en/user_manual/python_scripting/introduction_to_python_scripting.html
https://docs.krita.org/en/reference_manual/preferences/python_plugin_manager.html

I'm not a specialist in Python. I already write small scripts in the
past, especially for the bundling (aka AppImage, MacOS,  and Windows).
But my top level skill since 35 years now is C/C++ of course.

What do you think about this? As this language is more and more
popular, do you want to see Python capabilities in digiKam or not ?

The topic is open. In bugzilla, we always have a wish about to add
scripting feature...

Best

Gilles Caulier
Reply | Threaded
Open this post in threaded view
|

Re: Opening digiKam plugins interface to Python...

Chris Green
On Wed, Jun 03, 2020 at 02:18:14PM +0200, Gilles Caulier wrote:

> Hi all users,
>
> I'm looking for the future, and i finalize step by step the C++
> digiKam plugin interface (DPlugins). If you look in my github account,
> you will see activity about to port external tools to DPlugins. i also
> well advanced to port older Photo Layout Editor kipi plugins to cmake,
> Qt5, and Dplugins.
>
> I also take a look in Krita code, and i seen than Krita C++ plugin
> interface is open to Python. As i can see this not require too much
> C++ code to do it.It's eventually a way to go in the future, if
> external contributors will join the game and write new extension for
> digiKam.
>
> https://docs.krita.org/en/user_manual/python_scripting/krita_python_plugin_howto.html
> https://docs.krita.org/en/user_manual/python_scripting/introduction_to_python_scripting.html
> https://docs.krita.org/en/reference_manual/preferences/python_plugin_manager.html
>
> I'm not a specialist in Python. I already write small scripts in the
> past, especially for the bundling (aka AppImage, MacOS,  and Windows).
> But my top level skill since 35 years now is C/C++ of course.
>
> What do you think about this? As this language is more and more
> popular, do you want to see Python capabilities in digiKam or not ?
>
> The topic is open. In bugzilla, we always have a wish about to add
> scripting feature...
>
I'd certainly welcome the ability to write Digikam plugins/addons in
Python as it's my language of choice for most things except really
simple scripts.

What sort of 'hooks' into Digikam are likely to be available?

--
Chris Green
Reply | Threaded
Open this post in threaded view
|

Re: Opening digiKam plugins interface to Python...

digikam-2
In reply to this post by Gilles Caulier-4
On Wed, 3 Jun 2020 14:18:14 +0200
Gilles Caulier <[hidden email]> wrote:

> I'm looking for the future, and i finalize step by step the C++
> digiKam plugin interface (DPlugins). If you look in my github
> account, you will see activity about to port external tools to
> DPlugins. i also well advanced to port older Photo Layout Editor
> kipi plugins to cmake, Qt5, and Dplugins.

Should these thing be written in Python or in Lua? Lua is used by
Darktable and by Adobe's Lightroom...

I'm on Linux platform and Python is "built-in" aka included but to
install python on Windows is almost a nightmare because of the
plugins required...

It seems to me that people would customize DK more with Lua than with
Python.

And since it's the lock down, it's my 1.5 cent opinion...

--
sknahT

vyS
Reply | Threaded
Open this post in threaded view
|

Re: Opening digiKam plugins interface to Python...

Gilles Caulier-4
In reply to this post by Chris Green
Le mer. 3 juin 2020 à 15:20, Chris Green <[hidden email]> a écrit :

>
> On Wed, Jun 03, 2020 at 02:18:14PM +0200, Gilles Caulier wrote:
> > Hi all users,
> >
> > I'm looking for the future, and i finalize step by step the C++
> > digiKam plugin interface (DPlugins). If you look in my github account,
> > you will see activity about to port external tools to DPlugins. i also
> > well advanced to port older Photo Layout Editor kipi plugins to cmake,
> > Qt5, and Dplugins.
> >
> > I also take a look in Krita code, and i seen than Krita C++ plugin
> > interface is open to Python. As i can see this not require too much
> > C++ code to do it.It's eventually a way to go in the future, if
> > external contributors will join the game and write new extension for
> > digiKam.
> >
> > https://docs.krita.org/en/user_manual/python_scripting/krita_python_plugin_howto.html
> > https://docs.krita.org/en/user_manual/python_scripting/introduction_to_python_scripting.html
> > https://docs.krita.org/en/reference_manual/preferences/python_plugin_manager.html
> >
> > I'm not a specialist in Python. I already write small scripts in the
> > past, especially for the bundling (aka AppImage, MacOS,  and Windows).
> > But my top level skill since 35 years now is C/C++ of course.
> >
> > What do you think about this? As this language is more and more
> > popular, do you want to see Python capabilities in digiKam or not ?
> >
> > The topic is open. In bugzilla, we always have a wish about to add
> > scripting feature...
> >
> I'd certainly welcome the ability to write Digikam plugins/addons in
> Python as it's my language of choice for most things except really
> simple scripts.
>
> What sort of 'hooks' into Digikam are likely to be available?

I don't see a limit. Typically we have currently this kind of plugin
interface avaialble for C++ :

Generic tools (view, batch, import, etc...)
Webservice tools
Image editor
File IO (aka file loader/writter)
Raw import
BQM

Here i write demo of C++ plugin interface, with code examples.

I plan to add more, as face engine for ex... But for this one, we need
to see current GoSC 2020 project done.

Gilles Caulier

>
> --
> Chris Green
Reply | Threaded
Open this post in threaded view
|

Re: Opening digiKam plugins interface to Python...

Gilles Caulier-4
In reply to this post by digikam-2
Le mer. 3 juin 2020 à 15:47, <[hidden email]> a écrit :

>
> On Wed, 3 Jun 2020 14:18:14 +0200
> Gilles Caulier <[hidden email]> wrote:
>
> > I'm looking for the future, and i finalize step by step the C++
> > digiKam plugin interface (DPlugins). If you look in my github
> > account, you will see activity about to port external tools to
> > DPlugins. i also well advanced to port older Photo Layout Editor
> > kipi plugins to cmake, Qt5, and Dplugins.
>
> Should these thing be written in Python or in Lua? Lua is used by
> Darktable and by Adobe's Lightroom...

Well python Qt5 wrapper already exists and code is avaialble in Krita as well.

Also, the background Python libraries is just monstrous, especially
for image processing.

Python is now included in Windows SDK (aka MSVC) de facto. It will be
the standard everywhere for scripting.

And with Lua you need an interpreter too (:=)))...

I playing with LUA when i deployed a VerneMQ Mqtt broker in my office,
and as the student who work with me while this stage said : " what's
this F. shit like language...". This student now working on Face
engine clustering project n digiKam while this summer, and he is
brilliant.

I don't like LUA syntax. Python is better even if i prefer C++ syntax so far...

Gilles Caulier
Reply | Threaded
Open this post in threaded view
|

Re: Opening digiKam plugins interface to Python...

Peter Teuben

On 6/3/20 9:57 AM, Gilles Caulier wrote:

> Le mer. 3 juin 2020 à 15:47, <[hidden email]> a écrit :
>> On Wed, 3 Jun 2020 14:18:14 +0200
>> Gilles Caulier <[hidden email]> wrote:
>>
>>> I'm looking for the future, and i finalize step by step the C++
>>> digiKam plugin interface (DPlugins). If you look in my github
>>> account, you will see activity about to port external tools to
>>> DPlugins. i also well advanced to port older Photo Layout Editor
>>> kipi plugins to cmake, Qt5, and Dplugins.
>> Should these thing be written in Python or in Lua? Lua is used by
>> Darktable and by Adobe's Lightroom...
> Well python Qt5 wrapper already exists and code is avaialble in Krita as well.
>
> Also, the background Python libraries is just monstrous, especially
> for image processing.
>
> Python is now included in Windows SDK (aka MSVC) de facto. It will be
> the standard everywhere for scripting.
>
> And with Lua you need an interpreter too (:=)))...
>
> I playing with LUA when i deployed a VerneMQ Mqtt broker in my office,
> and as the student who work with me while this stage said : " what's
> this F. shit like language...". This student now working on Face
> engine clustering project n digiKam while this summer, and he is
> brilliant.
>
> I don't like LUA syntax. Python is better even if i prefer C++ syntax so far...
>
> Gilles Caulier


Although Lua has the advantage of  being used in darktable (there are
potentially some scripts that could be re-used), one cannot deny that
the community involvement of python is quite big compared to lua. At
least it's not a lisp like language, that has never really become
mainstream. That would not get my vote, but I'm on the fence of Lua vs.
Python.

Perhaps some measure is to look at usage of languages in github repos. 
In 2018 python was 2nd with nearly 15% (javascript 1st with 23%).  Lua 
19th with 0.7%   Only perl is below Lua . You can find the report here:
https://www.benfrederickson.com/ranking-programming-languages-by-github-users/

peter


Reply | Threaded
Open this post in threaded view
|

Re: Opening digiKam plugins interface to Python...

Chris Green
In reply to this post by Gilles Caulier-4
On Wed, Jun 03, 2020 at 03:57:02PM +0200, Gilles Caulier wrote:
>
> I don't like LUA syntax. Python is better even if i prefer C++ syntax so far...
>
Another advantage is that Python is different enough from C/C++ that
you don't get confused. :-)

I often have problems with C/C++ vs. PHP vs. Java trying to remember
the exact syntax for the one I'm using at any particualar moment.
Python is also much easier to understand IMHO, I can nearly always
understand my own Python code and that's much less true for C/C++ or
PHP!

I've never used LUA.

--
Chris Green
Reply | Threaded
Open this post in threaded view
|

Re: [digiKam-users] Opening digiKam plugins interface to Python...

saniya838
In reply to this post by Gilles Caulier-4
Python is a prevalent programming dialect which is well suited for logical computing. Python systems make it simple to construct and keep up web applications rapidly. Learn Python to create energetic web applications.
Join Python Course in Nashik at SevenMentor.