[bug#64869,0/2] Add pipx package manager for Python applications

Message ID cover.1690360848.git.koszko@koszko.org
Headers
Series Add pipx package manager for Python applications |

Message

Wojtek Kosior July 26, 2023, 9:05 a.m. UTC
This series adds pipx, a tool similar to pip but oriented towards installation
of Python applications rather than libraries, with automatic isolation of
installed packages.

Other distros are now changing pip to recommend using pipx instead[1]. Whether
or not Guix will do the same, it seems like a good idea to at least have pipx
available in the repos.

I was unsure whether python-pipx should go into python-build or
python-xyz. python-pip is declared in the former, python-virtualenv in the
latter. In the end I chose python-xyz.

Tests have been disabled because those of python-userpath rely on `docker pull`
and those of python-pipx rely on application wheels from PyPI. It might be
possible to enable at least some tests of python-pipx by using wheels from
Guix. Rn I did not, however, have time to investigate.

I tested the new package(s) with:

#BEGIN_EXAMPLE
./pre-inst-env guix lint python-userpath python-pipx
guix gc -D /gnu/store/*python-userpath-1.9.0 /gnu/store/*python-pipx-1.2.0
./pre-inst-env guix build python-userpath --rounds=3
./pre-inst-env guix build python-pipx --rounds=3
./pre-inst-env guix shell -C coreutils python-pipx findutils which less bash --network --no-cwd
pipx install pycowsay
pipx ensurepath
bash -l
pycowsay moooo
pipx uninstall pycowsay
#END_EXAMPLE

[1] https://pythonspeed.com/articles/externally-managed-environment-pep-668/

Wojtek Kosior (2):
  gnu: Add python-userpath.
  gnu: Add python-pipx.

 gnu/packages/python-xyz.scm | 77 +++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)


base-commit: 76e041f9eef85bb039c5251d3350c62ee2066883
  

Comments

Nico Rikken July 1, 2025, 2:42 p.m. UTC | #1
Hi all,

Previous emails:
https://lists.gnu.org/r/guix-patches/2023-07/msg01242.html

As a user of Pipx, I would like to have this patch merged. I tested it
locally and it seems to work just fine. The `python-userpath` package
is already packaged.

Of course 1.2.0 is no longer the latest version.

It is unclear to my why the patch never got merged. What can be done to
move it forward?

Kind regards,
Nico Rikken
  
Sharlatan Hellseher July 14, 2025, 2:49 p.m. UTC | #2
Hi,

> It is unclear to my why the patch never got merged. What can be done to
> move it forward?

It looks the patch was send to a black whole and lost in singularity,
meaning non of Python Team or any other team members were CCed and the
author of the patch did not make any effort to ping someone after a
week, that cause it to be abandoned for two years.

pipx is a package manager for Python proposed to Guix which is a package
manager as well, maybe it had a low interest to have it...

I'll put it to the review queue, thanks for highlighting it!

--
Oleg
  
Sharlatan Hellseher July 27, 2025, 1:29 p.m. UTC | #3
Hi,

I've pushed the latest version based on this proposal and kept author header:
master origin/master 9ed9dada4eb021844ee69effca197b390b4f17a2

--
Oleg