mirror of
https://github.com/thp/pyotherside.git
synced 2025-01-28 23:52:55 +08:00
Thomas Perl
aed2584b48
Maintenance: CI, documentation, cleanups (#119)
* README.md: Convert to markdown * Fix minimum Python version requirement * Github Actions: Build from source * Fix sphinx-doc path * Run tests * Single build workflow * Remove old build file * No fail fast * Set path on macOS only * Run tests with offscreen QPA plugin * Build and test vs docs * README.md: CI badge
PyOtherSide: Python 3 QML Plugin for Qt 5
A Qt plugin providing access to a Python 3 interpreter from QML for creating asynchronous mobile and Desktop UIs with Python.
Requirements
- Qt >= 5.1.0
- Python >= 3.3.0
Building
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/
QML2_IMPORT_PATH=$(pwd)/tmp/usr/lib/x86_64-linux-gnu/qt5/qml \
make -C src qmltypes
Unit Testing
To run the included unit tests after building, use:
./tests/tests
Static Linking
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/
Languages
C++
83.2%
QML
10.2%
Python
2.7%
QMake
1.8%
C
1.6%
Other
0.5%