Upgrading setuptools 70 to 71
Review needed70.3.0 → 71.1.0Deprecated1Changed1Fixed3Other2
Review neededUpgrade verdict
1 deprecation.
In plain terms
- setuptools now lists the libraries it needs in a 'core' extra and will use installed copies of those libraries instead of its bundled copies when available.
Must act 1 item needs code or config changes
Nothing in this upgrade needs a code or configuration change.
Deprecations to plan for
Deprecated1
setuptools now declares its own dependencies in the core extra and prefers installed dependencies over vendored ones.
coresetuptools/_vendorAPI changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
function compatible_platforms(provided: str | None, required: str | None) → function compatible_platforms(provided: str | None, required: str | None) -> bool - changed:
function declare_namespace(packageName: str) → function declare_namespace(packageName: str) -> None - changed:
function ensure_directory(path: StrOrBytesPath) → function ensure_directory(path: StrOrBytesPath) -> None - changed:
function find_distributions(path_item: str, only: bool=…) → function find_distributions(path_item: str, only: bool=…) -> Iterable[Distribution] - changed:
function fixup_namespace_packages(path_item: str, parent: str | None=…) → function fixup_namespace_packages(path_item: str, parent: str | None=…) -> None - changed:
function get_entry_info(dist: _EPDistType, group: str, name: str) → function get_entry_info(dist: _EPDistType, group: str, name: str) -> EntryPoint | None - changed:
function invalid_marker(text: str) → function invalid_marker(text: str) -> SyntaxError | Literal[False] - changed:
function parse_requirements(strs: _NestedStr) → function parse_requirements(strs: _NestedStr) -> map[Requirement] - changed:
function register_finder(importer_type: type[_T], distribution_finder: _DistFinderType[_T]) → function register_finder(importer_type: type[_T], distribution_finder: _DistFinderType[_T]) -> None - changed:
function register_loader_type(loader_type: type[_ModuleLike], provider_factory: _ProviderFactoryType) → function register_loader_type(loader_type: type[_ModuleLike], provider_factory: _ProviderFactoryType) -> None - changed:
function register_namespace_handler(importer_type: type[_T], namespace_handler: _NSHandlerType[_T]) → function register_namespace_handler(importer_type: type[_T], namespace_handler: _NSHandlerType[_T]) -> None - changed:
function safe_extra(extra: str) → function safe_extra(extra: str) -> str - changed:
function safe_name(name: str) → function safe_name(name: str) -> str - changed:
function safe_version(version: str) → function safe_version(version: str) -> str - changed:
function to_filename(name: str) → function to_filename(name: str) -> str - changed:
method DefaultProvider.get_resource_stream(manager: object, resource_name: str) → method DefaultProvider.get_resource_stream(manager: object, resource_name: str) -> io.BufferedReader - changed:
method Distribution.activate(path: list[str] | None=…, replace: bool=…) → method Distribution.activate(path: list[str] | None=…, replace: bool=…) -> None - changed:
method Distribution.clone(**kw: str | int | IResourceProvider | None) → method Distribution.clone(**kw: str | int | IResourceProvider | None) -> Self - changed:
method Distribution.get_entry_info(group: str, name: str) → method Distribution.get_entry_info(group: str, name: str) -> EntryPoint | None - changed:
method Distribution.insert_on(path: list[str], loc=…, replace: bool=…) → method Distribution.insert_on(path: list[str], loc=…, replace: bool=…) -> None - changed:
method Distribution.requires(extras: Iterable[str]=…) → method Distribution.requires(extras: Iterable[str]=…) -> list[Requirement] - changed:
method EntryPoint.require(env: Environment | None=…, installer: _InstallerType | None=…) → method EntryPoint.require(env: Environment | None=…, installer: _InstallerType | None=…) -> None - changed:
method Environment.add(dist: Distribution) → method Environment.add(dist: Distribution) -> None - changed:
method Environment.can_add(dist: Distribution) → method Environment.can_add(dist: Distribution) -> bool - changed:
method Environment.remove(dist: Distribution) → method Environment.remove(dist: Distribution) -> None - changed:
method Environment.scan(search_path: Iterable[str] | None=…) → method Environment.scan(search_path: Iterable[str] | None=…) -> None - changed:
method FileMetadata.get_metadata(name: str) → method FileMetadata.get_metadata(name: str) -> str - changed:
method NullProvider.get_metadata(name: str) → method NullProvider.get_metadata(name: str) -> str - changed:
method NullProvider.get_resource_filename(manager: ResourceManager, resource_name: str) → method NullProvider.get_resource_filename(manager: ResourceManager, resource_name: str) -> str - changed:
method NullProvider.get_resource_stream(manager: ResourceManager, resource_name: str) → method NullProvider.get_resource_stream(manager: ResourceManager, resource_name: str) -> BinaryIO - changed:
method NullProvider.has_resource(resource_name: str) → method NullProvider.has_resource(resource_name: str) -> bool - changed:
method NullProvider.resource_isdir(resource_name: str) → method NullProvider.resource_isdir(resource_name: str) -> bool - changed:
method NullProvider.resource_listdir(resource_name: str) → method NullProvider.resource_listdir(resource_name: str) -> list[str] - changed:
method NullProvider.run_script(script_name: str, namespace: dict[str, Any]) → method NullProvider.run_script(script_name: str, namespace: dict[str, Any]) -> None - changed:
method ResourceManager.get_cache_path(archive_name: str, names: Iterable[StrPath]=…) → method ResourceManager.get_cache_path(archive_name: str, names: Iterable[StrPath]=…) -> str - changed:
method ResourceManager.postprocess(tempname: StrOrBytesPath, filename: StrOrBytesPath) → method ResourceManager.postprocess(tempname: StrOrBytesPath, filename: StrOrBytesPath) -> None - changed:
method ResourceManager.resource_exists(package_or_requirement: _PkgReqType, resource_name: str) → method ResourceManager.resource_exists(package_or_requirement: _PkgReqType, resource_name: str) -> bool - changed:
method ResourceManager.resource_filename(package_or_requirement: _PkgReqType, resource_name: str) → method ResourceManager.resource_filename(package_or_requirement: _PkgReqType, resource_name: str) -> str - changed:
method ResourceManager.resource_isdir(package_or_requirement: _PkgReqType, resource_name: str) → method ResourceManager.resource_isdir(package_or_requirement: _PkgReqType, resource_name: str) -> bool - changed:
method ResourceManager.resource_listdir(package_or_requirement: _PkgReqType, resource_name: str) → method ResourceManager.resource_listdir(package_or_requirement: _PkgReqType, resource_name: str) -> list[str] - changed:
method ResourceManager.resource_stream(package_or_requirement: _PkgReqType, resource_name: str) → method ResourceManager.resource_stream(package_or_requirement: _PkgReqType, resource_name: str) -> _ResourceStream - changed:
method ResourceManager.set_extraction_path(path: str) → method ResourceManager.set_extraction_path(path: str) -> None - changed:
method VersionConflict.with_context(required_by: set[Distribution | str]) → method VersionConflict.with_context(required_by: set[Distribution | str]) -> Self | ContextualVersionConflict - changed:
method WorkingSet.add(dist: Distribution, entry: str | None=…, insert: bool=…, replace: bool=…) → method WorkingSet.add(dist: Distribution, entry: str | None=…, insert: bool=…, replace: bool=…) -> None - changed:
method WorkingSet.add_entry(entry: str) → method WorkingSet.add_entry(entry: str) -> None - changed:
method WorkingSet.iter_entry_points(group: str, name: str | None=…) → method WorkingSet.iter_entry_points(group: str, name: str | None=…) -> Iterator[EntryPoint] - changed:
method WorkingSet.require(*requirements: _NestedStr) → method WorkingSet.require(*requirements: _NestedStr) -> list[Distribution] - changed:
method WorkingSet.run_script(requires: str, script_name: str) → method WorkingSet.run_script(requires: str, script_name: str) -> None - changed:
method WorkingSet.subscribe(callback: Callable[[Distribution], object], existing: bool=…) → method WorkingSet.subscribe(callback: Callable[[Distribution], object], existing: bool=…) -> None - changed:
method ZipProvider.get_resource_filename(manager: ResourceManager, resource_name: str) → method ZipProvider.get_resource_filename(manager: ResourceManager, resource_name: str) -> str - changed:
static method Distribution.from_filename(filename: StrPath, metadata: _MetadataType=…, **kw: int) → static method Distribution.from_filename(filename: StrPath, metadata: _MetadataType=…, **kw: int) -> Distribution - changed:
static method EntryPoint.parse(src: str, dist: Distribution | None=…) → static method EntryPoint.parse(src: str, dist: Distribution | None=…) -> Self - changed:
static method EntryPoint.parse_group(group: str, lines: _NestedStr, dist: Distribution | None=…) → static method EntryPoint.parse_group(group: str, lines: _NestedStr, dist: Distribution | None=…) -> dict[str, Self] - changed:
static method EntryPoint.parse_map(data: str | Iterable[str] | dict[str, str | Iterable[str]], dist: Distribution | None=…) → static method EntryPoint.parse_map(data: str | Iterable[str] | dict[str, str | Iterable[str]], dist: Distribution | None=…) -> dict[str, dict[str, Self]] - changed:
static method Requirement.parse(s: str | Iterable[str]) → static method Requirement.parse(s: str | Iterable[str]) -> Requirement - added:
field Requirement.extras: tuple[str, ...]
- removed:
class VendorImporter - removed:
constructor VendorImporter(root_name: str, vendored_names: Iterable[str]=…, vendor_pkg: str | None=…) - removed:
method VendorImporter.create_module(spec: ModuleSpec) - removed:
method VendorImporter.exec_module(module: ModuleType) - removed:
method VendorImporter.find_spec(fullname: str, path: Sequence[str] | None=…, target: ModuleType | None=…) - removed:
method VendorImporter.install() - removed:
method VendorImporter.load_module(fullname: str) - removed:
property VendorImporter.search_path - removed:
variable names
- changed:
method bdist_wheel.egg2dist(egginfo_path: str, distinfo_path: str) → method bdist_wheel.egg2dist(egginfo_path: str, distinfo_path: str) -> None - changed:
method bdist_wheel.write_wheelfile(wheelfile_base: str, generator: str=…) → method bdist_wheel.write_wheelfile(wheelfile_base: str, generator: str=…) -> None
- changed:
field install.new_commands → field install.new_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]]
- changed:
method install_lib.copy_tree(infile: StrPath, outfile: str, preserve_mode=…, preserve_times=…, preserve_symlinks=…, level=…) → method install_lib.copy_tree(infile: StrPath, outfile: str, preserve_mode=…, preserve_times=…, preserve_symlinks=…, level=…) -> list[str]
- changed:
function read_attr(attr_desc: str, package_dir: Mapping[str, str] | None=…, root_dir: StrPath | None=…) → function read_attr(attr_desc: str, package_dir: Mapping[str, str] | None=…, root_dir: StrPath | None=…) -> Any
- changed:
function read_configuration(filepath: StrPath, expand=…, ignore_option_errors=…, dist: Distribution | None=…) → function read_configuration(filepath: StrPath, expand=…, ignore_option_errors=…, dist: Distribution | None=…) -> dict[str, Any]
- removed:
method Distribution.patch_missing_pkg_info(attrs)
- removed:
class VendorImporter - removed:
constructor VendorImporter(root_name, vendored_names=…, vendor_pkg=…) - removed:
method VendorImporter.create_module(spec) - removed:
method VendorImporter.exec_module(module) - removed:
method VendorImporter.find_spec(fullname, path=…, target=…) - removed:
method VendorImporter.install() - removed:
method VendorImporter.load_module(fullname) - removed:
property VendorImporter.search_path - removed:
variable names
- changed:
static method SetuptoolsWarning.emit(summary: str | None=…, details: str | None=…, due_date: _DueDate | None=…, see_docs: str | None=…, see_url: str | None=…, stacklevel: int=…, **kwargs) → static method SetuptoolsWarning.emit(summary: str | None=…, details: str | None=…, due_date: _DueDate | None=…, see_docs: str | None=…, see_url: str | None=…, stacklevel: int=…, **kwargs) -> None