openrewrite-migrate-python 0.10.0.dev20260705172720__tar.gz → 0.10.0.dev20260706165338__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 (138) hide show
  1. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/PKG-INFO +1 -1
  2. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/pyproject.toml +1 -1
  3. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_python310.py +3 -0
  4. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_python311.py +3 -0
  5. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_python312.py +3 -0
  6. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_python313.py +3 -0
  7. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_python314.py +3 -0
  8. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_python38.py +3 -0
  9. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_python39.py +3 -0
  10. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python.egg-info/PKG-INFO +1 -1
  11. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_string_formatting.py +0 -32
  12. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_upgrade_recipes.py +16 -0
  13. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/setup.cfg +0 -0
  14. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/__init__.py +0 -0
  15. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/__init__.py +0 -0
  16. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/_semantically_equal.py +0 -0
  17. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/all_branches_identical.py +0 -0
  18. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/boolean_checks_not_inverted.py +0 -0
  19. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/collapsible_if_statements.py +0 -0
  20. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/merge_identical_branches.py +0 -0
  21. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/remove_duplicate_conditions.py +0 -0
  22. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/remove_self_assignment.py +0 -0
  23. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/remove_unconditional_value_overwrite.py +0 -0
  24. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/simplify_boolean_literal.py +0 -0
  25. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_code_quality_python/codequality/simplify_redundant_logical_expression.py +0 -0
  26. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/__init__.py +0 -0
  27. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/__init__.py +0 -0
  28. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/_markers.py +0 -0
  29. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/aifc_migrations.py +0 -0
  30. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/array_deprecations.py +0 -0
  31. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/ast_deprecations.py +0 -0
  32. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/asyncio_coroutine_to_async.py +0 -0
  33. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/asyncio_deprecations.py +0 -0
  34. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/calendar_deprecations.py +0 -0
  35. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/cgi_migrations.py +0 -0
  36. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/cgi_parse_deprecations.py +0 -0
  37. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/collections_abc_migrations.py +0 -0
  38. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/configparser_deprecations.py +0 -0
  39. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/datetime_utc.py +0 -0
  40. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/distutils_deprecations.py +0 -0
  41. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/distutils_migrations.py +0 -0
  42. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/functools_deprecations.py +0 -0
  43. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/future_imports.py +0 -0
  44. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/gettext_deprecations.py +0 -0
  45. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/html_parser_deprecations.py +0 -0
  46. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/imp_migrations.py +0 -0
  47. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/langchain_classic_imports.py +0 -0
  48. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/langchain_community_imports.py +0 -0
  49. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/langchain_provider_imports.py +0 -0
  50. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/locale_deprecations.py +0 -0
  51. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/locale_getdefaultlocale_deprecation.py +0 -0
  52. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/macpath_deprecations.py +0 -0
  53. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/mailcap_migrations.py +0 -0
  54. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/nntplib_migrations.py +0 -0
  55. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/os_deprecations.py +0 -0
  56. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/pathlib_deprecations.py +0 -0
  57. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/pep594_system_migrations.py +0 -0
  58. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/pipes_migrations.py +0 -0
  59. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/pkgutil_deprecations.py +0 -0
  60. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/platform_deprecations.py +0 -0
  61. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/pydantic_deprecations.py +0 -0
  62. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/pydantic_fields.py +0 -0
  63. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/pydantic_model_fields.py +0 -0
  64. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/re_deprecations.py +0 -0
  65. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/removed_modules_312.py +0 -0
  66. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/shutil_deprecations.py +0 -0
  67. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/socket_deprecations.py +0 -0
  68. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/ssl_deprecations.py +0 -0
  69. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/string_formatting.py +0 -0
  70. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/sys_deprecations.py +0 -0
  71. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/sys_last_deprecations.py +0 -0
  72. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/tarfile_deprecations.py +0 -0
  73. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/telnetlib_migrations.py +0 -0
  74. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/tempfile_deprecations.py +0 -0
  75. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/threading_deprecations.py +0 -0
  76. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/threading_is_alive_deprecation.py +0 -0
  77. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/typing_callable.py +0 -0
  78. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/typing_deprecations.py +0 -0
  79. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/typing_union_to_pipe.py +0 -0
  80. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/unittest_deprecations.py +0 -0
  81. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_langchain02.py +0 -0
  82. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_langchain1.py +0 -0
  83. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/upgrade_to_pydantic.py +0 -0
  84. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/urllib_deprecations.py +0 -0
  85. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/uu_migrations.py +0 -0
  86. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/xdrlib_migrations.py +0 -0
  87. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python/migrate/xml_deprecations.py +0 -0
  88. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python.egg-info/SOURCES.txt +0 -0
  89. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python.egg-info/dependency_links.txt +0 -0
  90. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python.egg-info/entry_points.txt +0 -0
  91. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python.egg-info/requires.txt +0 -0
  92. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/src/openrewrite_migrate_python.egg-info/top_level.txt +0 -0
  93. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_aifc_migrations.py +0 -0
  94. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_array_deprecations.py +0 -0
  95. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_ast_deprecations.py +0 -0
  96. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_asyncio_coroutine_to_async.py +0 -0
  97. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_asyncio_deprecations.py +0 -0
  98. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_calendar_deprecations.py +0 -0
  99. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_cgi_parse_deprecations.py +0 -0
  100. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_change_import_recipes.py +0 -0
  101. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_collections_abc_migrations.py +0 -0
  102. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_configparser_deprecations.py +0 -0
  103. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_datetime_utc.py +0 -0
  104. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_distutils_deprecations.py +0 -0
  105. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_future_imports.py +0 -0
  106. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_gettext_deprecations.py +0 -0
  107. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_html_parser_deprecations.py +0 -0
  108. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_imp_migrations.py +0 -0
  109. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_langchain_classic_imports.py +0 -0
  110. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_langchain_community_imports.py +0 -0
  111. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_langchain_provider_imports.py +0 -0
  112. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_locale_deprecations.py +0 -0
  113. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_locale_getdefaultlocale_deprecation.py +0 -0
  114. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_macpath_deprecations.py +0 -0
  115. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_os_deprecations.py +0 -0
  116. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_pep594_migrations.py +0 -0
  117. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_pep594_system_migrations.py +0 -0
  118. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_pkgutil_deprecations.py +0 -0
  119. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_platform_deprecations.py +0 -0
  120. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_pydantic_deprecations.py +0 -0
  121. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_pydantic_fields.py +0 -0
  122. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_pydantic_model_fields.py +0 -0
  123. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_re_deprecations.py +0 -0
  124. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_removed_modules_312.py +0 -0
  125. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_shutil_deprecations.py +0 -0
  126. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_ssl_deprecations.py +0 -0
  127. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_sys_deprecations.py +0 -0
  128. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_sys_last_deprecations.py +0 -0
  129. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_tarfile_deprecations.py +0 -0
  130. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_threading_deprecations.py +0 -0
  131. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_threading_extended.py +0 -0
  132. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_threading_is_alive_deprecation.py +0 -0
  133. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_typing_callable.py +0 -0
  134. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_typing_deprecations.py +0 -0
  135. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_typing_union_to_pipe.py +0 -0
  136. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_unittest_deprecations.py +0 -0
  137. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/tests/test_upgrade_to_pydantic.py +0 -0
  138. {openrewrite_migrate_python-0.10.0.dev20260705172720 → openrewrite_migrate_python-0.10.0.dev20260706165338}/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.10.0.dev20260705172720
