openrewrite-migrate-python 0.9.3__py3-none-any.whl → 0.10.0__py3-none-any.whl

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.
@@ -30,6 +30,7 @@ from .ast_deprecations import (
30
30
  )
31
31
  from .asyncio_coroutine_to_async import MigrateAsyncioCoroutine
32
32
  from .asyncio_deprecations import FindAsyncioCoroutineDecorator
33
+ from .avro_migrations import MigrateAvroPython3ToAvro
33
34
  from .calendar_deprecations import ReplaceCalendarConstants
34
35
  from .cgi_migrations import FindCgiModule, FindCgitbModule
35
36
  from .cgi_parse_deprecations import ReplaceCgiParseQs, ReplaceCgiParseQsl
@@ -192,6 +193,7 @@ __all__ = [
192
193
  "ReplaceAstStr",
193
194
  # Auto-fix: Asyncio
194
195
  "MigrateAsyncioCoroutine",
196
+ "MigrateAvroPython3ToAvro",
195
197
  # Auto-fix: Calendar
196
198
  "ReplaceCalendarConstants",
197
199
  # Auto-fix: Collections
@@ -0,0 +1,53 @@
1
+ """Recipe for migrating the deprecated ``avro-python3`` package to Apache ``avro``."""
2
+
3
+ from typing import List
4
+
5
+ from rewrite import Recipe
6
+ from rewrite.category import CategoryDescriptor
7
+ from rewrite.decorators import categorize
8
+ from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
10
+ from rewrite.python.recipes import ChangeType
11
+
12
+ # Define category path: Python > Migrate
13
+ _Migrate = [*Python, CategoryDescriptor(display_name="Migrate")]
14
+
15
+
16
+ @categorize(_Migrate)
17
+ class MigrateAvroPython3ToAvro(Recipe):
18
+
19
+ @property
20
+ def name(self) -> str:
21
+ return "org.openrewrite.python.migrate.MigrateAvroPython3ToAvro"
22
+
23
+ @property
24
+ def display_name(self) -> str:
25
+ return "Migrate the deprecated `avro-python3` package to `avro`"
26
+
27
+ @property
28
+ def description(self) -> str:
29
+ return (
30
+ "Replace the deprecated `avro-python3` distribution with its maintained successor, "
31
+ "Apache `avro`. Both install the same top-level `avro` import package, so module imports "
32
+ "are unchanged, but `avro-python3`'s `avro.schema.Parse` was renamed to the lowercase "
33
+ "`avro.schema.parse` (and `Parse` removed) in `avro` 1.11+, so that reference is "
34
+ "rewritten. The dependency swap is applied by `org.openrewrite.python.ChangeDependency`."
35
+ )
36
+
37
+ @property
38
+ def tags(self) -> List[str]:
39
+ return ["python", "migration", "avro", "dependencies"]
40
+
41
+ def recipe_list(self) -> List[Recipe]:
42
+ return [
43
+ ChangeType(
44
+ old_fully_qualified_type_name="avro.schema.Parse",
45
+ new_fully_qualified_type_name="avro.schema.parse",
46
+ ),
47
+ RpcRecipe(
48
+ "org.openrewrite.python.ChangeDependency",
49
+ oldPackageName="avro-python3",
50
+ newPackageName="avro",
51
+ newVersion=">=1.11.3",
52
+ ),
53
+ ]
@@ -15,7 +15,7 @@ from rewrite import Recipe
15
15
  from rewrite.category import CategoryDescriptor
16
16
  from rewrite.decorators import categorize
17
17
  from rewrite.marketplace import Python
18
- from rewrite.python.recipes import ChangeImport
18
+ from rewrite.python.recipes import ChangeType
19
19
 
20
20
  # Define category path
21
21
  _Python39 = [
@@ -59,4 +59,9 @@ class ReplaceTypingCallableWithCollectionsAbcCallable(Recipe):
59
59
  )
60
60
 
61
61
  def recipe_list(self) -> List[Recipe]:
62
- return [ChangeImport(old_module="typing", old_name="Callable", new_module="collections.abc")]
62
+ return [
63
+ ChangeType(
64
+ old_fully_qualified_type_name="typing.Callable",
65
+ new_fully_qualified_type_name="collections.abc.Callable",
66
+ )
67
+ ]
@@ -89,6 +89,6 @@ class UpgradeToPython310(Recipe):
89
89
  ReplaceThreadSetName(),
90
90
  ReplaceThreadIsDaemon(),
91
91
  ReplaceThreadSetDaemon(),
92
- # Update project metadata, packaging, and Dockerfiles to the target version
92
+ # Update project metadata, packaging, Dockerfiles, CloudFormation templates, and .whitesource files to the target version
93
93
  RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo310"),
94
94
  ]
