Upgrading mypy 0.610 to 0.620
Unknown0.610 → 0.620
Fetching 1 release from GitHub…0 / 1
UnknownUpgrade verdict
DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.
In plain terms
- DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
- This page updates as the notes come in.
Must act Still reading release notes
DepDelta is still reading the release notes in this range. This updates as they come in.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
function compute_lib_path(sources: List[BuildSource], options: Options, data_dir: str, alt_lib_path: Optional[str]=…) -> List[str] - removed:
function getmtime(name: str) -> int - removed:
variable MYPY - changed:
constructor BuildManager(data_dir: str, lib_path: List[str], ignore_prefix: str, source_set: BuildSourceSet, reports: Reports, options: Options, version_id: str, plugin: Plugin, errors: Errors, flush_errors: Callable[[List[str], bool], None], fscache: FileSystemCache) -> None → constructor BuildManager(data_dir: str, search_paths: SearchPaths, ignore_prefix: str, source_set: BuildSourceSet, reports: Reports, options: Options, version_id: str, plugin: Plugin, errors: Errors, flush_errors: Callable[[List[str], bool], None], fscache: FileSystemCache) -> None - changed:
constructor State(id: Optional[str], path: Optional[str], source: Optional[str], manager: BuildManager, caller_state: Optional[State]=…, caller_line: int=…, ancestor_for: Optional[State]=…, root_source: bool=…) -> None → constructor State(id: Optional[str], path: Optional[str], source: Optional[str], manager: BuildManager, caller_state: Optional[State]=…, caller_line: int=…, ancestor_for: Optional[State]=…, root_source: bool=…, temporary: bool=…) -> None - changed:
function find_module_and_diagnose(manager: BuildManager, id: str, options: Options, caller_state: Optional[State]=…, caller_line: int=…, ancestor_for: Optional[State]=…, root_source: bool=…) -> Tuple[str, str] → function find_module_and_diagnose(manager: BuildManager, id: str, options: Options, caller_state: Optional[State]=…, caller_line: int=…, ancestor_for: Optional[State]=…, root_source: bool=…, skip_diagnose: bool=…) -> Tuple[str, str] - changed:
method FindModuleCache.find_lib_path_dirs(dir_chain: str, lib_path: Tuple[str, ...]) -> List[str] → method FindModuleCache.find_lib_path_dirs(dir_chain: str, lib_path: Tuple[str, ...]) -> PackageDirs - changed:
method FindModuleCache.find_module(id: str, lib_path: Tuple[str, ...], python_executable: Optional[str]) -> Optional[str] → method FindModuleCache.find_module(id: str, search_paths: SearchPaths, python_executable: Optional[str]) -> Optional[str] - changed:
method FindModuleCache.find_modules_recursive(module: str, lib_path: Tuple[str, ...], python_executable: Optional[str]) -> List[BuildSource] → method FindModuleCache.find_modules_recursive(module: str, search_paths: SearchPaths, python_executable: Optional[str]) -> List[BuildSource] - changed:
method State.load_tree() -> None → method State.load_tree(temporary: bool=…) -> None - added:
function compute_search_paths(sources: List[BuildSource], options: Options, data_dir: str, fscache: FileSystemCache, alt_lib_path: Optional[str]=…) -> SearchPaths - added:
function in_partial_package(id: str, manager: BuildManager) -> bool - added:
method BuildManager.getmtime(path: str) -> int - added:
method BuildManager.normpath(path: str) -> str - added:
variable PackageDirs - added:
variable SearchPaths
- removed:
function is_unsafe_overlapping_signatures(signature: Type, other: Type) -> bool - removed:
function unify_generic_callables(t: CallableType, s: CallableType) -> Tuple[CallableType, CallableType] - changed:
method TypeChecker.check_override(override: FunctionLike, original: FunctionLike, name: str, name_in_super: str, supertype: str, node: Context) -> None → method TypeChecker.check_override(override: FunctionLike, original: FunctionLike, name: str, name_in_super: str, supertype: str, original_class_or_static: bool, override_class_or_static: bool, node: Context) -> None - added:
function are_argument_counts_overlapping(t: CallableType, s: CallableType) -> bool - added:
function is_unsafe_overlapping_operator_signatures(signature: Type, other: Type) -> bool - added:
function is_unsafe_overlapping_overload_signatures(signature: CallableType, other: CallableType) -> bool - added:
function overload_can_never_match(signature: CallableType, other: CallableType) -> bool
- removed:
function any_arg_causes_overload_ambiguity(items: List[CallableType], arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]]) -> bool - removed:
method ExpressionChecker.overload_call_target(arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], overload: Overloaded, context: Context, messages: Optional[MessageBuilder]=…) -> Type - added:
class TooManyUnions(Exception) - added:
function any_causes_overload_ambiguity(items: List[CallableType], return_types: List[Type], arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]]) -> bool - added:
function merge_typevars_in_callables_by_name(callables: List[CallableType]) -> Tuple[List[CallableType], List[TypeVarDef]] - added:
method ExpressionChecker.alias_type_in_runtime_context(target: Type, alias_tvars: List[str], no_args: bool, ctx: Context, *, alias_definition: bool=…) -> Type - added:
method ExpressionChecker.apply_type_arguments_to_callable(tp: Type, args: List[Type], ctx: Context) -> Type - added:
method ExpressionChecker.check_overload_call(callee: Overloaded, args: List[Expression], arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], callable_name: Optional[str], object_type: Optional[Type], context: Context, arg_messages: MessageBuilder) -> Tuple[Type, Type] - added:
method ExpressionChecker.infer_overload_return_type(plausible_targets: List[CallableType], args: List[Expression], arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], callable_name: Optional[str], object_type: Optional[Type], context: Context, arg_messages: Optional[MessageBuilder]=…) -> Optional[Tuple[Type, Type]] - added:
method ExpressionChecker.overload_erased_call_targets(plausible_targets: List[CallableType], arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], context: Context) -> List[CallableType] - added:
method ExpressionChecker.plausible_overload_call_targets(arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], overload: Overloaded) -> List[CallableType] - added:
method ExpressionChecker.real_union(typ: Type) -> bool - added:
method ExpressionChecker.type_overrides_set(exprs: Sequence[Expression], overrides: Sequence[Type]) -> Iterator[None] - added:
method ExpressionChecker.union_overload_matches(types: Sequence[Type]) -> Union[AnyType, CallableType] - added:
method ExpressionChecker.union_overload_result(plausible_targets: List[CallableType], args: List[Expression], arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], callable_name: Optional[str], object_type: Optional[Type], context: Context, arg_messages: Optional[MessageBuilder]=…, level: int=…) -> Optional[List[Tuple[Type, Type]]] - added:
variable MAX_UNIONS
- added:
function instance_alias_type(alias: TypeAlias, builtin_type: Callable[[str], Instance]) -> Type
- added:
function compile_format_re() -> Pattern[str] - added:
variable FORMAT_RE
- added:
method NodeFixer.visit_type_alias(a: TypeAlias) -> None
- added:
method FileSystemCache.init_under_package_root(path: str) -> bool - added:
method FileSystemCache.set_package_root(package_root: List[str]) -> None
- added:
function process_cache_map(parser: argparse.ArgumentParser, special_opts: argparse.Namespace, options: Options) -> None - added:
function process_package_roots(fscache: Optional[FileSystemCache], parser: argparse.ArgumentParser, options: Options) -> None
- added:
function is_partially_overlapping_types(t: Type, s: Type) -> bool - added:
method TypeMeetVisitor.visit_overloaded(t: Overloaded) -> Type
- changed:
function plural_s(s: Sequence[Any]) -> str → function plural_s(s: Union[int, Sequence[Any]]) -> str - changed:
method MessageBuilder.no_variant_matches_arguments(overload: Overloaded, arg_types: List[Type], context: Context) -> None → method MessageBuilder.no_variant_matches_arguments(plausible_targets: List[CallableType], overload: Overloaded, arg_types: List[Type], context: Context) -> None - changed:
method MessageBuilder.overloaded_signatures_arg_specific(index1: int, context: Context) -> None → method MessageBuilder.overloaded_signatures_arg_specific(index: int, context: Context) -> None - changed:
method MessageBuilder.overloaded_signatures_ret_specific(index1: int, context: Context) -> None → method MessageBuilder.overloaded_signatures_ret_specific(index: int, context: Context) -> None - added:
method MessageBuilder.alias_invalid_in_runtime_context(item: Type, ctx: Context) -> None - added:
method MessageBuilder.clean_copy() -> MessageBuilder - added:
method MessageBuilder.overload_inconsistently_applies_decorator(decorator: str, context: Context) -> None - added:
method MessageBuilder.overloaded_signature_will_never_match(index1: int, index2: int, context: Context) -> None - added:
method MessageBuilder.overloaded_signatures_typevar_specific(index: int, context: Context) -> None - added:
method MessageBuilder.pretty_overload_matches(targets: List[CallableType], func: Overloaded, context: Context, offset: int, max_items: int) -> None
- removed:
field TypeAliasExpr.fallback - removed:
field TypeAliasExpr.in_runtime - removed:
static method NameExpr.deserialize(data: JsonDict) -> NameExpr - removed:
variable TYPE_ALIAS - removed:
variable collections_type_aliases - removed:
variable reverse_collection_aliases - removed:
variable reverse_type_aliases - changed:
constructor SymbolTableNode(kind: int, node: Optional[SymbolNode], typ: Optional[mypy.types.Type]=…, module_public: bool=…, normalized: bool=…, alias_tvars: Optional[List[str]]=…, implicit: bool=…, module_hidden: bool=…, *, no_serialize: bool=…) -> None → constructor SymbolTableNode(kind: int, node: Optional[SymbolNode], module_public: bool=…, implicit: bool=…, module_hidden: bool=…, *, no_serialize: bool=…) -> None - changed:
constructor TypeAliasExpr(type: mypy.types.Type, tvars: List[str], fallback: mypy.types.Type, in_runtime: bool=…) -> None → constructor TypeAliasExpr(type: mypy.types.Type, tvars: List[str], no_args: bool) -> None - added:
class TypeAlias(SymbolNode) - added:
constructor TypeAlias(target: mypy.types.Type, fullname: str, line: int, column: int, *, alias_tvars: Optional[List[str]]=…, no_args: bool=…, normalized: bool=…) -> None - added:
field ForStmt.unanalyzed_index_type - added:
field MypyFile.is_partial_stub_package - added:
field TypeAliasExpr.no_args - added:
field TypeAliasExpr.tvars - added:
method TypeAlias.accept(visitor: NodeVisitor[T]) -> T - added:
method TypeAlias.fullname() -> str - added:
method TypeAlias.name() -> str - added:
method TypeAlias.serialize() -> JsonDict - added:
static method TypeAlias.deserialize(data: JsonDict) -> TypeAlias - added:
variable FUNCBASE_FLAGS - added:
variable reverse_builtin_aliases
- changed:
method SemanticAnalyzerPluginInterface.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…, third_pass: bool=…) -> Type → method SemanticAnalyzerPluginInterface.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, third_pass: bool=…) -> Type
- added:
class DataclassAttribute - added:
class DataclassTransformer - added:
constructor DataclassAttribute(name: str, is_in_init: bool, is_init_var: bool, has_default: bool, line: int, column: int) -> None - added:
constructor DataclassTransformer(ctx: ClassDefContext) -> None - added:
function dataclass_class_maker_callback(ctx: ClassDefContext) -> None - added:
method DataclassAttribute.serialize() -> JsonDict - added:
method DataclassAttribute.to_argument(info: TypeInfo) -> Argument - added:
method DataclassAttribute.to_var(info: TypeInfo) -> Var - added:
method DataclassTransformer.collect_attributes() -> List[DataclassAttribute] - added:
method DataclassTransformer.transform() -> None - added:
static method DataclassAttribute.deserialize(info: TypeInfo, data: JsonDict) -> DataclassAttribute - added:
variable dataclass_makers
- removed:
field SemanticAnalyzerPass2.lib_path - removed:
method SemanticAnalyzerPass2.add_symbol_alias_deps(n: Optional[SymbolTableNode]) -> None - removed:
method SemanticAnalyzerPass2.alias_fallback(tp: Type) -> Instance - removed:
method SemanticAnalyzerPass2.normalize_type_alias(node: SymbolTableNode, ctx: Context) -> Optional[SymbolTableNode] - changed:
constructor SemanticAnalyzerPass2(modules: Dict[str, MypyFile], missing_modules: Set[str], lib_path: List[str], errors: Errors, plugin: Plugin) -> None → constructor SemanticAnalyzerPass2(modules: Dict[str, MypyFile], missing_modules: Set[str], errors: Errors, plugin: Plugin) -> None - changed:
method SemanticAnalyzerPass2.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…, third_pass: bool=…) -> Type → method SemanticAnalyzerPass2.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, third_pass: bool=…) -> Type - changed:
method SemanticAnalyzerPass2.analyze_alias(rvalue: Expression, warn_bound_tvar: bool=…) -> Tuple[Optional[Type], List[str], Set[str], List[str]] → method SemanticAnalyzerPass2.analyze_alias(rvalue: Expression) -> Tuple[Optional[Type], List[str], Set[str], List[str]] - changed:
method SemanticAnalyzerPass2.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…, third_pass: bool=…) -> TypeAnalyser → method SemanticAnalyzerPass2.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, third_pass: bool=…) -> TypeAnalyser - added:
method SemanticAnalyzerPass2.add_builtin_aliases(tree: MypyFile) -> None - added:
method SemanticAnalyzerPass2.allow_patching(parent_mod: MypyFile, child: str) -> bool - added:
method SemanticAnalyzerPass2.create_getattr_var(getattr_defn: SymbolTableNode, name: str, fullname: str) -> Optional[SymbolTableNode]
- changed:
method SemanticAnalyzerPass3.analyze(type: Optional[Type], node: Union[Node, SymbolTableNode], warn: bool=…) -> None → method SemanticAnalyzerPass3.analyze(type: Optional[Type], node: Node, warn: bool=…) -> None - changed:
method SemanticAnalyzerPass3.generate_type_patches(node: Union[Node, SymbolTableNode], indicator: Dict[str, bool], warn: bool) -> None → method SemanticAnalyzerPass3.generate_type_patches(node: Node, indicator: Dict[str, bool], warn: bool) -> None - changed:
method SemanticAnalyzerPass3.perform_transform(node: Union[Node, SymbolTableNode], transform: Callable[[Type], Type]) -> None → method SemanticAnalyzerPass3.perform_transform(node: Node, transform: Callable[[Type], Type]) -> None
- changed:
method SemanticAnalyzerInterface.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…, third_pass: bool=…) -> Type → method SemanticAnalyzerInterface.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, third_pass: bool=…) -> Type
- removed:
function is_callable_subtype(left: CallableType, right: CallableType, ignore_return: bool=…, ignore_pos_arg_names: bool=…, use_proper_subtype: bool=…) -> bool - changed:
function are_args_compatible(left: FormalArgument, right: FormalArgument, ignore_pos_arg_names: bool, use_proper_subtype: bool) -> bool → function are_args_compatible(left: FormalArgument, right: FormalArgument, ignore_pos_arg_names: bool, allow_partial_overlap: bool, is_compat: Callable[[Type, Type], bool]) -> bool - changed:
function unify_generic_callable(type: CallableType, target: CallableType, ignore_return: bool) -> Optional[CallableType] → function unify_generic_callable(type: CallableType, target: CallableType, ignore_return: bool, return_constraint_direction: int=…) -> Optional[CallableType] - added:
function flip_compat_check(is_compat: Callable[[Type, Type], bool]) -> Callable[[Type, Type], bool] - added:
function is_callable_compatible(left: CallableType, right: CallableType, *, is_compat: Callable[[Type, Type], bool], is_compat_return: Optional[Callable[[Type, Type], bool]]=…, ignore_return: bool=…, ignore_pos_arg_names: bool=…, check_args_covariantly: bool=…, allow_partial_overlap: bool=…) -> bool
- changed:
constructor TypeAnalyser(api: SemanticAnalyzerCoreInterface, tvar_scope: Optional[TypeVarScope], plugin: Plugin, options: Options, is_typeshed_stub: bool, *, aliasing: bool=…, allow_tuple_literal: bool=…, allow_unnormalized: bool=…, third_pass: bool=…, warn_bound_tvar: bool=…) -> None → constructor TypeAnalyser(api: SemanticAnalyzerCoreInterface, tvar_scope: Optional[TypeVarScope], plugin: Plugin, options: Options, is_typeshed_stub: bool, *, defining_alias: bool=…, allow_tuple_literal: bool=…, allow_unnormalized: bool=…, allow_unbound_tvars: bool=…, third_pass: bool=…) -> None - changed:
function analyze_type_alias(node: Expression, api: SemanticAnalyzerCoreInterface, tvar_scope: TypeVarScope, plugin: Plugin, options: Options, is_typeshed_stub: bool, allow_unnormalized: bool=…, in_dynamic_func: bool=…, global_scope: bool=…, warn_bound_tvar: bool=…) -> Optional[Tuple[Type, Set[str]]] → function analyze_type_alias(node: Expression, api: SemanticAnalyzerCoreInterface, tvar_scope: TypeVarScope, plugin: Plugin, options: Options, is_typeshed_stub: bool, allow_unnormalized: bool=…, in_dynamic_func: bool=…, global_scope: bool=…) -> Optional[Tuple[Type, Set[str]]] - added:
function expand_type_alias(target: Type, alias_tvars: List[str], args: List[Type], fail: Callable[[str, Context], None], no_args: bool, ctx: Context) -> Type
- changed:
method CallableType.copy_modified(arg_types: List[Type]=…, arg_kinds: List[int]=…, arg_names: List[Optional[str]]=…, ret_type: Type=…, fallback: Instance=…, name: Optional[str]=…, definition: SymbolNode=…, variables: List[TypeVarDef]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: List[Optional[Type]]=…, def_extras: Dict[s… → method CallableType.copy_modified(arg_types: List[Type]=…, arg_kinds: List[int]=…, arg_names: List[Optional[str]]=…, ret_type: Type=…, fallback: Instance=…, name: Optional[str]=…, definition: SymbolNode=…, variables: List[TypeVarDef]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, implicit: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: List[Optional[Type]]=…,… - added:
method CallableType.formal_arguments(include_star_args: bool=…) -> Iterator[FormalArgument] - added:
method CallableType.max_possible_positional_args() -> int - added:
method CallableType.try_synthesizing_arg_from_kwarg(name: Optional[str]) -> Optional[FormalArgument] - added:
method CallableType.try_synthesizing_arg_from_vararg(position: Optional[int]) -> Optional[FormalArgument] - added:
property CallableType.is_kw_arg -> bool - added:
property CallableType.is_var_arg -> bool
- added:
function is_sub_path(path1: str, path2: str) -> bool
- added:
method NodeVisitor.visit_type_alias(o: mypy.nodes.TypeAlias) -> T