3
+ Version: 0.10.0.dev20260706165338
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
@@ -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.10.0.dev20260705172720" # Updated dynamically during release
8
+ version = "0.10.0.dev20260706165338" # 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"
@@ -6,6 +6,7 @@ from rewrite import Recipe
6
6
  from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
9
10
 
10
11
  # Define category path: Python > Migrate
11
12
  _Migrate = [*Python, CategoryDescriptor(display_name="Migrate")]
@@ -88,4 +89,6 @@ class UpgradeToPython310(Recipe):
88
89
  ReplaceThreadSetName(),
89
90
  ReplaceThreadIsDaemon(),
90
91
  ReplaceThreadSetDaemon(),
92
+ # Update project metadata, packaging, and Dockerfiles to the target version
93
+ RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo310"),
91
94
  ]
@@ -6,6 +6,7 @@ from rewrite import Recipe
6
6
  from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
9
10
  from rewrite.python.recipes import ChangeImport
10
11
 
11
12
  # Define category path: Python > Migrate
@@ -89,4 +90,6 @@ class UpgradeToPython311(Recipe):
89
90
  FindLocaleGetdefaultlocale(),
90
91
  # re.template() -> re.compile(), re.TEMPLATE deprecated in 3.11
91
92
  ReplaceReTemplate(),
93
+ # Update project metadata, packaging, and Dockerfiles to the target version
94
+ RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo311"),
92
95
  ]
@@ -6,6 +6,7 @@ from rewrite import Recipe
6
6
  from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
9
10
  from rewrite.python.recipes import ChangeImport
10
11
 
11
12
  # Define category path: Python > Migrate
@@ -98,4 +99,6 @@ class UpgradeToPython312(Recipe):
98
99
  FindShutilRmtreeOnerror(),
99
100
  # sys.last_type/last_value/last_traceback -> sys.last_exc
100
101
  ReplaceSysLastExcInfo(),
102
+ # Update project metadata, packaging, and Dockerfiles to the target version
103
+ RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo312"),
101
104
  ]
@@ -6,6 +6,7 @@ from rewrite import Recipe
6
6
  from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
9
10
 
10
11
  # Define category path: Python > Migrate
11
12
  _Migrate = [*Python, CategoryDescriptor(display_name="Migrate")]
@@ -106,4 +107,6 @@ class UpgradeToPython313(Recipe):
106
107
  FindTelnetlibModule(),
107
108
  FindUuModule(),
108
109
  FindXdrlibModule(),
110
+ # Update project metadata, packaging, and Dockerfiles to the target version
111
+ RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo313"),
109
112
  ]
