openrewrite 8.73.0.dev20260129210035__tar.gz → 8.73.0.dev20260130152824__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/PKG-INFO +2 -2
  2. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/pyproject.toml +4 -4
  3. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/openrewrite.egg-info/PKG-INFO +2 -2
  4. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/openrewrite.egg-info/requires.txt +1 -1
  5. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/type_mapping.py +13 -7
  6. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/README.md +0 -0
  7. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/setup.cfg +0 -0
  8. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/openrewrite.egg-info/SOURCES.txt +0 -0
  9. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/openrewrite.egg-info/dependency_links.txt +0 -0
  10. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/openrewrite.egg-info/entry_points.txt +0 -0
  11. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/openrewrite.egg-info/top_level.txt +0 -0
  12. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/__init__.py +0 -0
  13. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/category.py +0 -0
  14. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/decorators.py +0 -0
  15. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/discovery.py +0 -0
  16. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/execution.py +0 -0
  17. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/__init__.py +0 -0
  18. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/extensions.py +0 -0
  19. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/markers.py +0 -0
  20. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/markers.pyi +0 -0
  21. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/support_types.py +0 -0
  22. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/support_types.pyi +0 -0
  23. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/tree.py +0 -0
  24. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/tree.pyi +0 -0
  25. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/java/visitor.py +0 -0
  26. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/markers.py +0 -0
  27. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/markers.pyi +0 -0
  28. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/marketplace.py +0 -0
  29. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/parser.py +0 -0
  30. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/parser.pyi +0 -0
  31. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/__init__.py +0 -0
  32. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/_parser_visitor.py +0 -0
  33. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/add_import.py +0 -0
  34. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/dependency_workspace.py +0 -0
  35. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/extensions.py +0 -0
  36. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/markers.py +0 -0
  37. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/markers.pyi +0 -0
  38. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/printer.py +0 -0
  39. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/recipes/__init__.py +0 -0
  40. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/recipes/change_import.py +0 -0
  41. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/recipes/remove_pass.py +0 -0
  42. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/remove_import.py +0 -0
  43. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/support_types.py +0 -0
  44. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/support_types.pyi +0 -0
  45. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/tree.py +0 -0
  46. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/tree.pyi +0 -0
  47. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/ty_client.py +0 -0
  48. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/python/visitor.py +0 -0
  49. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/recipe.py +0 -0
  50. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/result.py +0 -0
  51. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/rpc/__init__.py +0 -0
  52. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/rpc/__main__.py +0 -0
  53. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/rpc/python_receiver.py +0 -0
  54. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/rpc/python_sender.py +0 -0
  55. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/rpc/receive_queue.py +0 -0
  56. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/rpc/send_queue.py +0 -0
  57. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/rpc/server.py +0 -0
  58. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/style.py +0 -0
  59. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/test/__init__.py +0 -0
  60. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/test/rewrite_test.py +0 -0
  61. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/test/spec.py +0 -0
  62. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/tree.py +0 -0
  63. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/tree.pyi +0 -0
  64. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/utils.py +0 -0
  65. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/src/rewrite/visitor.py +0 -0
  66. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/tests/test_marketplace.py +0 -0
  67. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/tests/test_replace_identity.py +0 -0
  68. {openrewrite-8.73.0.dev20260129210035 → openrewrite-8.73.0.dev20260130152824}/tests/test_rewrite_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrewrite
3
- Version: 8.73.0.dev20260129210035
3
+ Version: 8.73.0.dev20260130152824
4
4
  Summary: OpenRewrite automated refactoring for Python.
5
5
  Author-email: "Moderne Inc." <support@moderne.io>
6
6
  License: Moderne Source Available License
@@ -26,7 +26,7 @@ Requires-Dist: pytest>=8.0.0; extra == "dev"
26
26
  Requires-Dist: black>=24.0.0; extra == "dev"
27
27
  Requires-Dist: ruff>=0.1.0; extra == "dev"
28
28
  Provides-Extra: typing
29
- Requires-Dist: ty>=0.0.12; extra == "typing"
29
+ Requires-Dist: ty>=0.0.14; extra == "typing"
30
30
  Provides-Extra: publish
31
31
  Requires-Dist: build>=1.0.0; extra == "publish"
32
32
  Requires-Dist: twine>=5.0.0; extra == "publish"
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "openrewrite"
7
7
  description = "OpenRewrite automated refactoring for Python."
8
- version = "8.73.0.dev20260129210035" # Updated dynamically during release
8
+ version = "8.73.0.dev20260130152824" # Updated dynamically during release
9
9
  authors = [{ name = "Moderne Inc.", email = "support@moderne.io" }]
10
10
  license = { text = "Moderne Source Available License" }
11
11
  readme = "README.md"
