0.5.1 (2020-03-10)

Bug Fixes

  • Fixed incorrect session creation via pip_shims.compat.get_session which inadvertently passed a tuple to pip when building a session instance. #56
  • Added wheel_cache context manager helper for managing global context when creating wheel wheel_cache instances. #58
  • Fixed resolution failures due to Resolver.resolve signature updates in pip@master:
    • Automatically check for and pass check_supports_wheel argument to Resolver.resolve() when expected
    • Check whether Resolver.resolve() expects a RequirementSet or List[InstallRequirement] and pass the appropriate input #59
  • Fixed requirement build failures due to new autodelete: bool required argument in InstallRequirement.ensure_build_location. #60
  • Updated Resolver import path to point at new location (legacy_resolve -> resolution.legacy.resolver). #61
  • Fixed AttributeError caused by failed RequirementSet.cleanup() calls after Resolver.resolve() which is no longer valid in pip>=20.1. #62

0.5.0 (2020-01-28)

Features

  • Exposed build, build_one, and build_one_inside_env from wheel_builder module starting in pip>=20. #49
  • Added a build_wheel shim function which can build either a single InstallRequirement or an iterable of InstallRequirement instances. #50
  • Exposed global_tempdir_manager for handling TempDirectory instance contexts. #51

Bug Fixes

  • Added Downloader class which is now passed to shim_unpack implementation. #42
  • Updated references to the Downloader class to point at pip._internal.network.download.Downloader which is where it resides on pip master for pip>19.3.1. #46
  • Added a compatibility shim to provide ongoing access to the Wheel class which is removed in pip>19.3.1. #47
  • Added mapping for distributions.make_distribution_for_install to make_abstract_dist for pip>=20.0. #52

0.4.0 (2019-11-22)

Features

  • Improved documentation and added fundamentally re-architected the library
  • Added improved docstrings and example usages
  • Included type annotations for many types and shims
  • Fully reimplemented critical functionality to abstract logic while improving maintainability and ability to reason about the core operations
  • Added numerous helper functions to reduce maintenance burden
  • Added fully backward compatible library native shims to call pip functions:
  • populate_options
  • get_requirement_set
  • get_package_finder
  • shim_unpack
  • make_preparer
  • get_resolver
  • resolve
  • Added design drawings
  • Implemented ShimmedPath and ShimmedPathCollection abstractions #37

0.3.4 (2019-11-18)

Features

  • Added SessionCommandMixin, CandidateEvaluator, CandidatePreferences, LinkCollector, LinkEvaluator, TargetPython, SearchScope, and SelectionPreferences to exposed classes and install_req_from_req_string to exposed functions. #33

Bug Fixes

  • Added override to the Command class to automatically fill in default values for name and summary which are now required in __init__. - Added mixin to the Command class to continue supporting _build_session method. #32
  • Shimmed functions for is_file_url and is_archive_file. #34
  • Updated the paths for the following moved items: - SafeFileCache -> network.cache - Link -> models.link.Link - path_to_url -> utils.url - url_to_path -> utils.url - SourceDistribution -> distributions.source.legacy #35

0.3.3 (2019-06-16)

Features

  • Added commands.freeze.DEV_PKGS and utils.compat.stdlib_pkgs shims. #25
  • Updated PackageFinder test and added CandidateEvaluator import starting with pip>=19.1 for finding prerelease candidates. #27

Bug Fixes

  • Fixed import paths for VcsSupport on pip>19.1.1. #28

0.3.2 (2018-10-27)

Features

  • Added access to pip._internal.models.index.PyPI. #21

0.3.1 (2018-10-06)

Features

  • Added shims for the following:
    • InstallationError
    • UninstallationError
    • DistributionNotFound
    • RequirementsFileParseError
    • BestVersionAlreadyInstalled
    • BadCommand
    • CommandError
    • PreviousBuildDirError #19

0.3.0 (2018-10-06)

Features

  • Added and exposed FrozenRequirement for consumption. #17

Bug Fixes

  • Fixed a bug which caused usage of incorrect location for _strip_extras. #13
  • Fixed a bug which caused FormatControl imports to fail in pip>=18.1. #15
  • Fixed a bug which caused InstallRequirement.from_line and InstallRequirement.from_editable to fail in pip>=18.1. #16

0.2.0 (2018-10-05)

Features

  • Added a shim for pip._internal.req.req_uninstall.UninstallPathSet. #10
  • Made all module loading lazy by replacing modules dynamically at runtime. #9

0.1.2 (2018-08-18)

Features

  • Added WheelCache and unpack_url functionality. #4

Bug Fixes

  • Fixed a bug which caused failures in the detection and import on pip version 9 and below when using modutils. #5
  • Fixed a bug with sort order logic which caused invalid import paths to be prioritized accidentally. #7

0.1.1 (2018-08-14)

Bug Fixes

  • Fixed tests failures for appveyor path comparisons. #2

Documentation Updates

  • Added warning to documentation to discourage use of these shims for accessing the pip API. #1

0.1.0 (2018-08-09)

Features

  • Initial release of pip compatibility shims! #0