Pip 23.1 Released - Massive improvement to backtracking

This page summarizes the projects mentioned and recommended in the original post on /r/Python

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • pip

    The Python package installer

  • Another good benchmark to trying to resolve apache-airflow[all]==1.10.13 using the state of PyPi on 2020-12-02, I give instructions here on how to reproduce that workflow: https://github.com/pypa/pip/issues/11836. Including a benchmark how how many extra packages your resolver should visit.

  • resolvelib

    Resolve abstract dependencies into concrete ones

  • Pip separates out the resolution logic into a library called resolvelib. It had been discovered that there was a logical error under certain circumstances, and also there was a known better backtracking technique it could employ called backjumping. Both of these were recently fixed and implemented in resolvelib, which were then vendored in to Pip 23.1.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • mixology

    A generic dependency-resolution library written in pure Python

  • I was looking into this recently, but I'm not an expert. Poetry uses a library called mixology that implements a dependency resolution algorithm called PubGrub. There's a nice explainer here that touches on how PubGrub handles backtracking.

  • WinPython

    A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.

  • Feel free to share the resolver you wrote and we can test it on real world scenarios that are very difficult, here's a fun one that I remember: https://github.com/winpython/winpython/blob/master/Qt5_requirements64.txt

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts