public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Ali Erdinc Koroglu <ali.koroglu@oss.qualcomm.com>
To: git-commits@fedoraproject.org
Subject: [rpms/python-geopmpy] rawhide: Update to 3.2.2 (rhbz#2483709)
Date: Wed, 29 Jul 2026 13:19:21 GMT	[thread overview]
Message-ID: <178533116188.1.17364532167037163487.rpms-python-geopmpy-f166df50cdb4@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/python-geopmpy
Branch : rawhide
Commit : f166df50cdb4ba27c40d8919cef5200f5b79df59
Author : Ali Erdinc Koroglu <ali.koroglu@oss.qualcomm.com>
Date   : 2026-07-29T16:19:06+03:00
Stats  : +156/-32 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/python-geopmpy/c/f166df50cdb4ba27c40d8919cef5200f5b79df59?branch=rawhide

Log:
Update to 3.2.2 (rhbz#2483709)

---
diff --git a/5396e439e2cc40d95a20bd829134096c12fc2286.patch b/5396e439e2cc40d95a20bd829134096c12fc2286.patch
new file mode 100644
index 0000000..110acda
--- /dev/null
+++ b/5396e439e2cc40d95a20bd829134096c12fc2286.patch
@@ -0,0 +1,137 @@
+From 5396e439e2cc40d95a20bd829134096c12fc2286 Mon Sep 17 00:00:00 2001
+From: Brad Geltz <brad.geltz@intel.com>
+Date: Tue, 27 Jan 2026 12:27:12 -0800
+Subject: [PATCH] Update usage of DataFrame.to_hdf
+
+- Starting with Pandas v3.0.0 the most paremeters are
+  keyword-only.
+
+Signed-off-by: Brad Geltz <brad.geltz@intel.com>
+---
+ geopmpy/geopmpy/io.py                         | 26 +++++++++++--------
+ .../experiment/ffnet/gen_hdf_from_fsweep.py   |  4 +--
+ .../sst_evaluation/gen_plot_time.py           |  8 +++---
+ 3 files changed, 21 insertions(+), 17 deletions(-)
+
+diff --git a/geopmpy/geopmpy/io.py b/geopmpy/geopmpy/io.py
+index b7ecc567a5..4fb7f7dfd9 100644
+--- a/geopmpy/geopmpy/io.py
++++ b/geopmpy/geopmpy/io.py
+@@ -25,7 +25,7 @@
+ if os.getenv('GEOPM_USE_UNSAFE_HDF5') is not None:
+     from pandas import read_hdf
+ else:
+-    def read_hdf(path, name):
++    def read_hdf(path, key=None, **kwargs):
+         if not os.path.exists(path):
+             raise IOError(f'Trace HDF5 file {path} not detected')
+         raise ImportWarning('Refusing to read HDF5 format files: file format could result in arbitrary code execution. To enable "export GEOPM_USE_UNSAFE_HDF5=1"')
+@@ -111,7 +111,7 @@ def __init__(self, traces=None, dir_name='.', verbose=False, do_cache=True):
+ 
+                 do_load_raw = True
+                 try:
+-                    self._traces_df = read_hdf(trace_h5_name, 'trace')
++                    self._traces_df = read_hdf(trace_h5_name, key='trace')
+                     do_load_raw = False
+                     if verbose:
+                         sys.stdout.write(f'Loaded traces from {trace_h5_name}.\n')
+@@ -125,7 +125,7 @@ def __init__(self, traces=None, dir_name='.', verbose=False, do_cache=True):
+                     try:
+                         if verbose:
+                             sys.stdout.write('Generating HDF5 files... ')
+-                        self._traces_df.to_hdf(trace_h5_name, 'trace')
++                        self._traces_df.to_hdf(trace_h5_name, key='trace')
+                     except ImportError as error:
+                         sys.stderr.write(f'Warning: <geopm> geopmpy.io: Unable to write HDF5 file: {error}\n')
+ 
+@@ -878,16 +878,16 @@ def load_reports(self, reports, dir_name, dir_cache, verbose, do_cache):
+                     sys.stdout.write('Attempting to read {}...\n'.format(self._report_h5_name))
+                 # load dataframes from cache
+                 try:
+-                    self._reports_df = read_hdf(self._report_h5_name, 'report')
++                    self._reports_df = read_hdf(self._report_h5_name, key='report')
+                 except KeyError:
+                     pass # No regions in cached report
+-                self._app_reports_df = read_hdf(self._report_h5_name, 'app_report')
++                self._app_reports_df = read_hdf(self._report_h5_name, key='app_report')
+                 try:
+-                    self._unmarked_reports_df = read_hdf(self._report_h5_name, 'unmarked_report')
++                    self._unmarked_reports_df = read_hdf(self._report_h5_name, key='unmarked_report')
+                 except KeyError:
+                     pass
+                 try:
+-                    self._epoch_reports_df = read_hdf(self._report_h5_name, 'epoch_report')
++                    self._epoch_reports_df = read_hdf(self._report_h5_name, key='epoch_report')
+                 except KeyError:
+                     pass
+                 if verbose:
+@@ -902,19 +902,23 @@ def load_reports(self, reports, dir_name, dir_cache, verbose, do_cache):
+ 
+                 # Cache report dataframe
+                 cache_created = False
++                did_fixup_metadata = False
+                 while not cache_created:
+                     try:
+                         if verbose:
+                             sys.stdout.write('Generating HDF5 files... ')
+-                        self._app_reports_df.to_hdf(self._report_h5_name, 'app_report', format='table')
++                        self._app_reports_df.to_hdf(self._report_h5_name, key='app_report', format='table')
+                         if len(self._reports_df) > 0:
+-                            self._reports_df.to_hdf(self._report_h5_name, 'report', format='table', append=True)
++                            self._reports_df.to_hdf(self._report_h5_name, key='report', format='table', append=True)
+                         if len(self._unmarked_reports_df) > 0:
+-                            self._unmarked_reports_df.to_hdf(self._report_h5_name, 'unmarked_report', format='table', append=True)
++                            self._unmarked_reports_df.to_hdf(self._report_h5_name, key='unmarked_report', format='table', append=True)
+                         if len(self._epoch_reports_df) > 0:
+-                            self._epoch_reports_df.to_hdf(self._report_h5_name, 'epoch_report', format='table', append=True)
++                            self._epoch_reports_df.to_hdf(self._report_h5_name, key='epoch_report', format='table', append=True)
+                         cache_created = True
+                     except TypeError as error:
++                        if did_fixup_metadata:
++                            raise
++                        did_fixup_metadata = True
+                         fm = RawReportCollection.fixup_metadata
+                         if verbose:
+                             sys.stdout.write('Applying workaround for strings in HDF5 files... ')
+diff --git a/integration/experiment/ffnet/gen_hdf_from_fsweep.py b/integration/experiment/ffnet/gen_hdf_from_fsweep.py
+index 770d30bd6b..4817af6321 100755
+--- a/integration/experiment/ffnet/gen_hdf_from_fsweep.py
++++ b/integration/experiment/ffnet/gen_hdf_from_fsweep.py
+@@ -148,7 +148,7 @@
+ 
+     pd \
+     .concat(reports_dfs, ignore_index=True) \
+-    .to_hdf(f"{output_prefix}_stats.h5", "stats", mode='w')
++    .to_hdf(f"{output_prefix}_stats.h5", key="stats", mode='w')
+ 
+     #Creating trace hdf for training neural net, annotated with region hashes or
+     #generated region names when hashes are not available
+@@ -158,7 +158,7 @@
+ 
+     pd \
+     .concat(trace_dfs, ignore_index=True) \
+-    .to_hdf(f"{output_prefix}_traces.h5", "traces", mode='w')
++    .to_hdf(f"{output_prefix}_traces.h5", key="traces", mode='w')
+ 
+ 
+ if __name__ == "__main__":
+diff --git a/integration/experiment/sst_evaluation/gen_plot_time.py b/integration/experiment/sst_evaluation/gen_plot_time.py
+index a75ca48f0c..ea0ee479aa 100755
+--- a/integration/experiment/sst_evaluation/gen_plot_time.py
++++ b/integration/experiment/sst_evaluation/gen_plot_time.py
+@@ -267,11 +267,11 @@ def reports_and_traces_to_dataframes(report_paths):
+     except OSError:
+         # Write the preprocessed data to a cached file
+         df, frequency_df, epoch_df, core_frequencies_by_time_df = reports_and_traces_to_dataframes(args.report_paths)
+-        df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), 'df', 'w')
+-        frequency_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), 'frequency_df', 'a')
+-        epoch_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), 'epoch_df', 'a')
++        df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), key='df', mode='w')
++        frequency_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), key='frequency_df', mode='a')
++        epoch_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), key='epoch_df', mode='a')
+         core_frequencies_by_time_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'),
+-                                           'core_frequencies_by_time_df', 'a')
++                                           key='core_frequencies_by_time_df', mode='a')
+ 
+     df['Application'] = df['Application'].str.rsplit('_', 1).str[-1]
+     epoch_df['Application'] = epoch_df['Application'].str.rsplit('_', 1).str[-1]

