"""Verify every named package member before running scientific code."""
from pathlib import Path
import hashlib,json
manifest=json.loads(Path('package-manifest.json').read_text())
for row in manifest['files']:
    path=Path(row['name'])
    if path.name!=row['name']:raise ValueError('Nonlocal package path')
    data=path.read_bytes()
    if len(data)!=row['bytes'] or hashlib.sha256(data).hexdigest()!=row['sha256']:raise ValueError('Package member mismatch: '+row['name'])
print('PASS',len(manifest['files']),'exact package members')
