varname 0.13.3__py3-none-any.whl → 0.13.4__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
varname/__init__.py CHANGED
@@ -13,4 +13,4 @@ from .utils import (
13
13
  )
14
14
  from .core import varname, nameof, will, argname
15
15
 
16
- __version__ = "0.13.3"
16
+ __version__ = "0.13.4"
varname/core.py CHANGED
@@ -291,6 +291,11 @@ def nameof(
291
291
  VarnameRetrievingError: When the callee's node cannot be retrieved or
292
292
  trying to retrieve the full name of non attribute series calls.
293
293
  """
294
+ warnings.warn(
295
+ "`nameof` is deprecated and will be removed in the future. "
296
+ "Please use `argname` instead.",
297
+ DeprecationWarning,
298
+ )
294
299
  # Frame is anyway used in get_node
295
300
  frameobj = IgnoreList.create(
296
301
  ignore_lambda=False,
varname/utils.py CHANGED
@@ -74,6 +74,7 @@ else: # pragma: no cover
74
74
  ASSIGN_TYPES = (ast.Assign, ast.AnnAssign)
75
75
  AssignType = Union[ASSIGN_TYPES] # type: ignore
76
76
 
77
+ PY311 = sys.version_info >= (3, 11)
77
78
  MODULE_IGNORE_ID_NAME = "__varname_ignore_id__"
78
79
 
79
80
 
@@ -281,6 +282,7 @@ def bytecode_nameof(code: CodeType, offset: int) -> str:
281
282
  "CALL_FUNCTION",
282
283
  "CALL_METHOD",
283
284
  "CALL",
285
+ "CALL_KW",
284
286
  ):
285
287
  raise VarnameRetrievingError("Did you call 'nameof' in a weird way?")
286
288
 
@@ -290,7 +292,7 @@ def bytecode_nameof(code: CodeType, offset: int) -> str:
290
292
  current_instruction_index -= 1
291
293
  name_instruction = instructions[current_instruction_index]
292
294
 
293
- if name_instruction.opname == "KW_NAMES": # pragma: no cover
295
+ if name_instruction.opname in ("KW_NAMES", "LOAD_CONST"): # LOAD_CONST python 3.13
294
296
  raise pos_only_error
295
297
 
296
298
  if not name_instruction.opname.startswith("LOAD_"):
@@ -533,22 +535,38 @@ def _(node: Union[ast.Attribute, ast.Subscript]) -> ast.Call:
533
535
 
534
536
  # x[1], x.a
535
537
  if isinstance(node.ctx, ast.Load):
536
- return ast.Call(
537
- func=ast.Attribute(
538
- value=node.value,
539
- attr=(
540
- "__getitem__"
541
- if isinstance(node, ast.Subscript)
542
- else "__getattr__"
538
+ if PY311:
539
+ return ast.Call(
540
+ func=ast.Attribute(
541
+ value=node.value,
542
+ attr=(
543
+ "__getitem__"
544
+ if isinstance(node, ast.Subscript)
545
+ else "__getattr__"
546
+ ),
547
+ ctx=ast.Load(),
548
+ **nodemeta,
543
549
  ),
544
- ctx=ast.Load(),
545
- **nodemeta,
546
- ),
547
- args=[keynode],
548
- keywords=[],
549
- starargs=None,
550
- kwargs=None,
551
- )
550
+ args=[keynode],
551
+ keywords=[],
552
+ )
553
+ else:
554
+ return ast.Call( # type: ignore
555
+ func=ast.Attribute(
556
+ value=node.value,
557
+ attr=(
558
+ "__getitem__"
559
+ if isinstance(node, ast.Subscript)
560
+ else "__getattr__"
561
+ ),
562
+ ctx=ast.Load(),
563
+ **nodemeta,
564
+ ),
565
+ args=[keynode],
566
+ keywords=[],
567
+ starargs=None,
568
+ kwargs=None,
569
+ )
552
570
 
553
571
  # x[a] = b, x.a = b
554
572
  if (
@@ -564,22 +582,38 @@ def _(node: Union[ast.Attribute, ast.Subscript]) -> ast.Call:
564
582
  )
565
583
  )
566
584
 
567
- return ast.Call(
568
- func=ast.Attribute(
569
- value=node.value,
570
- attr=(
571
- "__setitem__"
572
- if isinstance(node, ast.Subscript)
573
- else "__setattr__"
585
+ if PY311:
586
+ return ast.Call(
587
+ func=ast.Attribute(
588
+ value=node.value,
589
+ attr=(
590
+ "__setitem__"
591
+ if isinstance(node, ast.Subscript)
592
+ else "__setattr__"
593
+ ),
594
+ ctx=ast.Load(),
595
+ **nodemeta,
574
596
  ),
575
- ctx=ast.Load(),
576
- **nodemeta,
577
- ),
578
- args=[keynode, node.parent.value], # type: ignore
579
- keywords=[],
580
- starargs=None,
581
- kwargs=None,
582
- )
597
+ args=[keynode, node.parent.value], # type: ignore
598
+ keywords=[],
599
+ )
600
+ else:
601
+ return ast.Call(
602
+ func=ast.Attribute(
603
+ value=node.value,
604
+ attr=(
605
+ "__setitem__"
606
+ if isinstance(node, ast.Subscript)
607
+ else "__setattr__"
608
+ ),
609
+ ctx=ast.Load(),
610
+ **nodemeta,
611
+ ),
612
+ args=[keynode, node.parent.value], # type: ignore
613
+ keywords=[],
614
+ starargs=None,
615
+ kwargs=None,
616
+ )
583
617
 
584
618
 
585
619
  @reconstruct_func_node.register(ast.Compare)
@@ -593,18 +627,30 @@ def _(node: ast.Compare) -> ast.Call:
593
627
  "lineno": node.lineno,
594
628
  "col_offset": node.col_offset,
595
629
  }
596
- return ast.Call(
597
- func=ast.Attribute(
598
- value=node.left,
599
- attr=CMP2MAGIC[type(node.ops[0])],
600
- ctx=ast.Load(),
601
- **nodemeta,
602
- ),
603
- args=[node.comparators[0]],
604
- keywords=[],
605
- starargs=None,
606
- kwargs=None,
607
- )
630
+ if PY311:
631
+ return ast.Call(
632
+ func=ast.Attribute(
633
+ value=node.left,
634
+ attr=CMP2MAGIC[type(node.ops[0])],
635
+ ctx=ast.Load(),
636
+ **nodemeta,
637
+ ),
638
+ args=[node.comparators[0]],
639
+ keywords=[],
640
+ )
641
+ else:
642
+ return ast.Call( # type: ignore
643
+ func=ast.Attribute(
644
+ value=node.left,
645
+ attr=CMP2MAGIC[type(node.ops[0])],
646
+ ctx=ast.Load(),
647
+ **nodemeta,
648
+ ),
649
+ args=[node.comparators[0]],
650
+ keywords=[],
651
+ starargs=None,
652
+ kwargs=None,
653
+ )
608
654
 
609
655
 
610
656
  @reconstruct_func_node.register(ast.BinOp)
@@ -614,18 +660,31 @@ def _(node: ast.BinOp) -> ast.Call:
614
660
  "lineno": node.lineno,
615
661
  "col_offset": node.col_offset,
616
662
  }
617
- return ast.Call(
618
- func=ast.Attribute(
619
- value=node.left,
620
- attr=OP2MAGIC[type(node.op)],
621
- ctx=ast.Load(),
622
- **nodemeta,
623
- ),
624
- args=[node.right],
625
- keywords=[],
626
- starargs=None,
627
- kwargs=None,
628
- )
663
+
664
+ if PY311:
665
+ return ast.Call(
666
+ func=ast.Attribute(
667
+ value=node.left,
668
+ attr=OP2MAGIC[type(node.op)],
669
+ ctx=ast.Load(),
670
+ **nodemeta,
671
+ ),
672
+ args=[node.right],
673
+ keywords=[],
674
+ )
675
+ else:
676
+ return ast.Call( # type: ignore
677
+ func=ast.Attribute(
678
+ value=node.left,
679
+ attr=OP2MAGIC[type(node.op)],
680
+ ctx=ast.Load(),
681
+ **nodemeta,
682
+ ),
683
+ args=[node.right],
684
+ keywords=[],
685
+ starargs=None,
686
+ kwargs=None,
687
+ )
629
688
 
630
689
 
631
690
  def rich_exc_message(msg: str, node: ast.AST, context_lines: int = 4) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: varname
3
- Version: 0.13.3
3
+ Version: 0.13.4
4
4
  Summary: Dark magics about variable names in python.
5
5
  Home-page: https://github.com/pwwang/python-varname
6
6
  License: MIT
@@ -0,0 +1,10 @@
1
+ varname/__init__.py,sha256=Kwx6Bac3gQwx6y-nL8tmkBXotCWDefqnktF_uc3tyVs,369
2
+ varname/core.py,sha256=HKcvZAIq6gQQlzuBgUsqeM0USZFDJ8pkYdQC9z8uJjs,19474
3
+ varname/helpers.py,sha256=jZaP-qWQJwi8T2f886eHOj-llXAPHk5SMU6PfVn-9dg,9558
4
+ varname/ignore.py,sha256=-VC3oqag44y2UlAw0ErYKHotx616qJL3Sjb_5y7Tw1c,14400
5
+ varname/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
+ varname/utils.py,sha256=JCOGoLEXq3mQvQeobEyGiP4N2y1_42ULjwPvDn5SNSo,22882
7
+ varname-0.13.4.dist-info/LICENSE,sha256=3bS8O2tMbBPz8rWmZBAOzkHQjcK-b7KwFHyyghEZ-Ak,1063
8
+ varname-0.13.4.dist-info/METADATA,sha256=PUOgy7_nnnqyVZvE64E97P5IqHYlMVdeyCoCrIhEWCI,12845
9
+ varname-0.13.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
10
+ varname-0.13.4.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- varname/__init__.py,sha256=t8c8kQ_kutj1vYQGREj-h4t6v18YVuTY7kNlqMJgecA,369
2
- varname/core.py,sha256=nntOVpiavXP0EXijTNF6xIe4mxvz_FRpBjrL9z_JHJ0,19311
3
- varname/helpers.py,sha256=jZaP-qWQJwi8T2f886eHOj-llXAPHk5SMU6PfVn-9dg,9558
4
- varname/ignore.py,sha256=-VC3oqag44y2UlAw0ErYKHotx616qJL3Sjb_5y7Tw1c,14400
5
- varname/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
- varname/utils.py,sha256=ByHbUjbdMlHHckW4y77Jr_DHhkSmk8TabTy3INDJWsY,20971
7
- varname-0.13.3.dist-info/LICENSE,sha256=3bS8O2tMbBPz8rWmZBAOzkHQjcK-b7KwFHyyghEZ-Ak,1063
8
- varname-0.13.3.dist-info/METADATA,sha256=a0wq2f5PAU1d45rU2XsjUkN29pEcAwMF6oBv59_4ZCU,12845
9
- varname-0.13.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
10
- varname-0.13.3.dist-info/RECORD,,