@@ -6,6 +6,7 @@ from rewrite import Recipe
6
6
  from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
9
10
 
10
11
  # Define category path: Python > Migrate
11
12
  _Migrate = [*Python, CategoryDescriptor(display_name="Migrate")]
@@ -84,4 +85,6 @@ class UpgradeToPython314(Recipe):
84
85
  # urllib.parse split functions removed
85
86
  FindUrllibParseSplitFunctions(),
86
87
  FindUrllibParseToBytes(),
88
+ # Update project metadata, packaging, and Dockerfiles to the target version
89
+ RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo314"),
87
90
  ]
@@ -6,6 +6,7 @@ from rewrite import Recipe
6
6
  from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
9
10
  from rewrite.python.recipes import ChangeImport
10
11
 
11
12
  # Define category path: Python > Migrate
@@ -92,4 +93,6 @@ class UpgradeToPython38(Recipe):
92
93
  FindFunctoolsCmpToKey(),
93
94
  # Remove obsolete __future__ imports
94
95
  RemoveFutureImports(),
96
+ # Update project metadata, packaging, and Dockerfiles to the target version
97
+ RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo38"),
95
98
  ]
@@ -6,6 +6,7 @@ from rewrite import Recipe
6
6
  from rewrite.category import CategoryDescriptor
7
7
  from rewrite.decorators import categorize
8
8
  from rewrite.marketplace import Python
9
+ from rewrite.rpc import RpcRecipe
9
10
  from rewrite.python.recipes import ChangeImport
10
11
 
11
12
  # Define category path: Python > Migrate
@@ -122,4 +123,6 @@ class UpgradeToPython39(Recipe):
122
123
  ReplaceThreadIsAlive(),
123
124
  # HTMLParser.unescape() -> html.unescape() (removed in 3.9)
124
125
  ReplaceHtmlParserUnescape(),
126
+ # Update project metadata, packaging, and Dockerfiles to the target version
127
+ RpcRecipe("org.openrewrite.python.migrate.UpgradePythonVersionTo39"),
125
128
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrewrite-migrate-python
3
- Version: 0.10.0.dev20260705172720
3
+ Version: 0.10.0.dev20260706165338
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
@@ -6,7 +6,6 @@ from openrewrite_migrate_python.migrate.string_formatting import (
6
6
  ReplacePercentFormatWithFString,
7
7
  ReplaceStrFormatWithFString,
8
8
  )
9
- from openrewrite_migrate_python.migrate.upgrade_to_python38 import UpgradeToPython38
10
9
 
11
10
  def _assert_idempotent(recipe: Recipe):
12
11
  """Return an after_recipe callback that asserts running the recipe again produces no change."""
@@ -382,34 +381,3 @@ class TestReplacePercentFormatWithFString:
382
381
  after_recipe=_assert_idempotent(recipe),
383
382
  )
384
383
  )
385
-
386
- class TestUpgradeToPython38StringFormatting:
387
- """Test that string formatting recipes cooperate in UpgradeToPython38."""
388
-
389
- def test_convertible_format_is_replaced(self):
390
- """Convertible .format() becomes an f-string."""
391
- spec = RecipeSpec(recipe=UpgradeToPython38())
392
- spec.rewrite_run(
393
- python(
394
- """
395
- message = "Hello {}".format(name)
396
- """,
397
- """
398
- message = f"Hello {name}"
399
- """,
400
- )
401
- )
402
-
403
- def test_convertible_percent_is_replaced(self):
404
- """Convertible %-formatting becomes an f-string."""
405
- spec = RecipeSpec(recipe=UpgradeToPython38())
406
- spec.rewrite_run(
407
- python(
408
- """
409
- message = "Hello %s" % name
410
- """,
411
- """
412
- message = f"Hello {name}"
413
- """,
414
- )
415
- )
@@ -79,6 +79,22 @@ class TestUpgradeRecipeChaining:
79
79
  assert "org.openrewrite.python.migrate.UpgradeToPython39" in all_names
80
80
  assert "org.openrewrite.python.migrate.UpgradeToPython38" in all_names
81
81
 
82
+ def test_each_composite_calls_its_file_upgrade_recipe(self):
83
+ """Each composite must call the Java project-file recipe for its own version."""
84
+ cases = [
85
+ (UpgradeToPython38, "38"),
86
+ (UpgradeToPython39, "39"),
87
+ (UpgradeToPython310, "310"),
88
+ (UpgradeToPython311, "311"),
89
+ (UpgradeToPython312, "312"),
90
+ (UpgradeToPython313, "313"),
91
+ (UpgradeToPython314, "314"),
92
+ ]
93
+ for recipe_cls, suffix in cases:
94
+ names = [r.name for r in recipe_cls().recipe_list()]
95
+ expected = f"org.openrewrite.python.migrate.UpgradePythonVersionTo{suffix}"
96
+ assert expected in names, f"{recipe_cls.__name__} must call {expected}"
97
+
82
98
  class TestUpgradeRecipeMetadata:
83
99
  """Tests for upgrade recipe metadata."""
84
100