Skip to content

Python Bindings for Qt 5 and Qt 6. Allows you to access a CPython 3 interpreter directly from your Qt QML user interface code.

License

Notifications You must be signed in to change notification settings

thp/pyotherside

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyOtherSide: Asynchronous Python 3 Bindings for Qt 5
====================================================

A Qt 5 QML Plugin that provides access to a Python 3 interpreter from QML.


Requirements:

    Qt >= 5.1.0
    Python >= 3.3.0


To build and install the QML plugin:

    qmake
    make
    make install


To build against a specific Python version, use:

    qmake PYTHON_CONFIG=python3.3-config
    make
    make install


To manually update the qmltypes file on x64 Linux (TODO: make this automated):

    qmake
    make
    make INSTALL_ROOT=$(pwd)/tmp/
    qmlplugindump io.thp.pyotherside 1.0 tmp/usr/lib/x86_64-linux-gnu/qt5/qml \
        >src/pyotherside.qmltypes


To run the included unit tests after building, use:

    ./tests/tests


If you want to link PyOtherSide statically against Python 3, you can include
the Python Standard Library in PyOtherSide as Qt Resource and have it extracted
automatically on load, for this, zip up the Standard Library and place the .zip
file as "pythonlib.zip" into src/ before running qmake.


More information:

    Project page: https://thp.io/2011/pyotherside/
    Git repo: http://github.com/thp/pyotherside/
    Bug tracker: https://github.com/thp/pyotherside/issues
    Documentation: http://pyotherside.readthedocs.org/