Skip to content

Commit b4abcaa

Browse files
committed
Move decorator to separate private helper module to prevent circular dependencies
1 parent a9cea29 commit b4abcaa

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

harp/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from harp.io import REFERENCE_EPOCH, MessageType, read, to_buffer, to_file
22
from harp.reader import create_reader
33
from harp.schema import read_schema
4-
import warnings
5-
import functools
64

75

86
__all__ = ["REFERENCE_EPOCH", "MessageType", "read", "to_buffer", "to_file", "create_reader", "read_schema"]

harp/_helpers.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import warnings
2+
import functools
3+
4+
5+
def deprecated(message):
6+
# This decorator is only available from the stdlib warnings module in Python 3.13
7+
# Making it available here for compatibility with older versions
8+
def decorator(func):
9+
@functools.wraps(func)
10+
def wrapper(*args, **kwargs):
11+
warnings.warn(
12+
f"Call to deprecated function {func.__name__}: {message}",
13+
category=DeprecationWarning,
14+
stacklevel=1,
15+
)
16+
return func(*args, **kwargs)
17+
18+
return wrapper
19+
20+
return decorator

0 commit comments

Comments
 (0)