#!/bin/sh # Read-only facts needed to select Linux Python wheels and the uv binary. printf '%s\n' '=== OS ===' if [ -r /etc/os-release ]; then awk -F= '$1 == "PRETTY_NAME" || $1 == "ID" || $1 == "ID_LIKE" || $1 == "VERSION_ID" { print }' /etc/os-release else printf '%s\n' 'os-release: unavailable' fi printf 'architecture: '; uname -m printf 'kernel: '; uname -r printf 'libc: ' getconf GNU_LIBC_VERSION 2>/dev/null || printf '%s\n' 'unavailable' printf '%s\n' '=== Python ===' python_status=0 if command -v python3.14 >/dev/null 2>&1; then if ! python3.14 - <<'PY' import sys import sysconfig import os import signal print('version:', sys.version.split()[0]) print('executable:', sys.executable) print('cache_tag:', sys.implementation.cache_tag) print('soabi:', sysconfig.get_config_var('SOABI')) print('platform:', sysconfig.get_platform()) try: fd = os.pidfd_open(os.getpid()) try: signal.pidfd_send_signal(fd, 0) finally: os.close(fd) except (AttributeError, OSError) as exc: print('pidfd:', 'unavailable (' + type(exc).__name__ + ')') else: print('pidfd: available') PY then printf '%s\n' 'python3.14: inspection failed' python_status=1 fi else printf '%s\n' 'python3.14: unavailable' python_status=1 fi printf '%s\n' '=== NVIDIA ===' if command -v nvidia-smi >/dev/null 2>&1; then if nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv,noheader; then nvidia-smi 2>/dev/null | sed -n '1,3p' else printf '%s\n' 'nvidia-smi: query failed' fi else printf '%s\n' 'nvidia-smi: unavailable' fi exit "$python_status"