python
Directory actions
More options
Directory actions
More options
python
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
This file explains how we use our CMake-based build system and other tools to build dynamically loaded python extension modules implementing PLplot support for Python3. I. Selection of Python3: We use the recommended modern method of finding consistent Python3 components. See cmake/modules/python.cmake for details. II. plplotc.py and _plplotc.so These files (where plplotc.py wraps _plplotc.so) constitute the plplotc Python extension that implements our raw Python binding. This extension is automatically generated by swig using the PLplot API specified in bindings/swig-support/plplotcapi.i (which also controls the swig-generated PLplot bindings that are implemented for Java, Lua, and Octave). The details of how swig treats that API for the Python case are handled by plplotc.i. Our build system then runs swig to generate plplotcPYTHON_wrap.c, build and install _plplotc.so from that source code, and generate and install a wrapper for the extension module called plplotc.py. III. plplot.py This file is our hand-crafted wrapper for plplotc.py that adds some useful functionality (e.g., additional variations of the argument lists) to what is available for plplotc.py. This is the module that should be imported by users. IV. Pltk_init.py and _Pltk_init.so These files (where Pltk_init.py wraps _Pltk_init.so) constitute the Pltk_init Python extension that implements loading loading plframe from Python. This extension is automatically generated by swig using Pltk_init.i. Actual use of this extension is demonstrated by examples/python/pytkdemo which imports Plframe which in turn imports TclSup. V. plplot_pyqt4.so This extension module (only available for Qt4) implements pyqt4 support for PLplot. Our build system builds it in bindings/qt_gui/pyqt4 using sip-generated source files. VI. plplot_pyqt5.so This extension module (only available for Qt5) implements pyqt5 support for PLplot. Our build system builds it in bindings/qt_gui/pyqt5 using sip-generated source files.