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.
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/PKG-INFO +3 -5
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/pyproject.toml +5 -7
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/typing_deprecations.py +5 -42
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/PKG-INFO +3 -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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_deprecations.py +21 -4
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/setup.cfg +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/__init__.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/__init__.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/_reindent.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_code_quality_python/codequality/_trivia.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/__init__.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/__init__.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_from_imports.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_import_hygiene.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_langchain_tables.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_markers.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_slots.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/_typing_imports.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/aifc_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/array_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/ast_deprecations.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/asyncio_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/avro_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/calendar_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/cgi_migrations.py +0 -0
- {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
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/configparser_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/datetime_utc.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/distutils_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/distutils_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/functools_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/future_imports.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/gettext_deprecations.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/imp_migrations.py +0 -0
- {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
- {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
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/locale_deprecations.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/macpath_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/mailcap_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/nntplib_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/os_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pathlib_deprecations.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pipes_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pkgutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/platform_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pydantic_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/pydantic_fields.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/re_deprecations.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/shutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/socket_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/ssl_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/string_formatting.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/sys_deprecations.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/tarfile_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/telnetlib_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/tempfile_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/threading_deprecations.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/typing_callable.py +0 -0
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/unittest_deprecations.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/urllib_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/uu_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/xdrlib_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python/migrate/xml_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/src/openrewrite_migrate_python.egg-info/SOURCES.txt +0 -0
- {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
- {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
- {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
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_aifc_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_array_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_ast_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_asyncio_coroutine_to_async.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_asyncio_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_avro_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_calendar_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_cgi_parse_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_change_import_recipes.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_collections_abc_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_configparser_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_datetime_utc.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_distutils_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_distutils_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_functools_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_future_imports.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_gettext_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_html_parser_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_imp_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_langchain_classic_imports.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_langchain_community_imports.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_langchain_provider_imports.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_locale_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_locale_getdefaultlocale_deprecation.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_macpath_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_mailcap_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_markers.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_os_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pathlib_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pep594_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pep594_system_migrations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pkgutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_platform_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pydantic_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pydantic_fields.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_pydantic_model_fields.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_re_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_removed_modules_312.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_shutil_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_socket_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_ssl_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_string_formatting.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_sys_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_sys_last_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_tarfile_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_tempfile_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_threading_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_threading_extended.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_threading_is_alive_deprecation.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_alias_moves.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_callable.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_typing_union_to_pipe.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_unittest_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_upgrade_recipes.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_upgrade_to_pydantic.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_urllib_deprecations.py +0 -0
- {openrewrite_migrate_python-0.15.0.dev20260914170445 → openrewrite_migrate_python-0.15.0.dev20260915125004}/tests/test_xdrlib_migrations.py +0 -0
- {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.
|
|
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.
|
|
19
|
+
Requires-Python: >=3.12
|
|
22
20
|
Description-Content-Type: text/markdown
|
|
23
21
|
Provides-Extra: dev
|
|
24
|
-
Requires-Dist: openrewrite>=8.
|
|
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.
|
|
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.
|
|
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.
|
|
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 = ["
|
|
63
|
+
target-version = ["py312", "py313"]
|
|
66
64
|
|
|
67
65
|
[tool.ruff]
|
|
68
66
|
line-length = 120
|
|
69
|
-
target-version = "
|
|
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
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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.
|
|
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.
|
|
19
|
+
Requires-Python: >=3.12
|
|
22
20
|
Description-Content-Type: text/markdown
|
|
23
21
|
Provides-Extra: dev
|
|
24
|
-
Requires-Dist: openrewrite>=8.
|
|
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"
|
|
@@ -450,16 +450,33 @@ class TestPep585CornerCases:
|
|
|
450
450
|
a: "List" = []
|
|
451
451
|
b: "List[int]" = []
|
|
452
452
|
c: "Dict[str, List[int]]" = {}
|
|
453
|
-
d: "
|
|
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: "
|
|
462
|
-
|
|
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
|
)
|
|
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
|
|
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
|