Python Packaging (pip) UX Research

pip is a de facto standard command line tool used to install and manage Python packages. Most distributions of Python come with pip preinstalled.

Python Packaging (pip) UX Research

The Problem

In 2020, the pip team received funding to improve pip’s user experience, with a particular focus on pip’s dependency resolver.

As part of the project, it was neccessary to develop a deeper understanding of:

  • who uses pip
  • how pip compares to other package managers, and supports other Python packaging tools
  • how pip’s functionality is used (and could be improved), and
  • how pip’s documentation is used (and could be improved)

Given my previous work in Python packaging, I was asked to join the Simply Secure UX research team to assist with this work.

The Solution

Working as part of the Simply Secure team, I:

  • Conducted a series of user interviews
  • Designed and published several user surveys, to collect feedback on pip’s functionality
  • Published UX documentation to share research outputs and guide future pip contributors

Recommendations that resulted from my work included:

  • Implementing an --ignore-conflicts option when pip experiences dependencies conflicts. See report.
  • Deprecating or improving pip’s --force-reinstall option. See report.
  • Improve pip’s upgrade functionality to include warnings when conflicts are introduced. See report.
  • Improve pip’s documentation to better serve pip’s users. See report.

Other Projects

Contact Me

Get In Touch!

I am available for consulting via Kabu Creative. To discuss a particular project, please contact me at n.harris [at]

I tweet @nlhkabu - feel free to say "hi"!