Skip to main content

ONNX Runtime OpenVINO Execution Provider Plugin

PyPI version License: MIT

This package provides the OpenVINO™ Execution Provider plugin for ONNX Runtime.

Installation

Prerequisites

  1. ONNX Runtime: Install separately (this package does NOT include ONNX Runtime)

    pip install onnxruntime>=1.23.0
    
  2. Platform: Pre-built wheels available for:

    • Windows x64
    • Linux x86_64 (manylinux_2_28 compatible — glibc 2.28+, e.g. RHEL 8, Ubuntu 20.04+)

Install the Plugin

pip install onnxruntime-ep-openvino

Note: This package is distributed as binary wheels only. If no wheel is available for your platform/Python version, installation will fail. Source builds are not supported.

Usage

Basic Example

import onnxruntime as ort
import onnxruntime_ep_openvino as openvino_ep

# Get the plugin library path
ep_lib_path = openvino_ep.get_library_path()

# Register the plugin with ONNX Runtime
registration_name = "openvino_ep"
ort.register_execution_provider_library(registration_name, ep_lib_path)

# Get the EP name
ep_name = openvino_ep.get_ep_name()

# Get available OpenVINO devices
all_ep_devices = ort.get_ep_devices()
openvino_devices = [d for d in all_ep_devices if d.ep_name == ep_name]

if not openvino_devices:
    raise RuntimeError("No OpenVINO devices found")

# Select OpenVINO CPU device
cpu_devices = [d for d in openvino_devices if d.ep_metadata.get("ov_device") == "CPU"]

if not cpu_devices:
    raise RuntimeError("No OpenVINO CPU device found")

# Create session options
sess_options = ort.SessionOptions()

# Add OpenVINO EP to the session
ep_options = {}
sess_options.add_provider_for_devices([cpu_devices[0]], ep_options)

# Create inference session
model_path = "path/to/model.onnx"
session = ort.InferenceSession(model_path, sess_options=sess_options)

# Run inference
# ... your inference code here ...

# Clean up
del session

# Unregister the library after all sessions are closed
ort.unregister_execution_provider_library(registration_name)

Helper Functions

get_library_path()

Returns the full path to the OpenVINO EP plugin library.

import onnxruntime_ep_openvino as openvino_ep

lib_path = openvino_ep.get_library_path()
print(f"Plugin library: {lib_path}")

get_ep_name()

Returns the name of the Execution Provider: "OpenVINOExecutionProvider"

ep_name = openvino_ep.get_ep_name()
print(f"EP name: {ep_name}")

get_ep_names()

Returns a list containing the EP name (for compatibility with multi-EP plugins).

ep_names = openvino_ep.get_ep_names()
# Returns: ['OpenVINOExecutionProvider']

Troubleshooting

Library Not Found

If you get a FileNotFoundError, ensure:

  1. The package is properly installed: pip list | grep onnxruntime-ep-openvino
  2. Reinstall if needed: pip install --force-reinstall onnxruntime-ep-openvino

Note: OpenVINO and TBB libraries are bundled with the package - no separate installation needed!

No Devices Found

If get_ep_devices() doesn't return OpenVINO devices:

  1. Check that the plugin is registered before calling get_ep_devices()
  2. Verify your hardware is supported by OpenVINO
  3. Restart your Python session after installation

Version Compatibility

  • Requires ONNX Runtime 1.23.0 or later

License

This project is licensed under the MIT License


Copyright © Intel Corporation. All rights reserved.

Metadata

Release files for onnxruntime-ep-openvino 1.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for onnxruntime-ep-openvino 1.7.0
File Interpreter ABI Platform
onnxruntime_ep_openvino-1.7.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
onnxruntime_ep_openvino-1.7.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details

Total release size: 119.4 MB

Release files / onnxruntime_ep_openvino-1.7.0-py3-none-win_amd64.whl

Download URL onnxruntime_ep_openvino-1.7.0-py3-none-win_amd64.whl
Size 67.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
0b48601ff6720a9fdbf06de99073665cec9b8d7983226455d4f766aa4d8be16c
BLAKE2b-256 checksum
How to use checksums
c3c74ebac45e18e3c32655948f831ac95711849824bd7b3e793c3f8c6bc2060e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Release files / onnxruntime_ep_openvino-1.7.0-py3-none-manylinux_2_28_x86_64.whl

Download URL onnxruntime_ep_openvino-1.7.0-py3-none-manylinux_2_28_x86_64.whl
Size 51.7 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
7016c5ba4154f2a2b6da87e8b8654e5e811151186fb97cc29bde5d2fabde6c93
BLAKE2b-256 checksum
How to use checksums
78b67d168ff711e6034c4df4c5144242a230c7e6329f24b50454103510671b85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Release history Release notifications | RSS feed

This release

1.7.0 This release

2 release files

1.6.1

2 release files

1.5.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page