@@ -90,6 +90,6 @@ class UpgradeToPython311(Recipe):
90
90
  FindLocaleGetdefaultlocale(),
91
91
  # re.template() -> re.compile(), re.TEMPLATE deprecated in 3.11
92
92
  ReplaceReTemplate(),
93
- # Update project metadata, packaging, and Dockerfiles to the target version
93
+ # Update project metadata, packaging, Dockerfiles, CloudFormation templates, and .whitesource files to the target version
94
94
  RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo311"),
95
95
  ]
@@ -99,6 +99,6 @@ class UpgradeToPython312(Recipe):
99
99
  FindShutilRmtreeOnerror(),
100
100
  # sys.last_type/last_value/last_traceback -> sys.last_exc
101
101
  ReplaceSysLastExcInfo(),
102
- # Update project metadata, packaging, and Dockerfiles to the target version
102
+ # Update project metadata, packaging, Dockerfiles, CloudFormation templates, and .whitesource files to the target version
103
103
  RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo312"),
104
104
  ]
@@ -47,7 +47,9 @@ class UpgradeToPython313(Recipe):
47
47
  return (
48
48
  "Migrate deprecated and removed APIs for Python 3.13 compatibility. "
49
49
  "This includes detecting usage of modules removed in PEP 594 "
50
- "('dead batteries') and other API changes between Python 3.12 and 3.13."
50
+ "('dead batteries'), other API changes between Python 3.12 and 3.13, and bumping "
51
+ "third-party dependencies (`ruff`, `avro-python3`) whose pinned releases do not "
52
+ "install cleanly on Python 3.13."
51
53
  )
52
54
 
53
55
  @property
@@ -107,6 +109,11 @@ class UpgradeToPython313(Recipe):
107
109
  FindTelnetlibModule(),
108
110
  FindUuModule(),
109
111
  FindXdrlibModule(),
110
- # Update project metadata, packaging, and Dockerfiles to the target version
112
+ # Bump third-party pins that don't install cleanly on 3.13 (avro-python3 off its fragile 1.8.2 sdist).
113
+ RpcRecipe("org.openrewrite.python.UpgradeDependencyVersion",
114
+ packageName="ruff", newVersion=">=0.15.21"),
115
+ RpcRecipe("org.openrewrite.python.UpgradeDependencyVersion",
116
+ packageName="avro-python3", newVersion=">=1.10.2"),
117
+ # Update project metadata, packaging, Dockerfiles, CloudFormation templates, and .whitesource files to the target version
111
118
  RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo313"),
112
119
  ]
@@ -85,6 +85,6 @@ class UpgradeToPython314(Recipe):
85
85
  # urllib.parse split functions removed
86
86
  FindUrllibParseSplitFunctions(),
87
87
  FindUrllibParseToBytes(),
88
- # Update project metadata, packaging, and Dockerfiles to the target version
88
+ # Update project metadata, packaging, Dockerfiles, CloudFormation templates, and .whitesource files to the target version
89
89
  RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo314"),
90
90
  ]
@@ -93,6 +93,6 @@ class UpgradeToPython38(Recipe):
93
93
  FindFunctoolsCmpToKey(),
