From c3ab4d0f3d5bca18490063ab293e694ba59bfb2b Mon Sep 17 00:00:00 2001 From: Matvezy Date: Thu, 15 Jan 2026 06:11:17 +0000 Subject: [PATCH 1/4] init --- roboflow/util/model_processor.py | 15 ++++++++++++++- roboflow/util/versions.py | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/roboflow/util/model_processor.py b/roboflow/util/model_processor.py index d7622d51..274223d3 100644 --- a/roboflow/util/model_processor.py +++ b/roboflow/util/model_processor.py @@ -24,6 +24,7 @@ def _get_processor_function(model_type: str) -> Callable: "yolov10", "yolov11", "yolov12", + "yolo26", "yolonas", "paligemma", "paligemma2", @@ -132,6 +133,17 @@ def _process_yolo(model_type: str, model_path: str, filename: str) -> str: print_warn_for_wrong_dependencies_versions([("ultralytics", "==", "8.3.63")], ask_to_continue=True) + elif "yolo26" in model_type: + try: + import torch + import ultralytics + + except ImportError: + raise RuntimeError( + "The ultralytics python package is required to deploy yolo26" + " models. Please install it with `pip install ultralytics`" + ) + model = torch.load(os.path.join(model_path, filename), weights_only=False) model_instance = model["model"] if "model" in model and model["model"] is not None else model["ema"] @@ -145,13 +157,14 @@ def _process_yolo(model_type: str, model_path: str, filename: str) -> str: class_names.sort(key=lambda x: x[0]) class_names = [x[1] for x in class_names] - if "yolov8" in model_type or "yolov10" in model_type or "yolov11" in model_type or "yolov12" in model_type: + if "yolov8" in model_type or "yolov10" in model_type or "yolov11" in model_type or "yolov12" in model_type or "yolo26" in model_type: # try except for backwards compatibility with older versions of ultralytics if ( "-cls" in model_type or model_type.startswith("yolov10") or model_type.startswith("yolov11") or model_type.startswith("yolov12") + or model_type.startswith("yolo26") ): nc = model_instance.yaml["nc"] args = model["train_args"] diff --git a/roboflow/util/versions.py b/roboflow/util/versions.py index f07bf006..7901928e 100644 --- a/roboflow/util/versions.py +++ b/roboflow/util/versions.py @@ -94,6 +94,7 @@ def _wrapper(*args, **kwargs): def normalize_yolo_model_type(model_type: str) -> str: model_type = model_type.replace("yolo11", "yolov11") model_type = model_type.replace("yolo12", "yolov12") + # yolo26 doesn't use "v" prefix (it's not "yolov26") return model_type From 94d2d878be793d238e960c731ddd6a33db04859b Mon Sep 17 00:00:00 2001 From: Matvezy Date: Thu, 15 Jan 2026 06:14:18 +0000 Subject: [PATCH 2/4] init --- roboflow/util/versions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/roboflow/util/versions.py b/roboflow/util/versions.py index 7901928e..f07bf006 100644 --- a/roboflow/util/versions.py +++ b/roboflow/util/versions.py @@ -94,7 +94,6 @@ def _wrapper(*args, **kwargs): def normalize_yolo_model_type(model_type: str) -> str: model_type = model_type.replace("yolo11", "yolov11") model_type = model_type.replace("yolo12", "yolov12") - # yolo26 doesn't use "v" prefix (it's not "yolov26") return model_type From 0eb6030a2639780ab16c6a24fb569c6a880d6d58 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 15 Jan 2026 06:17:04 +0000 Subject: [PATCH 3/4] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20auto=20?= =?UTF-8?q?format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roboflow/util/model_processor.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/roboflow/util/model_processor.py b/roboflow/util/model_processor.py index 274223d3..6216005c 100644 --- a/roboflow/util/model_processor.py +++ b/roboflow/util/model_processor.py @@ -157,7 +157,13 @@ def _process_yolo(model_type: str, model_path: str, filename: str) -> str: class_names.sort(key=lambda x: x[0]) class_names = [x[1] for x in class_names] - if "yolov8" in model_type or "yolov10" in model_type or "yolov11" in model_type or "yolov12" in model_type or "yolo26" in model_type: + if ( + "yolov8" in model_type + or "yolov10" in model_type + or "yolov11" in model_type + or "yolov12" in model_type + or "yolo26" in model_type + ): # try except for backwards compatibility with older versions of ultralytics if ( "-cls" in model_type From f31c5ea6f1f5f6b0faf41c08b71ae22efbe2eb17 Mon Sep 17 00:00:00 2001 From: Matvezy Date: Thu, 15 Jan 2026 09:46:43 +0000 Subject: [PATCH 4/4] bump version --- roboflow/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roboflow/__init__.py b/roboflow/__init__.py index bde69972..2bdaec47 100644 --- a/roboflow/__init__.py +++ b/roboflow/__init__.py @@ -15,7 +15,7 @@ from roboflow.models import CLIPModel, GazeModel # noqa: F401 from roboflow.util.general import write_line -__version__ = "1.2.11" +__version__ = "1.2.12" def check_key(api_key, model, notebook, num_retries=0):