diff --git a/python-geopmpy.spec b/python-geopmpy.spec
index d34a836..d127834 100644
--- a/python-geopmpy.spec
+++ b/python-geopmpy.spec
@@ -9,7 +9,7 @@ optimize system hardware settings to achieve energy efficiency and/or
 performance objectives.}
 
 Name:		python-%{prj_name}
-Version:	3.2.1
+Version:	3.2.2
 Release:	%autorelease
 Summary:	Python bindings for libgeopm
 
@@ -17,26 +17,16 @@ License:	BSD-3-Clause
 URL:		https://geopm.github.io
 Source0:	https://github.com/geopm/geopm/archive/v%{version}/geopm-%{version}.tar.gz
 
+# Update usage of DataFrame.to_hdf
+# https://github.com/geopm/geopm/commit/5396e439e2cc40d95a20bd829134096c12fc2286
+Patch0:		5396e439e2cc40d95a20bd829134096c12fc2286.patch
+
 ExclusiveArch:	x86_64
 
 BuildRequires:	gcc
-BuildRequires:	python3-cffi
 BuildRequires:	python3-devel
-BuildRequires:	python3-setuptools
-BuildRequires:	python3-setuptools_scm
-BuildRequires:	python3-geopmdpy >= 3.2.1
-BuildRequires:	python3-cycler
-BuildRequires:	python3-pandas
-BuildRequires:	python3-natsort
-BuildRequires:	python3-tables
-BuildRequires:	python3-pyyaml
-BuildRequires:	libgeopm-devel >= 3.2.1
-BuildRequires:	libgeopmd-devel >= 3.2.1
-Requires:	python3-cycler
-Requires:	python3-natsort
-Requires:	python3-pandas
-Requires:	python3-tables
-Requires:	python3-pyyaml
+BuildRequires:	libgeopm-devel >= 3.2.2
+BuildRequires:	libgeopmd-devel >= 3.2.2
 Requires:	geopmd
 
 %description
