Fix rocprof-compute TUI build err with python 39 (#303)

* Upgrade min python version from 3.8 to 3.9

* Set min version for textual-fspicker for TUI support

* Update workflows to use python 3.9 instead of 3.8

* fix formatting

* fix bug

---------

Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com>
This commit is contained in:
Fei Zheng
2025-10-20 22:27:35 -06:00
committed by GitHub
parent a433e6f48d
commit 2c59a82fe1
8 changed files with 13 additions and 14 deletions
@@ -30,7 +30,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.8'
python-version: '3.9'
- name: Check Coverage File Exists
working-directory: projects/rocprofiler-compute
@@ -41,7 +41,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.8'
python-version: '3.9'
- name: Python dependency installs
working-directory: projects/rocprofiler-compute
run: python3 -m pip install -t${INSTALL_DIR}/python-libs -r requirements.txt
+1 -6
View File
@@ -73,7 +73,7 @@ option(CHECK_PYTHON_DEPS "Verify necessary python dependencies" ON)
if(CHECK_PYTHON_DEPS)
# Python 3 is required
message(STATUS "Detecting Python interpreter...")
find_package(Python3 3.8 COMPONENTS Interpreter REQUIRED)
find_package(Python3 3.9 COMPONENTS Interpreter REQUIRED)
# Allow user-provided python search path
if(DEFINED PYTHON_DEPS)
@@ -96,11 +96,6 @@ if(CHECK_PYTHON_DEPS)
if(${ARGV0} STREQUAL "pyyaml")
set(PACKAGE "yaml")
endif()
# Skip check for textual_fspicker
if(${package} STREQUAL "textual_fspicker")
message(STATUS "Skipping check for textual_fspicker")
return()
endif()
execute_process(
COMMAND ${Python3_EXECUTABLE} -c "import ${PACKAGE}"
OUTPUT_QUIET
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "rocprof_compute"
requires-python = ">=3.8"
requires-python = ">=3.9"
[project.optional-dependencies]
developer = [
@@ -16,5 +16,5 @@ sqlalchemy>=2.0.42
tabulate
textual
textual_plotext
textual-fspicker
textual-fspicker>=0.4.3
tqdm
@@ -25,8 +25,10 @@
import argparse
import copy
from collections import OrderedDict
from collections.abc import Hashable
from pathlib import Path
from typing import Any, Hashable, Optional, OrderedDict
from typing import Any, Optional
import pandas as pd
@@ -24,9 +24,10 @@
##############################################################################
import argparse
import logging
from collections.abc import Hashable
from datetime import datetime
from enum import Enum
from typing import Any, Hashable, Optional
from typing import Any, Optional
import pandas as pd
from textual.widgets import TextArea
@@ -42,9 +42,10 @@ import tempfile
import threading
import time
import uuid
from collections.abc import Generator
from contextlib import contextmanager
from pathlib import Path
from typing import Any, Dict, Generator, Optional, Union, cast
from typing import Any, Optional, Union, cast
import pandas as pd
import yaml
@@ -767,7 +768,7 @@ def run_prof(
if is_mode_live_attach:
@contextmanager
def temporary_env(env_vars: Dict[str, str]) -> Generator[None, None, None]:
def temporary_env(env_vars: dict[str, str]) -> Generator[None, None, None]:
"""
Temporarily change the environment variable of this application.
"""