Revision 1 as of 2019-11-16 01:26:35

Clear message

Roadmap for pip resolver and UX work in 2020

Thanks to the Chan Zuckerberg Initiative and another funder, the PackagingWG is receiving funding to finish pip's dependency resolver and improve pip's user experience.

Key people

Contractors working on this project will be

Work summary

We're partway through a next-generation rewrite of the dependency resolver within pip, Python's package download and installation tool. The project ran into massive technical debt, but the refactoring is nearly finished and prototype functionality is in alpha now. Many improvements and installation and dependency issues for Python users, conda/Anaconda, and other platforms are blocked awaiting this feature.

Also, pip's user experience needs to become more consistent across features, fit the user's mental model better, reduce unintended data loss, and provide better error messages and prompts, logs, output, and reporting.

Two developers, a UX design/research consultancy, and a project manager will execute a three-phase plan to support user experience, communications/publicity, and testing work (including developing robust testing and continuous integration infrastructure) on the resolver, as well as core feature development and review.

Initially, as developers come up to speed on pip and work on finishing refactoring the build logic within pip, UX experts will study the command line packaging/distribution environment, run user tests, and develop robust user journeys/concept maps.

Second, the contractors will work together on implementing the resolver. The developers will write tests, improve CI, build test infrastructure, introduce new abstractions and fix bugs found in alpha testing, collaborate with downstreams and users about config flags and transition schedules, and so on. The UX experts will improve command-line UX (such as in-CLI help and error messages, and specific commands and names of flags), and improve the pip user guide.

Finally, one contract developer will maintain the pip repository by triaging bugs and reviewing pull requests (releasing bottlenecks), and the UX expert will train maintainers in CLI UX design principles and write UX guidelines for the project.

Throughout, a project manager will find and communicate with stakeholders and testers, and with the funder.

Detailed work plan

Exists in other documents; reformatting and copying to this page is in progress.

Phase I (Foundational work, early 2020)

Developers' onboarding and initial work

See RFP.

UX onboarding and initial work

Phase II (Resolver work, ~March-June 2020)

Developers

See RFP.

UX

Phase III (Maintenance and Sustainability work, June-December 2020)

Developer

UX

Unable to view page? See the FrontPage for instructions.