@@ -33,7 +33,7 @@ dev = [
33
33
  "ruff>=0.1.0",
34
34
  ]
35
35
  typing = [
36
- "ty>=0.0.12", # Required for type attribution with Java recipes
36
+ "ty>=0.0.14", # Required for type attribution with Java recipes
37
37
  ]
38
38
  publish = [
39
39
  "build>=1.0.0",
@@ -62,13 +62,13 @@ target-version = ["py310", "py311", "py312"]
62
62
 
63
63
  [tool.ruff]
64
64
  line-length = 120
65
- target-version = "8.73.0.dev20260129210035"
65
+ target-version = "8.73.0.dev20260130152824"
66
66
 
67
67
  [tool.ruff.lint]
68
68
  select = ["E", "F", "I", "UP"]
69
69
 
70
70
  [tool.ty.environment]
71
- python-version = "8.73.0.dev20260129210035"
71
+ python-version = "8.73.0.dev20260130152824"
72
72
  root = ["src"]
73
73
 
74
74
  [tool.ty.src]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrewrite
3
- Version: 8.73.0.dev20260129210035
3
+ Version: 8.73.0.dev20260130152824
4
4
  Summary: OpenRewrite automated refactoring for Python.
5
5
  Author-email: "Moderne Inc." <support@moderne.io>
6
6
  License: Moderne Source Available License
@@ -26,7 +26,7 @@ Requires-Dist: pytest>=8.0.0; extra == "dev"
26
26
  Requires-Dist: black>=24.0.0; extra == "dev"
27
27
  Requires-Dist: ruff>=0.1.0; extra == "dev"
28
28
  Provides-Extra: typing
29
- Requires-Dist: ty>=0.0.12; extra == "typing"
29
+ Requires-Dist: ty>=0.0.14; extra == "typing"
30
30
  Provides-Extra: publish
31
31
  Requires-Dist: build>=1.0.0; extra == "publish"
32
32
  Requires-Dist: twine>=5.0.0; extra == "publish"
@@ -11,4 +11,4 @@ build>=1.0.0
11
11
  twine>=5.0.0
12
12
 
13
13
  [typing]
14
- ty>=0.0.12
14
+ ty>=0.0.14
@@ -50,6 +50,15 @@ _PYTHON_PRIMITIVES: Dict[str, JavaType.Primitive] = {
50
50
  'bytes': JavaType.Primitive.String, # Close enough for matching
51
51
  }
52
52
 
53
+ # Reverse mapping from JavaType.Primitive to Python type name
54
+ _PRIMITIVE_TO_PYTHON: Dict[JavaType.Primitive, str] = {
55
+ JavaType.Primitive.String: 'str',
56
+ JavaType.Primitive.Int: 'int',
57
+ JavaType.Primitive.Double: 'float',
58
+ JavaType.Primitive.Boolean: 'bool',
59
+ JavaType.Primitive.None_: 'None',
60
+ }
61
+
53
62
 
54
63
  class PythonTypeMapping:
55
64
  """Maps Python types to JavaType for recipe matching.
@@ -502,7 +511,7 @@ class PythonTypeMapping:
502
511
  if isinstance(java_type, JavaType.Class):
503
512
  return java_type
504
513
  if isinstance(java_type, JavaType.Primitive):
505
- return self._create_class_type(java_type.keyword)
514
+ return self._create_class_type(_PRIMITIVE_TO_PYTHON.get(java_type, java_type.name.lower()))
506
515
 
507
516
  return None
508
517
 
@@ -633,7 +642,7 @@ class PythonTypeMapping:
633
642
  return java_type
634
643
  # For primitives like str, create a class wrapper
635
644
  if isinstance(java_type, JavaType.Primitive):
636
- return self._create_class_type(java_type.keyword)
645
+ return self._create_class_type(_PRIMITIVE_TO_PYTHON.get(java_type, java_type.name.lower()))
637
646
  return None
638
647
 
639
648
  def _strip_markdown(self, hover: str) -> str:
@@ -757,12 +766,9 @@ class PythonTypeMapping:
757
766
  self._type_cache[fqn] = class_type
758
767
  return class_type
759
768
 
760
- def _get_node_text(self, node: ast.AST) -> str:
769
+ def _get_node_text(self, node: ast.expr) -> str:
761
770
  """Get the source text for an AST node."""
762
- if not hasattr(node, 'lineno') or not hasattr(node, 'col_offset'):
763
- return ""
764
-
765
- if hasattr(node, 'end_lineno') and hasattr(node, 'end_col_offset'):
771
+ if node.end_lineno is not None and node.end_col_offset is not None:
766
772
  if node.lineno == node.end_lineno:
767
773
  line = self._source_lines[node.lineno - 1] if node.lineno <= len(self._source_lines) else ""
768
774
  return line[node.col_offset:node.end_col_offset]