Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 22 additions & 27 deletions client/ayon_core/pipeline/create/creator_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import os
from abc import ABC, abstractmethod
from typing import TYPE_CHECKING, Any, Optional
import warnings

from ayon_core.lib import (
Logger,
Expand Down Expand Up @@ -342,30 +343,32 @@ def identifier(self):
or falls back to product type if product base type is not set.

"""
identifier = self.product_base_type
if not identifier:
identifier = self.product_type
return identifier
return self.product_base_type

@property
@abstractmethod
def product_type(self):
"""Family that plugin represents."""

@property
def product_base_type(self) -> Optional[str]:
def product_base_type(self) -> str:
"""Product base type that plugin represents.

Todo (antirotor): This should be required in future - it
should be made abstract then.

Returns:
Optional[str]: Product base type that plugin represents.
If not set, it is assumed that the creator plugin is obsolete
and does not support product base type.
str: Product base type that plugin represents.

"""
return None
pass

@property
def product_type(self) -> str:
"""DEPRECATED use 'product_base_type' instead.

Kept for backwards compatibility. Warning added 2026/07/16.

"""
warnings.warn(
"'product_type' is deprecated, use 'product_base_type' instead.",
DeprecationWarning,
stacklevel=2
)
return self.product_base_type

@property
def project_name(self):
Expand Down Expand Up @@ -446,9 +449,6 @@ def _create_instance(
if not product_base_type:
product_base_type = self.product_base_type

if not product_base_type:
product_base_type = self.product_type

if product_type is None:
product_type = product_base_type

Expand Down Expand Up @@ -602,19 +602,14 @@ def get_product_name(
if host_name is None:
host_name = self.create_context.host_name

# Backwards compatibility for create plugins that don't implement
# 'product_base_type'.
# TODO Remove when 'product_base_type' is required
product_base_type = self.product_base_type
if not product_base_type:
product_base_type = self.product_type

if product_type is None:
for product_type_item in self.get_product_type_items():
product_type = product_type_item.product_type
break
else:
product_type = product_base_type

if product_type is None:
product_type = product_base_type

cur_project_name = self.create_context.get_current_project_name()
if not project_entity and project_name == cur_project_name:
Expand Down
47 changes: 42 additions & 5 deletions package.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,49 @@
ayon_launcher_version = ">=1.5.4"
ayon_required_addons = {}
ayon_compatible_addons = {
"aftereffects": ">=0.3.0",
"ayon_third_party": ">=1.3.0",
"ayon_ocio": ">=1.2.1",
"applications": ">=1.1.2",
"deadline": ">=0.6.0",
"harmony": ">0.4.0",
"fusion": ">=0.3.3",
"openrv": ">=1.0.2",
"traypublisher": ">=0.3.0",
"batchdelivery": ">=0.4.1",
"batchingest": ">=0.2.0",
"blender": ">=1.1.0",
"celaction": ">=0.2.4",
"cinema4d": ">=0.2.0",
"deadline": ">=0.7.0",
"djv": ">=1.1.3",
"equilizer": ">=0.2.0",
"flame": ">=1.4.0",
"fusion": ">=0.4.0",
"harmony": ">=0.5.0",
"hiero": ">=0.6.0",
"houdini": ">=0.10.0",
"ftrack": ">=1.5.0",
"kitsu": ">=1.2.7",
"marvelous_designer": ">=1.1.0",
"max": ">=0.4.0",
"maya": ">=0.6.0",
"mocha": ">=1.1.0",
"motionbuilder": ">=0.2.0",
"nuke": ">=0.4.0",
"openrv": ">=1.2.0",
"photoshop": ">=0.4.0",
"premiere": ">=0.2.0",
"premium_burnins": ">=0.2.2",
"resolve": ">=0.6.0",
"royalrender": ">=0.4.0",
"shotgrid": ">=0.6.16",
"silhouette": ">=0.2.0",
"sitesync": ">=1.2.0",
"speedtree": ">=0.2.0",
"substancedesigner": ">=0.2.0",
"substancepainter": ">=0.3.0",
"slack": ">=1.3.0",
"slater": ">=1.0.2",
"traypublisher": ">=0.4.0",
"tvpaint": ">=0.4.0",
"unreal": ">=0.3.0",
"webpublisher": ">=1.2.0",
"workflow": ">=0.2.2",
"zbrush": ">=0.4.0",
}
Loading