openrewrite-migrate-python 0.10.0.dev20260714172736__tar.gz → 0.10.0.dev20260715110523__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.
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/PKG-INFO +1 -1
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/pyproject.toml +1 -1
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/__init__.py +2 -0
- openrewrite_migrate_python-0.10.0.dev20260715110523/src/openrewrite_migrate_python/migrate/avro_migrations.py +53 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_python313.py +8 -1
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python.egg-info/PKG-INFO +1 -1
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python.egg-info/SOURCES.txt +2 -0
- openrewrite_migrate_python-0.10.0.dev20260715110523/tests/test_avro_migrations.py +32 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_upgrade_recipes.py +12 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/setup.cfg +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/__init__.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/__init__.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/_semantically_equal.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/all_branches_identical.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/boolean_checks_not_inverted.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/collapsible_if_statements.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/merge_identical_branches.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/remove_duplicate_conditions.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/remove_self_assignment.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/remove_unconditional_value_overwrite.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/simplify_boolean_literal.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_code_quality_python/codequality/simplify_redundant_logical_expression.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/__init__.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/_markers.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/aifc_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/array_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/ast_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/asyncio_coroutine_to_async.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/asyncio_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/calendar_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/cgi_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/cgi_parse_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/collections_abc_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/configparser_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/datetime_utc.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/distutils_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/distutils_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/functools_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/future_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/gettext_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/html_parser_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/imp_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/langchain_classic_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/langchain_community_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/langchain_provider_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/locale_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/locale_getdefaultlocale_deprecation.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/macpath_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/mailcap_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/nntplib_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/os_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/pathlib_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/pep594_system_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/pipes_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/pkgutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/platform_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/pydantic_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/pydantic_fields.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/pydantic_model_fields.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/re_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/removed_modules_312.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/shutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/socket_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/ssl_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/string_formatting.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/sys_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/sys_last_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/tarfile_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/telnetlib_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/tempfile_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/threading_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/threading_is_alive_deprecation.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/typing_callable.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/typing_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/typing_union_to_pipe.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/unittest_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_langchain02.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_langchain1.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_pydantic.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_python310.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_python311.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_python312.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_python314.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_python38.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/upgrade_to_python39.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/urllib_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/uu_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/xdrlib_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python/migrate/xml_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python.egg-info/dependency_links.txt +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python.egg-info/entry_points.txt +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python.egg-info/requires.txt +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/src/openrewrite_migrate_python.egg-info/top_level.txt +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_aifc_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_array_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_ast_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_asyncio_coroutine_to_async.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_asyncio_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_calendar_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_cgi_parse_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_change_import_recipes.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_collections_abc_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_configparser_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_datetime_utc.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_distutils_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_future_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_gettext_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_html_parser_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_imp_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_langchain_classic_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_langchain_community_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_langchain_provider_imports.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_locale_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_locale_getdefaultlocale_deprecation.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_macpath_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_os_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_pep594_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_pep594_system_migrations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_pkgutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_platform_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_pydantic_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_pydantic_fields.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_pydantic_model_fields.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_re_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_removed_modules_312.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_shutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_ssl_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_string_formatting.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_sys_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_sys_last_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_tarfile_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_threading_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_threading_extended.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_threading_is_alive_deprecation.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_typing_callable.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_typing_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_typing_union_to_pipe.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_unittest_deprecations.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/tests/test_upgrade_to_pydantic.py +0 -0
- {openrewrite_migrate_python-0.10.0.dev20260714172736 → openrewrite_migrate_python-0.10.0.dev20260715110523}/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.
|
|
3
|
+
Version: 0.10.0.dev20260715110523
|
|
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.
|
|
8
|
+
version = "0.10.0.dev20260715110523" # 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"
|
|
@@ -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
|
+
]
|
|
@@ -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')
|
|
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(),
|
|
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"),
|
|
110
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
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openrewrite-migrate-python
|
|
3
|
-
Version: 0.10.0.
|
|
3
|
+
Version: 0.10.0.dev20260715110523
|
|
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
|
|
@@ -25,6 +25,7 @@ src/openrewrite_migrate_python/migrate/array_deprecations.py
|
|
|
25
25
|
src/openrewrite_migrate_python/migrate/ast_deprecations.py
|
|
26
26
|
src/openrewrite_migrate_python/migrate/asyncio_coroutine_to_async.py
|
|
27
27
|
src/openrewrite_migrate_python/migrate/asyncio_deprecations.py
|
|
28
|
+
src/openrewrite_migrate_python/migrate/avro_migrations.py
|
|
28
29
|
src/openrewrite_migrate_python/migrate/calendar_deprecations.py
|
|
29
30
|
src/openrewrite_migrate_python/migrate/cgi_migrations.py
|
|
30
31
|
src/openrewrite_migrate_python/migrate/cgi_parse_deprecations.py
|
|
@@ -91,6 +92,7 @@ tests/test_array_deprecations.py
|
|
|
91
92
|
tests/test_ast_deprecations.py
|
|
92
93
|
tests/test_asyncio_coroutine_to_async.py
|
|
93
94
|
tests/test_asyncio_deprecations.py
|
|
95
|
+
tests/test_avro_migrations.py
|
|
94
96
|
tests/test_calendar_deprecations.py
|
|
95
97
|
tests/test_cgi_parse_deprecations.py
|
|
96
98
|
tests/test_change_import_recipes.py
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""Tests for the avro-python3 -> avro migration recipe.
|
|
2
|
+
|
|
3
|
+
The recipe is composed of RPC-delegated recipes (``ChangeType`` and ``ChangeDependency``), which run
|
|
4
|
+
in the Moderne runtime; these tests assert the composite wires them with the correct options.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from openrewrite_migrate_python.migrate import MigrateAvroPython3ToAvro
|
|
8
|
+
from rewrite.python.recipes import ChangeType
|
|
9
|
+
from rewrite.rpc import RpcRecipe
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TestMigrateAvroPython3ToAvroStructure:
|
|
13
|
+
|
|
14
|
+
def test_change_type_rewrites_parse_reference(self):
|
|
15
|
+
recipe_list = MigrateAvroPython3ToAvro().recipe_list()
|
|
16
|
+
assert any(
|
|
17
|
+
isinstance(r, ChangeType) and
|
|
18
|
+
r.old_fully_qualified_type_name == "avro.schema.Parse" and
|
|
19
|
+
r.new_fully_qualified_type_name == "avro.schema.parse"
|
|
20
|
+
for r in recipe_list
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
def test_dependency_swap_delegates_over_rpc(self):
|
|
24
|
+
recipe_list = MigrateAvroPython3ToAvro().recipe_list()
|
|
25
|
+
rpc = [r for r in recipe_list if isinstance(r, RpcRecipe)]
|
|
26
|
+
assert len(rpc) == 1
|
|
27
|
+
assert rpc[0].name == "org.openrewrite.python.ChangeDependency"
|
|
28
|
+
assert rpc[0].delegates_to_options == {
|
|
29
|
+
"oldPackageName": "avro-python3",
|
|
30
|
+
"newPackageName": "avro",
|
|
31
|
+
"newVersion": ">=1.11.3",
|
|
32
|
+
}
|
|
@@ -9,6 +9,7 @@ from openrewrite_migrate_python.migrate import (
|
|
|
9
9
|
UpgradeToPython313,
|
|
10
10
|
UpgradeToPython314,
|
|
11
11
|
)
|
|
12
|
+
from rewrite.rpc import RpcRecipe
|
|
12
13
|
|
|
13
14
|
class TestUpgradeRecipeChaining:
|
|
14
15
|
"""Tests for verifying upgrade recipe chaining."""
|
|
@@ -79,6 +80,17 @@ class TestUpgradeRecipeChaining:
|
|
|
79
80
|
assert "org.openrewrite.python.migrate.UpgradeToPython39" in all_names
|
|
80
81
|
assert "org.openrewrite.python.migrate.UpgradeToPython38" in all_names
|
|
81
82
|
|
|
83
|
+
def test_upgrade_to_python313_bumps_incompatible_dependencies(self):
|
|
84
|
+
"""UpgradeToPython313 inlines the 3.13-incompatible dependency bumps over RPC."""
|
|
85
|
+
recipe_list = UpgradeToPython313().recipe_list()
|
|
86
|
+
dep_bumps = {
|
|
87
|
+
(r.delegates_to_options.get("packageName"), r.delegates_to_options.get("newVersion"))
|
|
88
|
+
for r in recipe_list
|
|
89
|
+
if isinstance(r, RpcRecipe) and r.name == "org.openrewrite.python.UpgradeDependencyVersion"
|
|
90
|
+
}
|
|
91
|
+
assert ("ruff", ">=0.15.21") in dep_bumps
|
|
92
|
+
assert ("avro-python3", ">=1.10.2") in dep_bumps
|
|
93
|
+
|
|
82
94
|
def test_each_composite_calls_its_file_upgrade_recipe(self):
|
|
83
95
|
"""Each composite must call the Java project-file recipe for its own version."""
|
|
84
96
|
cases = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|