Upgrading setuptools 68 to 69
Breaking68.2.2 → 69.5.1Breaking7Deprecated1New2Changed6Fixed10Other8
BreakingUpgrade verdict
7 breaking changes.
In plain terms
- Version strings that do not follow the standard version format are now rejected.
- An old option of an internal command has been removed.
- Two old setup.cfg fields are no longer read; use the newer fields instead.
- An old way of passing build options through the build backend is now rejected.
Must act Top 4 of 8 that need code or config changes
What you must change
Breaking7
Configuring project version and egg_info.tag_* to produce invalid PEP 440 version strings is no longer permitted.
egg_info.tag_*Removes the deprecated egg_base option from dist_info.
dist_infoegg_baseNo longer parses deprecated metadata.license_file and metadata.requires fields in setup.cfg.
metadata.license_filemetadata.requiresmetadata.license_filesoptions.install_requiresPassing config_settings to setuptools.build_meta with deprecated --global-option values is no longer allowed.
setuptools.build_metaconfig_settings--global-optionRemoves deprecated namespace-packages from pyproject.toml in favor of implicit namespace packages.
namespace-packagesStrictly enforces project.dynamic in pyproject.toml, removing the transitional ability to configure certain parameters via setup.py.
project.dynamicRemoves handling of --config-settings["--build-option"] in setuptools.build_meta hooks other than build_wheel.
setuptools.build_meta--config-settings["--build-option"]build_wheelDeprecations to plan for
Deprecated1
Adds the missing estimated removal date for setuptools.dep_util, which was deprecated in v69.0.0.
setuptools.dep_utilAPI changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
function run_script(dist_spec, script_name) - removed:
variable run_main - changed:
class IMetadataProvider → class IMetadataProvider(Protocol) - changed:
class IResourceProvider(IMetadataProvider) → class IResourceProvider(IMetadataProvider, Protocol) - changed:
method FileMetadata.has_metadata(name) → method FileMetadata.has_metadata(name) -> bool - changed:
method IMetadataProvider.get_metadata() → method IMetadataProvider.get_metadata(name) - changed:
method IMetadataProvider.get_metadata_lines() → method IMetadataProvider.get_metadata_lines(name) - changed:
method IMetadataProvider.has_metadata() → method IMetadataProvider.has_metadata(name) -> bool - changed:
method IMetadataProvider.metadata_isdir() → method IMetadataProvider.metadata_isdir(name) -> bool - changed:
method IMetadataProvider.metadata_listdir() → method IMetadataProvider.metadata_listdir(name) - changed:
method IMetadataProvider.run_script(namespace) → method IMetadataProvider.run_script(script_name, namespace) - changed:
method IResourceProvider.get_resource_filename(resource_name) → method IResourceProvider.get_resource_filename(manager, resource_name) - changed:
method IResourceProvider.get_resource_stream(resource_name) → method IResourceProvider.get_resource_stream(manager, resource_name) - changed:
method IResourceProvider.get_resource_string(resource_name) → method IResourceProvider.get_resource_string(manager, resource_name) -> bytes - changed:
method IResourceProvider.has_resource() → method IResourceProvider.has_resource(resource_name) - changed:
method IResourceProvider.resource_isdir() → method IResourceProvider.resource_isdir(resource_name) - changed:
method IResourceProvider.resource_listdir() → method IResourceProvider.resource_listdir(resource_name) - changed:
method NullProvider.get_resource_string(manager, resource_name) → method NullProvider.get_resource_string(manager, resource_name) -> bytes - changed:
method NullProvider.has_metadata(name) → method NullProvider.has_metadata(name) -> bool - changed:
method NullProvider.metadata_isdir(name) → method NullProvider.metadata_isdir(name) -> bool - changed:
method ResourceManager.cleanup_resources(force=…) → method ResourceManager.cleanup_resources(force=…) -> List[str] - changed:
method ResourceManager.resource_string(package_or_requirement, resource_name) → method ResourceManager.resource_string(package_or_requirement, resource_name) -> bytes
- changed:
constructor Command(dist, **kw) → constructor Command(dist: Distribution, **kw) - added:
field Command.distribution: Distribution
- changed:
field rotate.boolean_options → field rotate.boolean_options: List[str]
- added:
export tomllib
- added:
function shutil_rmtree(path, ignore_errors=…, onexc=…)
- added:
variable LOCALE_ENCODING
- changed:
function canonic_data_files(data_files: Union[list, dict], root_dir: Optional[_Path]=…) -> List[Tuple[str, List[str]]] → function canonic_data_files(data_files: Union[list, dict], root_dir: Optional[StrPath]=…) -> List[Tuple[str, List[str]]] - changed:
function cmdclass(values: Dict[str, str], package_dir: Optional[Mapping[str, str]]=…, root_dir: Optional[_Path]=…) -> Dict[str, Callable] → function cmdclass(values: Dict[str, str], package_dir: Optional[Mapping[str, str]]=…, root_dir: Optional[StrPath]=…) -> Dict[str, Callable] - changed:
function find_packages(*, namespaces=…, fill_package_dir: Optional[Dict[str, str]]=…, root_dir: Optional[_Path]=…, **kwargs) -> List[str] → function find_packages(*, namespaces=…, fill_package_dir: Optional[Dict[str, str]]=…, root_dir: Optional[StrPath]=…, **kwargs) -> List[str] - changed:
function glob_relative(patterns: Iterable[str], root_dir: Optional[_Path]=…) -> List[str] → function glob_relative(patterns: Iterable[str], root_dir: Optional[StrPath]=…) -> List[str] - changed:
function read_attr(attr_desc: str, package_dir: Optional[Mapping[str, str]]=…, root_dir: Optional[_Path]=…) → function read_attr(attr_desc: str, package_dir: Optional[Mapping[str, str]]=…, root_dir: Optional[StrPath]=…) - changed:
function read_files(filepaths: Union[str, bytes, Iterable[_Path]], root_dir=…) -> str → function read_files(filepaths: Union[str, bytes, Iterable[StrPath]], root_dir=…) -> str - changed:
function resolve_class(qualified_class_name: str, package_dir: Optional[Mapping[str, str]]=…, root_dir: Optional[_Path]=…) -> Callable → function resolve_class(qualified_class_name: str, package_dir: Optional[Mapping[str, str]]=…, root_dir: Optional[StrPath]=…) -> Callable
- changed:
function apply_configuration(dist: Distribution, filepath: _Path, ignore_option_errors=…) -> Distribution → function apply_configuration(dist: Distribution, filepath: StrPath, ignore_option_errors=…) -> Distribution - changed:
function expand_configuration(config: dict, root_dir: Optional[_Path]=…, ignore_option_errors: bool=…, dist: Optional[Distribution]=…) -> dict → function expand_configuration(config: dict, root_dir: Optional[StrPath]=…, ignore_option_errors: bool=…, dist: Optional[Distribution]=…) -> dict - changed:
function load_file(filepath: _Path) -> dict → function load_file(filepath: StrPath) -> dict - changed:
function read_configuration(filepath: _Path, expand=…, ignore_option_errors=…, dist: Optional[Distribution]=…) → function read_configuration(filepath: StrPath, expand=…, ignore_option_errors=…, dist: Optional[Distribution]=…) - changed:
function validate(config: dict, filepath: _Path) -> bool → function validate(config: dict, filepath: StrPath) -> bool
- changed:
constructor ConfigMetadataHandler(target_obj: DistributionMetadata, options: AllCommandOptions, ignore_option_errors: bool, ensure_discovered: expand.EnsurePackagesDiscovered, package_dir: Optional[dict]=…, root_dir: _Path=…) → constructor ConfigMetadataHandler(target_obj: DistributionMetadata, options: AllCommandOptions, ignore_option_errors: bool, ensure_discovered: expand.EnsurePackagesDiscovered, package_dir: Optional[dict]=…, root_dir: StrPath=…) - changed:
function apply_configuration(dist: Distribution, filepath: _Path) -> Distribution → function apply_configuration(dist: Distribution, filepath: StrPath) -> Distribution - changed:
function read_configuration(filepath: _Path, find_others=…, ignore_option_errors=…) -> dict → function read_configuration(filepath: StrPath, find_others=…, ignore_option_errors=…) -> dict - changed:
method ConfigHandler.parse() → method ConfigHandler.parse() -> None
- removed:
function newer_pairwise_group(sources_groups, targets)
- changed:
function construct_package_dir(packages: List[str], package_path: _Path) -> Dict[str, str] → function construct_package_dir(packages: List[str], package_path: StrPath) -> Dict[str, str] - changed:
function find_package_path(name: str, package_dir: Mapping[str, str], root_dir: _Path) -> str → function find_package_path(name: str, package_dir: Mapping[str, str], root_dir: StrPath) -> str - changed:
function find_parent_package(packages: List[str], package_dir: Mapping[str, str], root_dir: _Path) -> Optional[str] → function find_parent_package(packages: List[str], package_dir: Mapping[str, str], root_dir: StrPath) -> Optional[str]
- changed:
constructor Distribution(attrs=…) → constructor Distribution(attrs: Optional[MutableMapping]=…) -> None
- added:
class InvalidConfigError(OptionError) - added:
class RemovedConfigError(OptionError)
- added:
export newer - added:
export newer_group - added:
export newer_pairwise - added:
export newer_pairwise_group
- changed:
variable environ → variable environ: Dict[str, str]
- removed:
function shutil_rmtree(path, ignore_errors=…, onexc=…)