Skip to main content

GEOPM - Global Extensible Open Power Manager Runtime Tools

Project description

geopmpy

This directory contains source code for the geopmpy Python package, which provides python bindings for libgeopm, as well as the geopmlaunch tool.

Subdirectories include:

  • debian: Configuration files for debian packaging scripts
  • geopmpy: Source code for modules in this package
  • test: Test code for this package

Set Up a Development Environment

Run pip install -e . to install this directory in editable mode (so you don't need to reinstall between updating python source code and re-running tests). That will also install the python execution-time dependencies of this package. Also run pip install -f requirements.txt to install additional development dependencies. If you follow these steps, then you do not need to modify your PYTHONPATH variable when executing tests.

The geopmpy package depends on geopmdpy, so also be sure to install that package (e.g., in editable mode as done for this package).

The geopmpy package wraps libgeopm, which also depends on libgeopmd. Be sure to follow the build instructions in the directories for those libraries as part of setting up a geopmpy development environment. Either install those builds somewhere on your path, or manually add them to your LD_LIBRARY_PATH (examples in the next section).

Building Against Non-System-Installed Libraries ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you want to build geopmpy against non-system-installed headers and libgeopm binaries, you need to set your compiler's environment variables to tell it where to search for GEOPM. For example, if you built and installed libgeopm with --prefix=$HOME/build/geopm and your python extensions are compiled with gcc, then run:

CC=gcc LIBRARY_PATH=$HOME/build/geopm/lib C_INCLUDE_PATH=$HOME/build/geopm/include pip install ./

to build and install this package.

Executing Tests

Run LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/../libgeopm/.libs" python3 test from this directory to launch the entire test suite. Some of the tests depend on libgeopm, so it should be built before running tests. Alternatively, run LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/../libgeopm/.libs" python3 -m unittest discover -p 'Test*.py'

Execute a single test case with LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/../libgeopm/.libs" python3 -m unittest <one.or.more.test.modules.or.classes.or.functions>. For example: LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/../libgeopm/.libs" python3 -m unittest test.TestAgent.TestAgent.test_policy_names

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geopmpy-3.2.2.tar.gz (66.6 kB view details)

Uploaded Source

File details

Details for the file geopmpy-3.2.2.tar.gz.

File metadata

  • Download URL: geopmpy-3.2.2.tar.gz
  • Upload date:
  • Size: 66.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for geopmpy-3.2.2.tar.gz
Algorithm Hash digest
SHA256 4cfc6106ae1d5a3142717344773bd5ee437ef9de7f27e66477b004cf61934a3e
MD5 7d6ea3509118b8b5fc77f973e8257cb0
BLAKE2b-256 6985526c62af767d427188eff314279aa4d23a5aba2ba643003ba14ea5099561

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page