Skip to content

Commit ab7bf4a

Browse files
committed
DiffSync deprecation fix
1 parent 7ca1717 commit ab7bf4a

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

diffsync/__init__.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
Any,
2929
Set,
3030
)
31+
from typing_extensions import deprecated
3132
import warnings
3233

3334
from pydantic import ConfigDict, BaseModel, PrivateAttr
@@ -894,15 +895,10 @@ def count(self, model: Union[StrType, "DiffSyncModel", Type["DiffSyncModel"], No
894895
return self.store.count(model=model)
895896

896897

897-
def DiffSync(*args: Any, **kwargs: Any) -> Adapter: # noqa pylint: disable=invalid-name
898+
@deprecated("'diffsync.DiffSync' is deprecated and will be removed with 2.1, use 'diffsync.Adapter' instead.")
899+
class DiffSync(Adapter):
898900
"""For backwards-compatibility, keep around the old name."""
899901

900-
warnings.warn(
901-
"'diffsync.DiffSync' is deprecated and will be removed with 2.1, use 'diffsync.Adapter' instead.",
902-
DeprecationWarning,
903-
)
904-
return Adapter(*args, **kwargs)
905-
906902

907903
# DiffSyncModel references Adapter and Adapter references DiffSyncModel. Break the typing loop:
908904
DiffSyncModel.model_rebuild()

tests/unit/test_deprecation.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
from diffsync import DiffSync
3+
4+
import pytest
5+
6+
def test_diffsync_deprecation_warning():
7+
with pytest.deprecated_call():
8+
class TestAdapter(DiffSync):
9+
pass
10+
TestAdapter()

0 commit comments

Comments
 (0)