94
94
  # Remove obsolete __future__ imports
95
95
  RemoveFutureImports(),
96
- # Update project metadata, packaging, and Dockerfiles to the target version
96
+ # Update project metadata, packaging, Dockerfiles, CloudFormation templates, and .whitesource files to the target version
97
97
  RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo38"),
98
98
  ]
@@ -7,7 +7,7 @@ from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
9
  from rewrite.rpc import RpcRecipe
10
- from rewrite.python.recipes import ChangeImport
10
+ from rewrite.python.recipes import ChangeImport, ChangeType
11
11
 
12
12
  # Define category path: Python > Migrate
13
13
  _Migrate = [*Python, CategoryDescriptor(display_name="Migrate")]
@@ -62,67 +62,69 @@ class UpgradeToPython39(Recipe):
62
62
  return [
63
63
  # First apply all Python 3.8 upgrades
64
64
  UpgradeToPython38(),
65
- # base64 encodestring/decodestring removed in Python 3.9
65
+ # base64 encodestring/decodestring removed in Python 3.9.
66
+ # These are functions, not types, so they stay on ChangeImport
66
67
  ChangeImport(old_module="base64", old_name="encodestring", new_module="base64", new_name="encodebytes"),
67
68
  ChangeImport(old_module="base64", old_name="decodestring", new_module="base64", new_name="decodebytes"),
68
- # PEP 585: Replace typing.List[X] with list[X], etc. (Python 3.9+)
69
- ChangeImport(old_module="typing", old_name="List", new_module="builtins", new_name="list"),
70
- ChangeImport(old_module="typing", old_name="Dict", new_module="builtins", new_name="dict"),
71
- ChangeImport(old_module="typing", old_name="Set", new_module="builtins", new_name="set"),
72
- ChangeImport(old_module="typing", old_name="FrozenSet", new_module="builtins", new_name="frozenset"),
73
- ChangeImport(old_module="typing", old_name="Tuple", new_module="builtins", new_name="tuple"),
74
- ChangeImport(old_module="typing", old_name="Type", new_module="builtins", new_name="type"),
69
+ # PEP 585: Replace typing.List[X] with list[X], etc. (Python 3.9+).
70
+ # These targets are genuine types (typing.List, typing.Mapping, ...) with ChangeType
71
+ ChangeType(old_fully_qualified_type_name="typing.List", new_fully_qualified_type_name="builtins.list"),
72
+ ChangeType(old_fully_qualified_type_name="typing.Dict", new_fully_qualified_type_name="builtins.dict"),
73
+ ChangeType(old_fully_qualified_type_name="typing.Set", new_fully_qualified_type_name="builtins.set"),
74
+ ChangeType(old_fully_qualified_type_name="typing.FrozenSet", new_fully_qualified_type_name="builtins.frozenset"),
75
+ ChangeType(old_fully_qualified_type_name="typing.Tuple", new_fully_qualified_type_name="builtins.tuple"),
76
+ ChangeType(old_fully_qualified_type_name="typing.Type", new_fully_qualified_type_name="builtins.type"),
75
77
  # typing.Callable -> collections.abc.Callable (PEP 585)
76
78
  ReplaceTypingCallableWithCollectionsAbcCallable(),
77
79
  # PEP 585: typing -> collections replacements
78
- ChangeImport(old_module="typing", old_name="Deque", new_module="collections", new_name="deque"),
79
- ChangeImport(old_module="typing", old_name="DefaultDict", new_module="collections", new_name="defaultdict"),
80
- ChangeImport(old_module="typing", old_name="OrderedDict", new_module="collections"),
81
- ChangeImport(old_module="typing", old_name="Counter", new_module="collections"),
82
- ChangeImport(old_module="typing", old_name="ChainMap", new_module="collections"),
80
+ ChangeType(old_fully_qualified_type_name="typing.Deque", new_fully_qualified_type_name="collections.deque"),
81
+ ChangeType(old_fully_qualified_type_name="typing.DefaultDict", new_fully_qualified_type_name="collections.defaultdict"),
82
+ ChangeType(old_fully_qualified_type_name="typing.OrderedDict", new_fully_qualified_type_name="collections.OrderedDict"),
83
+ ChangeType(old_fully_qualified_type_name="typing.Counter", new_fully_qualified_type_name="collections.Counter"),
84
+ ChangeType(old_fully_qualified_type_name="typing.ChainMap", new_fully_qualified_type_name="collections.ChainMap"),
83
85
  # PEP 585: typing -> re replacements
84
- ChangeImport(old_module="typing", old_name="Pattern", new_module="re"),
85
- ChangeImport(old_module="typing", old_name="Match", new_module="re"),
86
+ ChangeType(old_fully_qualified_type_name="typing.Pattern", new_fully_qualified_type_name="re.Pattern"),
87
+ ChangeType(old_fully_qualified_type_name="typing.Match", new_fully_qualified_type_name="re.Match"),
86
88
  # PEP 585: typing -> contextlib replacements
87
- ChangeImport(old_module="typing", old_name="ContextManager", new_module="contextlib", new_name="AbstractContextManager"),
88
- ChangeImport(old_module="typing", old_name="AsyncContextManager", new_module="contextlib", new_name="AbstractAsyncContextManager"),
89
+ ChangeType(old_fully_qualified_type_name="typing.ContextManager", new_fully_qualified_type_name="contextlib.AbstractContextManager"),
90
+ ChangeType(old_fully_qualified_type_name="typing.AsyncContextManager", new_fully_qualified_type_name="contextlib.AbstractAsyncContextManager"),
89
91
  # PEP 585: typing -> collections.abc replacements
90
- ChangeImport(old_module="typing", old_name="Iterable", new_module="collections.abc"),
91
- ChangeImport(old_module="typing", old_name="Iterator", new_module="collections.abc"),
92
- ChangeImport(old_module="typing", old_name="Generator", new_module="collections.abc"),
93
- ChangeImport(old_module="typing", old_name="Sequence", new_module="collections.abc"),
94
- ChangeImport(old_module="typing", old_name="MutableSequence", new_module="collections.abc"),
95
- ChangeImport(old_module="typing", old_name="Mapping", new_module="collections.abc"),
96
- ChangeImport(old_module="typing", old_name="MutableMapping", new_module="collections.abc"),
97
- ChangeImport(old_module="typing", old_name="AbstractSet", new_module="collections.abc", new_name="Set"),
98
- ChangeImport(old_module="typing", old_name="MutableSet", new_module="collections.abc"),
99
- ChangeImport(old_module="typing", old_name="Awaitable", new_module="collections.abc"),
100
- ChangeImport(old_module="typing", old_name="Coroutine", new_module="collections.abc"),
101
- ChangeImport(old_module="typing", old_name="AsyncIterable", new_module="collections.abc"),
102
- ChangeImport(old_module="typing", old_name="AsyncIterator", new_module="collections.abc"),
103
- ChangeImport(old_module="typing", old_name="AsyncGenerator", new_module="collections.abc"),
104
- ChangeImport(old_module="typing", old_name="Reversible", new_module="collections.abc"),
105
- ChangeImport(old_module="typing", old_name="Container", new_module="collections.abc"),
106
- ChangeImport(old_module="typing", old_name="Collection", new_module="collections.abc"),
107
- ChangeImport(old_module="typing", old_name="MappingView", new_module="collections.abc"),
108
- ChangeImport(old_module="typing", old_name="KeysView", new_module="collections.abc"),
109
- ChangeImport(old_module="typing", old_name="ItemsView", new_module="collections.abc"),
110
- ChangeImport(old_module="typing", old_name="ValuesView", new_module="collections.abc"),
111
- ChangeImport(old_module="typing", old_name="Hashable", new_module="collections.abc"),
112
- ChangeImport(old_module="typing", old_name="Sized", new_module="collections.abc"),
92
+ ChangeType(old_fully_qualified_type_name="typing.Iterable", new_fully_qualified_type_name="collections.abc.Iterable"),
93
+ ChangeType(old_fully_qualified_type_name="typing.Iterator", new_fully_qualified_type_name="collections.abc.Iterator"),
94
+ ChangeType(old_fully_qualified_type_name="typing.Generator", new_fully_qualified_type_name="collections.abc.Generator"),
95
+ ChangeType(old_fully_qualified_type_name="typing.Sequence", new_fully_qualified_type_name="collections.abc.Sequence"),
96
+ ChangeType(old_fully_qualified_type_name="typing.MutableSequence", new_fully_qualified_type_name="collections.abc.MutableSequence"),
97
+ ChangeType(old_fully_qualified_type_name="typing.Mapping", new_fully_qualified_type_name="collections.abc.Mapping"),
98
+ ChangeType(old_fully_qualified_type_name="typing.MutableMapping", new_fully_qualified_type_name="collections.abc.MutableMapping"),
99
+ ChangeType(old_fully_qualified_type_name="typing.AbstractSet", new_fully_qualified_type_name="collections.abc.Set"),
100
+ ChangeType(old_fully_qualified_type_name="typing.MutableSet", new_fully_qualified_type_name="collections.abc.MutableSet"),
101
+ ChangeType(old_fully_qualified_type_name="typing.Awaitable", new_fully_qualified_type_name="collections.abc.Awaitable"),
102
+ ChangeType(old_fully_qualified_type_name="typing.Coroutine", new_fully_qualified_type_name="collections.abc.Coroutine"),
103
+ ChangeType(old_fully_qualified_type_name="typing.AsyncIterable", new_fully_qualified_type_name="collections.abc.AsyncIterable"),
104
+ ChangeType(old_fully_qualified_type_name="typing.AsyncIterator", new_fully_qualified_type_name="collections.abc.AsyncIterator"),
105
+ ChangeType(old_fully_qualified_type_name="typing.AsyncGenerator", new_fully_qualified_type_name="collections.abc.AsyncGenerator"),
106
+ ChangeType(old_fully_qualified_type_name="typing.Reversible", new_fully_qualified_type_name="collections.abc.Reversible"),
107
+ ChangeType(old_fully_qualified_type_name="typing.Container", new_fully_qualified_type_name="collections.abc.Container"),
108
+ ChangeType(old_fully_qualified_type_name="typing.Collection", new_fully_qualified_type_name="collections.abc.Collection"),
109
+ ChangeType(old_fully_qualified_type_name="typing.MappingView", new_fully_qualified_type_name="collections.abc.MappingView"),
110
+ ChangeType(old_fully_qualified_type_name="typing.KeysView", new_fully_qualified_type_name="collections.abc.KeysView"),
111
+ ChangeType(old_fully_qualified_type_name="typing.ItemsView", new_fully_qualified_type_name="collections.abc.ItemsView"),
112
+ ChangeType(old_fully_qualified_type_name="typing.ValuesView", new_fully_qualified_type_name="collections.abc.ValuesView"),
113
+ ChangeType(old_fully_qualified_type_name="typing.Hashable", new_fully_qualified_type_name="collections.abc.Hashable"),
114
+ ChangeType(old_fully_qualified_type_name="typing.Sized", new_fully_qualified_type_name="collections.abc.Sized"),
113
115
  # XML Element.getiterator() deprecated in 3.9, use iter()
114
116
  ReplaceElementGetiterator(),
115
117
  # XML Element.getchildren() -> list(element) (3.9)
116
118
  ReplaceElementGetchildren(),
117
- # fractions.gcd() removed in 3.9, use math.gcd()
119
+ # fractions.gcd() removed in 3.9, use math.gcd() (function -> ChangeImport, not ChangeType)
118
120
  ChangeImport(old_module="fractions", old_name="gcd", new_module="math"),
119
- # sys.getcheckinterval/setcheckinterval removed in 3.9
121
+ # sys.getcheckinterval/setcheckinterval removed in 3.9 (functions -> ChangeImport)
120
122
  ChangeImport(old_module="sys", old_name="getcheckinterval", new_module="sys", new_name="getswitchinterval"),
121
123
  ChangeImport(old_module="sys", old_name="setcheckinterval", new_module="sys", new_name="setswitchinterval"),
122
124
  # Thread.isAlive() removed in 3.9
123
125
  ReplaceThreadIsAlive(),
124
126
  # HTMLParser.unescape() -> html.unescape() (removed in 3.9)
125
127
  ReplaceHtmlParserUnescape(),
126
- # Update project metadata, packaging, and Dockerfiles to the target version
128
+ # Update project metadata, packaging, Dockerfiles, CloudFormation templates, and .whitesource files to the target version
127
129
  RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo39"),
128
130
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrewrite-migrate-python
3
- Version: 0.9.3
3
+ Version: 0.10.0
4
4
  Summary: OpenRewrite recipes for migrating Python codebases to newer Python versions.
5
5
  Author-email: "Moderne Inc." <support@moderne.io>
6
6
  License: Moderne Proprietary
@@ -11,13 +11,14 @@ openrewrite_code_quality_python/codequality/remove_unconditional_value_overwrite
11
11
  openrewrite_code_quality_python/codequality/simplify_boolean_literal.py,sha256=RJdH1Hj3Mp-mK4UeGD8DZIVttIfH1AwygRJacioavzE,5173
12
12
  openrewrite_code_quality_python/codequality/simplify_redundant_logical_expression.py,sha256=GLjqOCqZOAQ9bRjas501fDbHyJiUjbdH35BSHR91RFc,2964
13
13
  openrewrite_migrate_python/__init__.py,sha256=AUUYSi3ET9VBhwfF535k61ZTuH8nhJJ4oP9IyeLbftI,1211
14
- openrewrite_migrate_python/migrate/__init__.py,sha256=MX2uh5q-2fW8ltPSecfnDNsDIQlxh58JAEpEa5TZuxg,9226
14
+ openrewrite_migrate_python/migrate/__init__.py,sha256=IYxrJ_aPdzNw9Jv82qLKSXu30HEe78_Vc4ZAv-W_HpY,9312
15
15
  openrewrite_migrate_python/migrate/_markers.py,sha256=u27fIlhZquWlxB7oNS7dph_YUuwxpVFjFoQAQthQzmU,974
16
16
  openrewrite_migrate_python/migrate/aifc_migrations.py,sha256=-zgYl57VQIEaKam_kQ6jmmYYm3H8xL2SBR1N33oklDo,18810
17
17
  openrewrite_migrate_python/migrate/array_deprecations.py,sha256=U4WH1UqLd_BNA6R8Gng000DzKC-dRm1wYuVlUvRe5IY,4723
18
18
  openrewrite_migrate_python/migrate/ast_deprecations.py,sha256=psy9RlTJTECrFd3G8UXEd1ZGuekWOdWJUdlUgqKsdZk,10348
19
19
  openrewrite_migrate_python/migrate/asyncio_coroutine_to_async.py,sha256=2KahKrlhu9p0PrvyJMgtmAqJy3PcIv66pBHL9JL9sx4,7646
20
20
  openrewrite_migrate_python/migrate/asyncio_deprecations.py,sha256=KMwEoz825bRt_TufgefU2mw3Uuv9UGynp-uoDzHQKcg,3536
21
+ openrewrite_migrate_python/migrate/avro_migrations.py,sha256=kGGu9InH_uWZuEE94dO-GJTHNNf-Gx2TwFMEAzlRkV8,1908
21
22
  openrewrite_migrate_python/migrate/calendar_deprecations.py,sha256=tZMcLwPgTUuX1NxuZx4HRCnU0JeyL5bUFqmQcfeDLEE,4288
22
23
  openrewrite_migrate_python/migrate/cgi_migrations.py,sha256=hzBa5-Yp2EtPLg-S07hp5bp8Rsm0WS1pNudgeS-BMJ0,7673
23
24
  openrewrite_migrate_python/migrate/cgi_parse_deprecations.py,sha256=67JVp2PuoaOJmeE1EJwlff_18Id9p8D2z9HeU0no09A,6733
@@ -61,26 +62,26 @@ openrewrite_migrate_python/migrate/telnetlib_migrations.py,sha256=E3obYMTjKoDbGK
61
62
  openrewrite_migrate_python/migrate/tempfile_deprecations.py,sha256=Gt5x6uqZkduDosPxR0aRIknel1sKmAxBM-TQohBjA4I,3462
62
63
  openrewrite_migrate_python/migrate/threading_deprecations.py,sha256=rql9iGfQ8a5PjgyS3-HdV38WnziYE74pdFi5kIGpDqs,16920
63
64
  openrewrite_migrate_python/migrate/threading_is_alive_deprecation.py,sha256=n8weERW6-OvyAr5lw4oKYeA4AsgVkUdUvwaIA3MRm9o,2844
64
- openrewrite_migrate_python/migrate/typing_callable.py,sha256=T5MvVCOtRqGya1LEgUOD2rTa6WXgRmesZcOz6EdUgiA,1829
65
+ openrewrite_migrate_python/migrate/typing_callable.py,sha256=LajpiOAg2MEJwUAzQJKfkx9Cp9M18pCUv9KdoGVVnuo,1929
65
66
  openrewrite_migrate_python/migrate/typing_deprecations.py,sha256=Yddi-AzH6OCYEm1zDclMjvzRdBdZFCq1bThlaQKOi1s,13418
66
67
  openrewrite_migrate_python/migrate/typing_union_to_pipe.py,sha256=sBrQYCTH5WCxPi0AOH8DHW6eV2yeRqD5ps0U7XNCw70,10093
67
68
  openrewrite_migrate_python/migrate/unittest_deprecations.py,sha256=iQHg6uB6ZGatYPBMWURmhsFUHar7ZJ5UjK-dyKoWyhI,4925
68
69
  openrewrite_migrate_python/migrate/upgrade_to_langchain02.py,sha256=Zifezmcewzy9JBLX2akyw7eJWI0Ztzra-Kd6kmPXTMc,1816
69
70
  openrewrite_migrate_python/migrate/upgrade_to_langchain1.py,sha256=wMiPGM6EmL-3fc0NrxM_InErvFtXYrZFJAQgi3gKa1o,2140
70
71
  openrewrite_migrate_python/migrate/upgrade_to_pydantic.py,sha256=Nzjdj-Lc6nuwz6mBBQo9jZUT3qEhbWdes26cwFdPVjY,9288
71
- openrewrite_migrate_python/migrate/upgrade_to_python310.py,sha256=shRV1LK2dQOS6ytCQ_bju0ynUDhHeaudqL6YfSL62Sg,3585
72
- openrewrite_migrate_python/migrate/upgrade_to_python311.py,sha256=lID41ycaPrQp6jCUg33uR_4QTz9uFEvt8elgENbtZ8w,4154
73
- openrewrite_migrate_python/migrate/upgrade_to_python312.py,sha256=mNYa6MUUm-4ojN0QLUad7WjnSrTER12NqPb6Wmykotw,4533
74
- openrewrite_migrate_python/migrate/upgrade_to_python313.py,sha256=D9A8yUMVoOWG73ZIwFOiNaegvwGKJ-7DIvTIEinuvRs,4047
75
- openrewrite_migrate_python/migrate/upgrade_to_python314.py,sha256=oCG031Dmb_oaNJVHdxPPFhOqNbjIlE1isLsXZRSNk4s,3377
76
- openrewrite_migrate_python/migrate/upgrade_to_python38.py,sha256=o7J5Vk7HOYZitu7GeE886sJ8fTIIHH2lo8Z0PvcbDGo,4372
77
- openrewrite_migrate_python/migrate/upgrade_to_python39.py,sha256=iXiwEPqHdbkVsqMYuAeZ7kAdjYnuj35K3-qYdVkiZzc,7969
72
+ openrewrite_migrate_python/migrate/upgrade_to_python310.py,sha256=HmVXEAsvxKtUYcow_PxVZXu022UIA3It5v2RUTOFu0o,3631
73
+ openrewrite_migrate_python/migrate/upgrade_to_python311.py,sha256=I9KHcgV4RqFKGQizieWBwWr0JgxcOi8CdCwO75UmsGI,4200
74
+ openrewrite_migrate_python/migrate/upgrade_to_python312.py,sha256=3ZBSXm6MuZVutAP6M5cnxOVa2ih7zwXucMTp90FM1iE,4579
75
+ openrewrite_migrate_python/migrate/upgrade_to_python313.py,sha256=5v7CvJNzLkYxv2gVzwQ1TSdFZMR2ef5qAy2rYn2VWf8,4645
76
+ openrewrite_migrate_python/migrate/upgrade_to_python314.py,sha256=0KJsnDQxBk41FNYN06V1howRHAQ39dw1x01MOZgCEEk,3423
77
+ openrewrite_migrate_python/migrate/upgrade_to_python38.py,sha256=AYg5chkV0Glh3BCH1iW9gsmWTXHfjHzkusinSz3DFJY,4418
78
+ openrewrite_migrate_python/migrate/upgrade_to_python39.py,sha256=C8wEnB8qjx56SYrndhFxDCvVxm_h2xSVRc35a_Ewjcs,9334
78
79
  openrewrite_migrate_python/migrate/urllib_deprecations.py,sha256=O67nqNeivrprYwf4QucXhNAYhPKPFTFoFBklNM8QsEA,7302
79
80
  openrewrite_migrate_python/migrate/uu_migrations.py,sha256=p4c83AxvBY2EGW_JNOCOpgafHYrCJQhHe_wIjgMdcSk,4242
80
81
  openrewrite_migrate_python/migrate/xdrlib_migrations.py,sha256=UhFFzz2CRlHn4eZqh7F33HgIqBcy74LV9Nrg3XfWj8I,4273
81
82
  openrewrite_migrate_python/migrate/xml_deprecations.py,sha256=k6yd5rqsJoMp3GGwkaVoBr0BQ6BYS8-tI2EMjdk7bMM,6741
82
- openrewrite_migrate_python-0.9.3.dist-info/METADATA,sha256=flCCubZT2LLQhWWYwLnpHF7AYRs73q1ceeD_cO90D6k,1509
83
- openrewrite_migrate_python-0.9.3.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
84
- openrewrite_migrate_python-0.9.3.dist-info/entry_points.txt,sha256=SuygzlMJiKIW19FYJVxx0hhRyzW6HTDCweY7584XpXw,138
85
- openrewrite_migrate_python-0.9.3.dist-info/top_level.txt,sha256=y8dKeC9kb5GUzFraB-OhJGxjPemM3GaPdrAygz2RP0U,59
86
- openrewrite_migrate_python-0.9.3.dist-info/RECORD,,
83
+ openrewrite_migrate_python-0.10.0.dist-info/METADATA,sha256=Lt7lutXLryPPVT9YfOZnIF0A6Y8ipwkrIi3i8_pY6Jc,1510
84
+ openrewrite_migrate_python-0.10.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
85
+ openrewrite_migrate_python-0.10.0.dist-info/entry_points.txt,sha256=SuygzlMJiKIW19FYJVxx0hhRyzW6HTDCweY7584XpXw,138
86
+ openrewrite_migrate_python-0.10.0.dist-info/top_level.txt,sha256=y8dKeC9kb5GUzFraB-OhJGxjPemM3GaPdrAygz2RP0U,59
87
+ openrewrite_migrate_python-0.10.0.dist-info/RECORD,,