Skip to content

Support different backends for pipx? #1392

@huxuan

Description

@huxuan

How would this feature be useful?

There are several open issues about supporting different "backends", such as #1370 for uv and #853 for virtualenv. Moreover, there is already a project pipxu that claims to have reimplemented pipx while using uv. So I would like to have your comments about whether we should support different backends.

Describe the solution you'd like

  1. Abstract all the operations related to managed virtual environments.
  2. Implement venv, virtualenv and uv for these abstracted operations.
  3. Add virtualenv and uv as optional dependencies and use them with higher priority than venv when pipx is initialized.

Describe alternatives you've considered

There might be two other approaches to implement the same feature:

  1. Create a backend plugin system and implement the backend in a separate repo.
  2. Create a standalone and universal backend library that can be used directly in pipx.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions