"""Offline local checks. No real model, camera, credential or login is exercised.""" import os import subprocess from local_server import ROOT, PYTHON, backup, local_environment def main(): os.chdir(ROOT) env = local_environment() subprocess.run([str(PYTHON), '-m', 'pip', 'check'], env=env, check=True) # AppConfig.ready may migrate data even during manage.py check. backup() checks = [ ['-c', '''import django, cv2, numpy as np, torch, torchvision, onnxruntime, openvino as ov, PIL, psutil print('Django', django.get_version()) print('OpenCV', cv2.__version__, 'NumPy', np.__version__) print('PyTorch', torch.__version__, 'torchvision', torchvision.__version__) assert torch.version.cuda is None and not torch.cuda.is_available() assert (torch.ones(2, 2) @ torch.ones(2, 2)).tolist() == [[2., 2.], [2., 2.]] assert cv2.resize(np.zeros((4, 4, 3), dtype=np.uint8), (2, 2)).shape == (2, 2, 3) print('ONNX Runtime', onnxruntime.__version__, onnxruntime.get_available_providers()) assert 'CPUExecutionProvider' in onnxruntime.get_available_providers() core = ov.Core() param = ov.opset13.parameter([1], np.float32) model = ov.Model([ov.opset13.relu(param)], [param]) compiled = core.compile_model(model, 'CPU') assert float(compiled([np.array([-1], dtype=np.float32)])[0][0]) == 0.0 print('OpenVINO', ov.__version__, 'CPU inference OK') from openvino_telemetry import Telemetry assert Telemetry().consent is False, 'OpenVINO telemetry must be disabled' from ultralytics import YOLO from ultralytics.utils import ONLINE, AUTOINSTALL assert ONLINE is False and AUTOINSTALL is False print('OpenVINO telemetry disabled; Ultralytics offline, auto-install disabled') print('Pillow', PIL.__version__, 'psutil', psutil.__version__) '''], [str(ROOT / 'manage.py'), 'check'], ['-m', 'compileall', '-q', 'app', 'framework', 'scripts', 'tests', 'manage.py'], ['-m', 'unittest', 'discover', '-s', 'tests', '-v'], ] for args in checks: subprocess.run([str(PYTHON), *args], cwd=ROOT, env=env, check=True) subprocess.run([env['MONITOR_FFMPEG'], '-version'], check=True) print('All local checks passed (no camera or stored model loaded).') if __name__ == '__main__': main()