Pull request #1799: PIPE-2644: Add Python, library versions, platform tag, and GPU info to weblog environment page
Merge in PIPE/pipeline from PIPE-2644-add-python-3rd-part-library-version-info-into-weblog-environment-splash-page-optionally to main
* commit '00730539a125753e2f2d9fa8fb9419176c928f85': PIPE-2644: Hide GPU info from weblog when unavailable and optimize GPU detection PIPE-2644: Fix code review issues in `environment.py` and `htmlrenderer.py` PIPE-2644: Add pull request template for PR submissions PIPE-2644: Add GPU information to the weblog environment page PIPE-2644: Add Python/library versions and platform tag to weblog env page
PIPE-2644: Hide GPU info from weblog when unavailable and optimize GPU detection
- Conditionally exclude GPU row from environment page when no GPU detected
- Check nvidia-smi availability before running to reduce startup time
PIPE-2644: Fix code review issues in `environment.py` and `htmlrenderer.py`
- Remove duplicate LOG definition at module level
- Fix _load(): wrap open() in try/except so on_error is actually returned
on failure (previously unreachable dead code)
- Add python_version attribute to Environment Protocol and
CommonEnvironment; use n.python_version in get_environment_tables()
so each MPI node reports its own Python version instead of the client's
- Simplify except (ImportError, AttributeError, Exception) to except
Exception in _get_required_dependencies()
- Remove duplicate bare requirements.txt parsing block in
_get_required_dependencies() (dead code after the try/except fallback)
PIPE-2644: Add GPU information to the weblog environment page
- Add gpu_info attribute to the Environment Protocol, populated via a new
_get_gpu_info() helper that queries nvidia-smi for GPU name, driver
version, and total memory per device
- Populate self.gpu_info in CommonEnvironment.__init__; falls back to
'N/A' when nvidia-smi is absent or returns no output
- Add GPU_INFO enum member to EnvironmentProperty and include it in the
"Host information" table (after Platform tag)
- _get_gpu_info() formats multi-GPU hosts as semicolon-separated entries,
e.g. "NVIDIA GeForce RTX 3090 (24 GiB); ..., Driver 525.105.17"