On 8/31/22 21:33, Konrad Rosenbaum wrote:
Hi,

On 31/08/2022 20:57, Cristián Maureira-Fredes wrote:


On 8/31/22 19:19, Aleix Pol wrote:
On Wed, Aug 31, 2022 at 4:47 PM Cristián Maureira-Fredes
<cristian.maureira-fre...@qt.io> wrote:

Hey there,

I would like to request a new repository on codereview.qt-project.org

Name and description: qtscrypt - Script C++ with Python
Responsible person: Cristián Maureira-Fredes
(cristian.maureira-fre...@qt.io)
Desired repository name: playground/qtscrypt
URL of existing code: https://git.qt.io/crmaurei/qtscrypt

Thanks

Won't this be confusing? We have had QtScript for the longest time and
it looks like a typo.

thanks for the comments.

I was under the impression that changing the 'i' for a 'y'
from P'y'thon was not confusing, because it was already
mentioned in a couple of talks and nobody mentioned
anything against it.

Even more fun: scrypt is the name of a password encryption algorithm and the corresponding library.


I wanted to avoid qtscript-python because it's not really qtscript,
it's just the main idea from it.

Do you have any other name suggestion?
(I really struggled with finding a name)

QtPython

Hey Konrad,
too close to 'Qt for Python' IMHO


QtPythonScripting

Could be! even if it's a longer name, it's more descriptive.

QtPythonAPI

Not really a Python API,

 > QtYetAnotherPythonBinding

Jokes aside, I think there is a project
called "PyAnotherSide" :)


QtNowForSomethingCompletelyDifferent

QtBrightSide

Probable copyright issues with the band "The Killers"


QtHesTheMessiah

(SCNR)


Sorry for having completely missed the ball here, but what makes this new Python binding worthwhile when there's already PyQt, Qt-for-Python and PySide?


This idea, as you can see in the code
is to run Python code within C++ code,
quite different from the bindings, but hey,
maybe an example is more clear.

With QtScrypt (Following the idea of the old QtScript module)

You can have C++ code, and at some point that evaluates Python
code and get some result back, say:

QScryptEngine e;
qDebug() << "something, something" << e.evaluate("[i for i in range(10)]");

and you can get a QVariantList with the numerical values,
same idea with a Python function, like:

# your_file.py
def power_of_two(x):
    return x**2

you can call it from C++ like

QScryptModule mod("your_file.py")
QScryptFunction f("power_of_two", &mod);
qDebug() << "power_of_two(4): " << f.call(4);
// you get 16 as a QVariant


So now,
PyQt and PySide
provide bindings Python for the Qt API,
like having:

button = QPushButton("press me!")
button.clicked.connect(some_slot)

on Python files.




Hopefully it's not a QtDeadParrot, I'd prefer a QtHolyGrail... :-P


[I'll see myself out now and do something useful instead, sorry.]

No worries, it's useful to ask things are are unknown to ourselves :)

So, as the original email states, this is for a 'playground' repository,
because I was literally playing with this idea on a Hackathon,
and after presenting it in some talks in Qt conferences/workshops,
some folks thought it was something interesting to play with.


     Konrad


Cheers

--
Dr. Cristián Maureira-Fredes
Senior R&D Manager

The Qt Company GmbH
Erich-Thilo-Str. 10
D-12489 Berlin

Geschäftsführer: Mika Pälsi,
Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht
Charlottenburg, HRB 144331 B
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to