from ops import *
code='''import sys,json,subprocess,urllib.request
from pathlib import Path
p=Path('/opt/nvidia/deepstream/deepstream/version')
print(json.dumps(dict(python=sys.version,gstreamer=subprocess.check_output(['gst-launch-1.0','--version'],text=True),
 sdk_version=p.read_text() if p.exists() else None,
 triton=json.load(urllib.request.urlopen('http://127.0.0.1:8000/v2',timeout=3)))))'''
versions=json.loads(cmd(['docker','exec','contextra-analytics-1','python3','-B','-c',code],timeout=20))
manifest=Path('/data/contextra/model-artifacts/deployments/batch8-b286446/manifest.json')
versions['preserved_deployment_manifest']=json.loads(manifest.read_text())
versions['deployment_manifest_sha256']=hashlib.sha256(manifest.read_bytes()).hexdigest()
versions['engine_hash_scope']='Preserved deployment manifest; large engine files not rehashed during benchmark'
save('versions-model-manifest.json',versions)
print(json.dumps(dict(python=versions['python'].split()[0],triton=versions['triton'].get('version'),
                     sdk=versions['sdk_version'],manifest_sha=versions['deployment_manifest_sha256'])))