@@ -50,32 +40,29 @@ Summary:        %{summary}
 
 %prep
 %autosetup -p1 -n geopm-%{version}
+echo %{version} > %{prj_name}/%{prj_name}/VERSION
 
-pushd %{prj_name}
-echo %{version} > %{prj_name}/VERSION
-popd
+%generate_buildrequires
+cd %{prj_name}
+%pyproject_buildrequires
 
 %build
-pushd %{prj_name}
-%py3_build
-popd
+cd %{prj_name}
+%pyproject_wheel
 
 %install
-pushd %{prj_name}
-%py3_install
-popd
+cd %{prj_name}
+%pyproject_install
+%pyproject_save_files %{prj_name}
 
 %check
-pushd %{prj_name}
+cd %{prj_name}
 %{python3} -m unittest discover -s test -p 'Test*.py' -v
-popd
 
-%files -n python3-%{prj_name}
+%files -n python3-%{prj_name} -f %{pyproject_files}
 %license LICENSE-BSD-3-Clause
 %doc README.md
 %{python3_sitearch}/_libgeopm_py_cffi.abi3.so
-%{python3_sitearch}/%{prj_name}
-%{python3_sitearch}/%{prj_name}-*.egg-info
 %{_bindir}/geopmlaunch
 
 %changelog

diff --git a/sources b/sources
index 38359cc..01816e4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (geopm-3.2.1.tar.gz) = faaaf9b48391bb94468a13b9f9292f10845089d7141ec07dccc9f812cd0c33319963b46365c4afe057f2cdb909c63cfdfa0d51459ebec02b000d0b3f5c39d487
+SHA512 (geopm-3.2.2.tar.gz) = f4e9d1abc5920cee0a790be89c0dab76fc3bff57276b65106dad963c117c8709945ae72bd93091b247a199d6867f743906ec558174f8743fc7b8906d614f9300

                 reply	other threads:[~2026-07-29 13:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178533116188.1.17364532167037163487.rpms-python-geopmpy-f166df50cdb4@fedoraproject.org \
    --to=ali.koroglu@oss.qualcomm.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox