openrewrite-migrate-python 0.15.0.dev20260914170445__tar.gz → 0.15.0.dev20260915125004__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 (158) hide show
  1. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/PKG-INFO +3 -5
  2. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/pyproject.toml +5 -7
  3. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/typing_deprecations.py +5 -42
  4. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/PKG-INFO +3 -5
  5. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/requires.txt +1 -1
  6. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_deprecations.py +21 -4
  7. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/setup.cfg +0 -0
  8. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/__init__.py +0 -0
  9. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/__init__.py +0 -0
  10. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/_reindent.py +0 -0
  11. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/_semantically_equal.py +0 -0
  12. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/_trivia.py +0 -0
  13. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/all_branches_identical.py +0 -0
  14. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/boolean_checks_not_inverted.py +0 -0
  15. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/collapsible_if_statements.py +0 -0
  16. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/find_suspicious_chained_comparison.py +0 -0
  17. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/merge_identical_branches.py +0 -0
  18. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/remove_duplicate_conditions.py +0 -0
  19. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/remove_self_assignment.py +0 -0
  20. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/remove_unconditional_value_overwrite.py +0 -0
  21. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/simplify_boolean_literal.py +0 -0
  22. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/simplify_redundant_logical_expression.py +0 -0
  23. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/__init__.py +0 -0
  24. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/__init__.py +0 -0
  25. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_from_imports.py +0 -0
  26. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_import_hygiene.py +0 -0
  27. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_langchain_tables.py +0 -0
  28. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_markers.py +0 -0
  29. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_slots.py +0 -0
  30. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_typing_imports.py +0 -0
  31. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/aifc_migrations.py +0 -0
  32. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/array_deprecations.py +0 -0
  33. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/ast_deprecations.py +0 -0
  34. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/asyncio_coroutine_to_async.py +0 -0
  35. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/asyncio_deprecations.py +0 -0
  36. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/avro_migrations.py +0 -0
  37. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/calendar_deprecations.py +0 -0
  38. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/cgi_migrations.py +0 -0
  39. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/cgi_parse_deprecations.py +0 -0
  40. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/collections_abc_migrations.py +0 -0
  41. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/configparser_deprecations.py +0 -0
  42. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/datetime_utc.py +0 -0
  43. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/distutils_deprecations.py +0 -0
  44. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/distutils_migrations.py +0 -0
  45. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/functools_deprecations.py +0 -0
  46. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/future_imports.py +0 -0
  47. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/gettext_deprecations.py +0 -0
  48. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/html_parser_deprecations.py +0 -0
  49. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/imp_migrations.py +0 -0
  50. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/langchain_classic_imports.py +0 -0
  51. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/langchain_community_imports.py +0 -0
  52. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/langchain_provider_imports.py +0 -0
  53. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/locale_deprecations.py +0 -0
  54. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/locale_getdefaultlocale_deprecation.py +0 -0
  55. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/macpath_deprecations.py +0 -0
  56. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/mailcap_migrations.py +0 -0
  57. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/nntplib_migrations.py +0 -0
  58. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/os_deprecations.py +0 -0
  59. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pathlib_deprecations.py +0 -0
  60. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pep594_system_migrations.py +0 -0
  61. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pipes_migrations.py +0 -0
  62. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pkgutil_deprecations.py +0 -0
  63. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/platform_deprecations.py +0 -0
  64. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pydantic_deprecations.py +0 -0
  65. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pydantic_fields.py +0 -0
  66. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pydantic_model_fields.py +0 -0
  67. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/re_deprecations.py +0 -0
  68. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/removed_modules_312.py +0 -0
  69. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/shutil_deprecations.py +0 -0
  70. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/socket_deprecations.py +0 -0
  71. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/ssl_deprecations.py +0 -0
  72. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/string_formatting.py +0 -0
  73. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/sys_deprecations.py +0 -0
  74. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/sys_last_deprecations.py +0 -0
  75. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/tarfile_deprecations.py +0 -0
  76. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/telnetlib_migrations.py +0 -0
  77. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/tempfile_deprecations.py +0 -0
  78. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/threading_deprecations.py +0 -0
  79. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/threading_is_alive_deprecation.py +0 -0
  80. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/typing_callable.py +0 -0
  81. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/typing_union_to_pipe.py +0 -0
  82. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/unittest_deprecations.py +0 -0
  83. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_langchain02.py +0 -0
  84. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_langchain1.py +0 -0
  85. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_pydantic.py +0 -0
  86. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_python310.py +0 -0
  87. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_python311.py +0 -0
  88. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_python312.py +0 -0
  89. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_python313.py +0 -0
  90. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_python314.py +0 -0
  91. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_python38.py +0 -0
  92. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/upgrade_to_python39.py +0 -0
  93. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/urllib_deprecations.py +0 -0
  94. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/uu_migrations.py +0 -0
  95. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/xdrlib_migrations.py +0 -0
  96. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/xml_deprecations.py +0 -0
  97. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/SOURCES.txt +0 -0
  98. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/dependency_links.txt +0 -0
  99. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/entry_points.txt +0 -0
  100. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/top_level.txt +0 -0
  101. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_aifc_migrations.py +0 -0
  102. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_array_deprecations.py +0 -0
  103. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_ast_deprecations.py +0 -0
  104. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_asyncio_coroutine_to_async.py +0 -0
  105. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_asyncio_deprecations.py +0 -0
  106. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_avro_migrations.py +0 -0
  107. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_calendar_deprecations.py +0 -0
  108. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_cgi_parse_deprecations.py +0 -0
  109. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_change_import_recipes.py +0 -0
  110. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_collections_abc_migrations.py +0 -0
  111. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_configparser_deprecations.py +0 -0
  112. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_datetime_utc.py +0 -0
  113. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_distutils_deprecations.py +0 -0
  114. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_distutils_migrations.py +0 -0
  115. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_functools_deprecations.py +0 -0
  116. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_future_imports.py +0 -0
  117. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_gettext_deprecations.py +0 -0
  118. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_html_parser_deprecations.py +0 -0
  119. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_imp_migrations.py +0 -0
  120. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_langchain_classic_imports.py +0 -0
  121. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_langchain_community_imports.py +0 -0
  122. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_langchain_provider_imports.py +0 -0
  123. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_locale_deprecations.py +0 -0
  124. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_locale_getdefaultlocale_deprecation.py +0 -0
  125. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_macpath_deprecations.py +0 -0
  126. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_mailcap_migrations.py +0 -0
  127. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_markers.py +0 -0
  128. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_os_deprecations.py +0 -0
  129. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pathlib_deprecations.py +0 -0
  130. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pep594_migrations.py +0 -0
  131. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pep594_system_migrations.py +0 -0
  132. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pkgutil_deprecations.py +0 -0
  133. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_platform_deprecations.py +0 -0
  134. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pydantic_deprecations.py +0 -0
  135. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pydantic_fields.py +0 -0
  136. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pydantic_model_fields.py +0 -0
  137. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_re_deprecations.py +0 -0
  138. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_removed_modules_312.py +0 -0
  139. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_shutil_deprecations.py +0 -0
  140. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_socket_deprecations.py +0 -0
  141. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_ssl_deprecations.py +0 -0
  142. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_string_formatting.py +0 -0
  143. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_sys_deprecations.py +0 -0
  144. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_sys_last_deprecations.py +0 -0
  145. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_tarfile_deprecations.py +0 -0
  146. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_tempfile_deprecations.py +0 -0
  147. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_threading_deprecations.py +0 -0
  148. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_threading_extended.py +0 -0
  149. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_threading_is_alive_deprecation.py +0 -0
  150. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_alias_moves.py +0 -0
  151. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_callable.py +0 -0
  152. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_union_to_pipe.py +0 -0
  153. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_unittest_deprecations.py +0 -0
  154. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_upgrade_recipes.py +0 -0
  155. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_upgrade_to_pydantic.py +0 -0
  156. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_urllib_deprecations.py +0 -0
  157. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_xdrlib_migrations.py +0 -0
  158. {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_xml_deprecations.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrewrite-migrate-python
3
- Version: 0.15.0.dev20260914170445
3
+ Version: 0.15.0.dev20260915125004
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,17 +11,15 @@ Project-URL: Issues, https://github.com/openrewrite/rewrite-migrate-python/issue
11
11
  Classifier: Development Status :: 4 - Beta
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: Other/Proprietary License
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
14
  Classifier: Programming Language :: Python :: 3.12
17
15
  Classifier: Programming Language :: Python :: 3.13
18
16
  Classifier: Topic :: Software Development :: Code Generators
19
17
  Classifier: Topic :: Software Development :: Quality Assurance
20
18
  Classifier: Typing :: Typed
21
- Requires-Python: >=3.10
19
+ Requires-Python: >=3.12
22
20
  Description-Content-Type: text/markdown
23
21
  Provides-Extra: dev
24
- Requires-Dist: openrewrite>=8.91.6; extra == "dev"
22
+ Requires-Dist: openrewrite>=8.92.2; extra == "dev"
25
23
  Requires-Dist: pydantic>=2.11; extra == "dev"
26
24
  Requires-Dist: pytest>=8.0.0; extra == "dev"
27
25
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "openrewrite-migrate-python"
7
7
  description = "OpenRewrite recipes for migrating Python codebases to newer Python versions."
8
- version = "0.15.0.dev20260914170445" # Updated dynamically during release
8
+ version = "0.15.0.dev20260915125004" # Updated dynamically during release
9
9
  authors = [{ name = "Moderne Inc.", email = "support@moderne.io" }]
10
10
  license = { text = "Moderne Proprietary" }
11
11
  readme = "README.md"
@@ -13,15 +13,13 @@ classifiers = [
13
13
  "Development Status :: 4 - Beta",
14
14
  "Intended Audience :: Developers",
15
15
  "License :: Other/Proprietary License",
16
- "Programming Language :: Python :: 3.10",
17
- "Programming Language :: Python :: 3.11",
18
16
  "Programming Language :: Python :: 3.12",
19
17
  "Programming Language :: Python :: 3.13",
20
18
  "Topic :: Software Development :: Code Generators",
21
19
  "Topic :: Software Development :: Quality Assurance",
22
20
  "Typing :: Typed",
23
21
  ]
24
- requires-python = ">=3.10"
22
+ requires-python = ">=3.12"
25
23
  # openrewrite is a runtime dependency but is provided by the host
26
24
  # environment (like a plugin framework). It is listed under
27
25
  # [project.optional-dependencies] dev so it is available during
@@ -30,7 +28,7 @@ dependencies = []
30
28
 
31
29
  [project.optional-dependencies]
32
30
  dev = [
33
- "openrewrite>=8.91.6",
31
+ "openrewrite>=8.92.2",
34
32
  # Needed so type-attribution tests can resolve `pydantic` types.
35
33
  "pydantic>=2.11",
36
34
  "pytest>=8.0.0",
@@ -62,11 +60,11 @@ include = ["openrewrite_migrate_python", "openrewrite_migrate_python.*", "openre
62
60
 
63
61
  [tool.black]
64
62
  line-length = 120
65
- target-version = ["py310", "py311", "py312", "py313"]
63
+ target-version = ["py312", "py313"]
66
64
 
67
65
  [tool.ruff]
68
66
  line-length = 120
69
- target-version = "py310"
67
+ target-version = "py312"
70
68
 
71
69
  [tool.ruff.lint]
72
70
  select = ["E", "F", "I", "UP"]
@@ -20,7 +20,6 @@ handled with `ChangeImport` in `upgrade_to_python39`.
20
20
  See: https://peps.python.org/pep-0585/
21
21
  """
22
22
 
23
- import ast
24
23
  from typing import Any, ClassVar, Optional, Set, cast
25
24
 
26
25
  from rewrite import ExecutionContext, Recipe, Tree, TreeVisitor
@@ -148,44 +147,6 @@ def _in_type_position(cursor: Cursor) -> bool:
148
147
  return False
149
148
 
150
149
 
151
- def _rename_in_quoted_body(body: str, old_name: str, new_name: str) -> Optional[str]:
152
- """`body` with each name lookup of `old_name` renamed, or None when it holds none.
153
-
154
- A quoted annotation carries a whole expression in one identifier, so the
155
- rename has to land on its `ast.Name` nodes. Only parsing separates those
156
- from a string constant the body encloses, where the name is a value:
157
- renaming in `Literal['Text', 'Binary']` would change the type.
158
- """
159
- stripped = body.strip()
160
- try:
161
- expression = ast.parse(stripped, mode="eval")
162
- except (SyntaxError, ValueError):
163
- return None
164
- matches = [
165
- node
166
- for node in ast.walk(expression)
167
- if isinstance(node, ast.Name) and node.id == old_name
168
- ]
169
- if not matches:
170
- return None
171
-
172
- # `col_offset` counts UTF-8 bytes, so the splice has to happen in bytes.
173
- source = stripped.encode()
174
- line_starts = [0]
175
- for line in source.split(b"\n"):
176
- line_starts.append(line_starts[-1] + len(line) + 1)
177
- for node in sorted(matches, key=lambda n: (n.lineno, n.col_offset), reverse=True):
178
- line = line_starts[node.lineno - 1]
179
- source = (
180
- source[: line + node.col_offset]
181
- + new_name.encode()
182
- + source[line + cast(int, node.end_col_offset) :]
183
- )
184
-
185
- leading = len(body) - len(body.lstrip())
186
- return body[:leading] + source.decode() + body[leading + len(stripped) :]
187
-
188
-
189
150
  def _make_builtin_alias_editor(
190
151
  old_name: str, new_name: str, type_positions_only: bool
191
152
  ) -> "TreeVisitor[Any, ExecutionContext]":
@@ -278,9 +239,11 @@ def _make_builtin_alias_editor(
278
239
  if type_positions_only and not _in_type_position(self.cursor):
279
240
  return ident
280
241
 
281
- if ident.markers.find_first(Quoted) is not None:
282
- renamed = _rename_in_quoted_body(ident.simple_name, self._bare_ref, new_name)
283
- return ident if renamed is None else ident.replace(_simple_name=renamed)
242
+ # A quoted body the parser could not structure arrives whole, where a
243
+ # rename would overwrite the annotation rather than the name in it.
244
+ if (ident.markers.find_first(Quoted) is not None
245
+ and ident.simple_name != self._bare_ref):
246
+ return ident
284
247
  return ident.replace(_simple_name=new_name)
285
248
 
286
249
  return BuiltinAliasVisitor()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrewrite-migrate-python
3
- Version: 0.15.0.dev20260914170445
3
+ Version: 0.15.0.dev20260915125004
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,17 +11,15 @@ Project-URL: Issues, https://github.com/openrewrite/rewrite-migrate-python/issue
11
11
  Classifier: Development Status :: 4 - Beta
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: Other/Proprietary License
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
14
  Classifier: Programming Language :: Python :: 3.12
17
15
  Classifier: Programming Language :: Python :: 3.13
18
16
  Classifier: Topic :: Software Development :: Code Generators
19
17
  Classifier: Topic :: Software Development :: Quality Assurance
20
18
  Classifier: Typing :: Typed
21
- Requires-Python: >=3.10
19
+ Requires-Python: >=3.12
22
20
  Description-Content-Type: text/markdown
23
21
  Provides-Extra: dev
24
- Requires-Dist: openrewrite>=8.91.6; extra == "dev"
22
+ Requires-Dist: openrewrite>=8.92.2; extra == "dev"
25
23
  Requires-Dist: pydantic>=2.11; extra == "dev"
26
24
  Requires-Dist: pytest>=8.0.0; extra == "dev"
27
25
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
@@ -1,6 +1,6 @@
1
1
 
2
2
  [dev]
3
- openrewrite>=8.91.6
3
+ openrewrite>=8.92.2
4
4
  pydantic>=2.11
5
5
  pytest>=8.0.0
6
6
  pytest-cov>=4.0.0
@@ -450,16 +450,33 @@ class TestPep585CornerCases:
450
450
  a: "List" = []
451
451
  b: "List[int]" = []
452
452
  c: "Dict[str, List[int]]" = {}
453
- d: " List[int] " = []
454
- e: "dict[Café, List[int]]" = {}
453
+ d: "dict[Café, List[int]]" = {}
455
454
  """,
456
455
  """
457
456
  from typing import Dict
458
457
  a: "list" = []
459
458
  b: "list[int]" = []
460
459
  c: "Dict[str, list[int]]" = {}
461
- d: " list[int] " = []
462
- e: "dict[Café, list[int]]" = {}
460
+ d: "dict[Café, list[int]]" = {}
461
+ """,
462
+ )
463
+ )
464
+
465
+ @pytest.mark.xfail(
466
+ strict=True,
467
+ reason="openrewrite/rewrite: a quoted body whose printed form differs from "
468
+ "its source is left whole, so the alias in it is out of reach",
469
+ )
470
+ def test_renames_inside_a_quoted_annotation_with_a_leading_space(self):
471
+ spec = RecipeSpec(recipe=ReplaceTypingListWithList())
472
+ spec.rewrite_run(
473
+ python(
474
+ """
475
+ from typing import List
476
+ x: " List[int]" = None
477
+ """,
478
+ """
479
+ x: " list[int]" = None
463
480
  """,
464
481
  )
465
482
  )