Skip to content

Commit e4ce188

Browse files
authored
Update _decorators.py
Add stacklevel parameter for warnings.warn
1 parent d8845df commit e4ce188

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

pandas/util/_decorators.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,8 @@ def wrapper(*args, **kwargs):
215215
def deprecate_nonkeyword_args(version: str,
216216
pos_args: list = None,
217217
*,
218-
n_args: int = None):
218+
n_args: int = None,
219+
stacklevel: int = 2):
219220
"""
220221
Deprecate the function call with too much positional arguments.
221222
@@ -232,6 +233,8 @@ def deprecate_nonkeyword_args(version: str,
232233
pos_args : list
233234
List of names of the arguments OK to be given as positional.
234235
236+
stacklevel : int, default 2
237+
Stack level for `warnings.warn`
235238
Returns
236239
-------
237240
_deprecate_nonkeyword_args : callable
@@ -256,14 +259,14 @@ def _deprecate_nonkeyword_args(func):
256259
def wrapper(*args, **kwargs):
257260
if len(args) > n_args:
258261
if pos_args is None:
259-
msg = "%s will only accept %i positional arguments in version %s" % (func.__name__,
260-
n_args,
261-
version)
262+
msg = (
263+
"%s will only accept %i positional arguments in version %s"
264+
) % (func.__name__, n_args,version)
262265
else:
263-
msg = "%s will only accept positional arguments (%s) in version %s" % (func.__name__,
264-
", ".join(pos_args),
265-
version)
266-
warnings.warn(msg, FutureWarning)
266+
msg = (
267+
"%s will only accept positional arguments (%s) in version %s"
268+
) % (func.__name__, ", ".join(pos_args), version)
269+
warnings.warn(msg, FutureWarning, stacklevel=stacklevel)
267270
return func(*args, **kwargs)
268271
return wrapper
269272

0 commit comments

Comments
 (0)