| This folder contains the necessary files to build the Python bindings for | |
| libcpupower (aside from the libcpupower object files). | |
| requirements | |
| ------------ | |
| * If you are building completely from upstream; please install libcpupower by | |
| running `make install-lib` within the cpupower directory. This installs the | |
| libcpupower.so file and symlinks needed. Otherwise, please make sure a symlink | |
| to libcpupower.so exists in your library path from your distribution's | |
| packages. | |
| * The SWIG program must be installed. | |
| * The Python's development libraries must be installed. | |
| Please check that your version of SWIG is compatible with the version of Python | |
| installed on your machine by checking the SWIG changelog on their website. | |
| https://swig.org/ | |
| Note that while SWIG itself is GPL v3+ licensed; the resulting output, | |
| the bindings code: is permissively licensed + the license of libcpupower's | |
| library files. For these bindings that means GPL v2. | |
| Please see https://swig.org/legal.html and the discussion [1] for more details. | |
| [1] | |
| https://lore.kernel.org/linux-pm/Zqv9BOjxLAgyNP5B@hatbackup/ | |
| build | |
| ----- | |
| Install SWIG and the Python development files provided by your distribution. | |
| Build the object files for libcpupower by running make in the cpupower | |
| directory. | |
| Return to the directory this README is in to run: | |
| $ make | |
| testing | |
| ------- | |
| Please verify the _raw_pylibcpupower.so and raw_pylibcpupower.py files have | |
| been created. | |
| To run the test script: | |
| $ python test_raw_pylibcpupower.py | |
| developing/using the bindings directly | |
| -------------------------------------- | |
| You need to add the Python bindings directory to your $PYTHONPATH. | |
| You would set the path in the Bash terminal or in the Bash profile: | |
| PYTHONPATH=~/linux/tools/power/cpupower/bindings/python:$PYTHONPATH | |
| This allows you to set a specific repo of the bindings to use. | |
| installing/uninstalling | |
| ----------------------- | |
| Python uses a system specific site-packages folder to look up modules to import | |
| by default. You do not need to install cpupower to use the SWIG bindings. | |
| You can install and uninstall the bindings to the site-packages with: | |
| sudo make install | |
| sudo make uninstall | |
| credits | |
| ------- | |
| Original Bindings Author: | |
| John B. Wyatt IV | |
| jwyatt@redhat.com | |
| sageofredondo@gmail.com | |
| Copyright (C) 2024 Red Hat |