Skip to content

Package rename: py-pip -> pip#4101

Open
adamjstewart wants to merge 3 commits intospack:developfrom
adamjstewart:pip
Open

Package rename: py-pip -> pip#4101
adamjstewart wants to merge 3 commits intospack:developfrom
adamjstewart:pip

Conversation

@adamjstewart
Copy link
Copy Markdown
Member

There has long been discussion of how to name Python tools. According to our docs:

When in doubt, think about how this package will be used. Is it primarily a Python library that will be imported in other Python scripts? Or is it a command-line tool, or C/C++/Fortran program with optional Python modules? The former should be prepended with py-, while the latter should not.

Pip is not intended to be imported, it is a command-line tool, and therefore should be called pip, not py-pip following these docs.

This has come up a few times already, first with pipx in spack/spack#38658 (@blue42u @eli-schwartz) and again with ruff/ty/uv in #3962 (@johnwparent). @manuelakuhn may also have opinions on this discussion.

@eli-schwartz makes a good point in spack/spack#38658 (comment) that tools like pip are only useful within the Python ecosystem, and therefore a py- prefix makes sense. I would suggest we either follow the above documentation (I wrote it, it's not gospel) or change the above documentation and close this PR. But let's settle this once and for all.

If this is approved, I'll make a similar PR in https://github.com/spack/spack, there are a couple things (e.g., spack create) that refer to py-pip. If this is rejected, we should consider renaming tools like pipx, conda, pyrefly, etc. to add a py- prefix.

Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
or bdist_wheel command.

Deprecated in pip 23.1.
Requires pip 25.2 or older.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@manuelakuhn updated these docs here to be more specific now that this feature has been removed.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new package is just a copy-n-paste and rename. There are several older versions with CVEs that I'll deprecate in a follow-up PR. Didn't want to directly remove them here so as to avoid complicating the PR.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only other file that isn't a simple sed replacement.

Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
@adamjstewart
Copy link
Copy Markdown
Member Author

@spackbot fix style

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Apr 3, 2026

Let me see if I can fix that for you!

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Apr 3, 2026

I was able to run spack style --fix for you!

spack style --fix
repos/spack_repo/builtin/build_systems/python.py
repos/spack_repo/builtin/packages/alpaka/package.py
repos/spack_repo/builtin/packages/amr_wind/package.py
repos/spack_repo/builtin/packages/aocl_da/package.py
repos/spack_repo/builtin/packages/ascent/package.py
repos/spack_repo/builtin/packages/biobambam2/package.py
repos/spack_repo/builtin/packages/bohrium/package.py
repos/spack_repo/builtin/packages/bufr/package.py
repos/spack_repo/builtin/packages/cantera/package.py
repos/spack_repo/builtin/packages/castep/package.py
repos/spack_repo/builtin/packages/charliecloud/package.py
repos/spack_repo/builtin/packages/cmor/package.py
repos/spack_repo/builtin/packages/conduit/package.py
repos/spack_repo/builtin/packages/costo/package.py
repos/spack_repo/builtin/packages/deepmdkit/package.py
repos/spack_repo/builtin/packages/dsqss/package.py
repos/spack_repo/builtin/packages/duckdb/package.py
repos/spack_repo/builtin/packages/ecbuild/package.py
repos/spack_repo/builtin/packages/eccodes/package.py
repos/spack_repo/builtin/packages/ecflow/package.py
repos/spack_repo/builtin/packages/eckit/package.py
repos/spack_repo/builtin/packages/esmf/package.py
repos/spack_repo/builtin/packages/exactextract/package.py
repos/spack_repo/builtin/packages/faiss/package.py
repos/spack_repo/builtin/packages/fdb/package.py
repos/spack_repo/builtin/packages/fenics/package.py
repos/spack_repo/builtin/packages/flatbuffers/package.py
repos/spack_repo/builtin/packages/ghex/package.py
repos/spack_repo/builtin/packages/gribjump/package.py
repos/spack_repo/builtin/packages/hipsparselt/package.py
repos/spack_repo/builtin/packages/jsonnet/package.py
repos/spack_repo/builtin/packages/lammps/package.py
repos/spack_repo/builtin/packages/legion/package.py
repos/spack_repo/builtin/packages/mdb/package.py
repos/spack_repo/builtin/packages/metkit/package.py
repos/spack_repo/builtin/packages/mfem/package.py
repos/spack_repo/builtin/packages/mlpack/package.py
repos/spack_repo/builtin/packages/mozjs/package.py
repos/spack_repo/builtin/packages/msolve/package.py
repos/spack_repo/builtin/packages/mxnet/package.py
repos/spack_repo/builtin/packages/neuron/package.py
repos/spack_repo/builtin/packages/nvtx/package.py
repos/spack_repo/builtin/packages/omniperf/package.py
repos/spack_repo/builtin/packages/open3d/package.py
repos/spack_repo/builtin/packages/petsc/package.py
repos/spack_repo/builtin/packages/pip/package.py
repos/spack_repo/builtin/packages/prrte/package.py
repos/spack_repo/builtin/packages/py_abipy/package.py
repos/spack_repo/builtin/packages/py_aiohttp/package.py
repos/spack_repo/builtin/packages/py_amrex/package.py
repos/spack_repo/builtin/packages/py_ansi2html/package.py
repos/spack_repo/builtin/packages/py_arcgis/package.py
repos/spack_repo/builtin/packages/py_astropy/package.py
repos/spack_repo/builtin/packages/py_brian2/package.py
repos/spack_repo/builtin/packages/py_chalice/package.py
repos/spack_repo/builtin/packages/py_charm4py/package.py
repos/spack_repo/builtin/packages/py_cig_pythia/package.py
repos/spack_repo/builtin/packages/py_devito/package.py
repos/spack_repo/builtin/packages/py_dgl/package.py
repos/spack_repo/builtin/packages/py_fastai/package.py
repos/spack_repo/builtin/packages/py_fastcore/package.py
repos/spack_repo/builtin/packages/py_fastrlock/package.py
repos/spack_repo/builtin/packages/py_flit/package.py
repos/spack_repo/builtin/packages/py_grayskull/package.py
repos/spack_repo/builtin/packages/py_hail/package.py
repos/spack_repo/builtin/packages/py_hatchling/package.py
repos/spack_repo/builtin/packages/py_illumina_utils/package.py
repos/spack_repo/builtin/packages/py_imageio_ffmpeg/package.py
repos/spack_repo/builtin/packages/py_lightgbm/package.py
repos/spack_repo/builtin/packages/py_meldmd/package.py
repos/spack_repo/builtin/packages/py_minkowskiengine/package.py
repos/spack_repo/builtin/packages/py_napari_plugin_manager/package.py
repos/spack_repo/builtin/packages/py_networkit/package.py
repos/spack_repo/builtin/packages/py_neurokit2/package.py
repos/spack_repo/builtin/packages/py_nilearn/package.py
repos/spack_repo/builtin/packages/py_numba/package.py
repos/spack_repo/builtin/packages/py_numpy/package.py
repos/spack_repo/builtin/packages/py_onnxruntime/package.py
repos/spack_repo/builtin/packages/py_opencv_python/package.py
repos/spack_repo/builtin/packages/py_openmim/package.py
repos/spack_repo/builtin/packages/py_or_tools/package.py
repos/spack_repo/builtin/packages/py_pennylane/package.py
repos/spack_repo/builtin/packages/py_pennylane_lightning/package.py
repos/spack_repo/builtin/packages/py_pennylane_lightning_kokkos/package.py
repos/spack_repo/builtin/packages/py_petsc4py/package.py
repos/spack_repo/builtin/packages/py_pillow/package.py
repos/spack_repo/builtin/packages/py_pip/package.py
repos/spack_repo/builtin/packages/py_pyarrow/package.py
repos/spack_repo/builtin/packages/py_pybind11/package.py
repos/spack_repo/builtin/packages/py_pymol/package.py
repos/spack_repo/builtin/packages/py_pyomo/package.py
repos/spack_repo/builtin/packages/py_pyprecice/package.py
repos/spack_repo/builtin/packages/py_pyside2/package.py
repos/spack_repo/builtin/packages/py_pyyaml/package.py
repos/spack_repo/builtin/packages/py_qiskit_aer/package.py
repos/spack_repo/builtin/packages/py_reportlab/package.py
repos/spack_repo/builtin/packages/py_requests/package.py
repos/spack_repo/builtin/packages/py_scipy/package.py
repos/spack_repo/builtin/packages/py_scs/package.py
repos/spack_repo/builtin/packages/py_setuptools/package.py
repos/spack_repo/builtin/packages/py_slepc4py/package.py
repos/spack_repo/builtin/packages/py_symengine/package.py
repos/spack_repo/builtin/packages/py_tensorflow/package.py
repos/spack_repo/builtin/packages/py_tensorflow_estimator/package.py
repos/spack_repo/builtin/packages/py_tensorflow_hub/package.py
repos/spack_repo/builtin/packages/py_tensorflow_probability/package.py
repos/spack_repo/builtin/packages/py_tern/package.py
repos/spack_repo/builtin/packages/py_tomopy/package.py
repos/spack_repo/builtin/packages/py_torch_nvidia_apex/package.py
repos/spack_repo/builtin/packages/py_waves/package.py
repos/spack_repo/builtin/packages/py_wheel/package.py
repos/spack_repo/builtin/packages/py_xgboost/package.py
repos/spack_repo/builtin/packages/quandary/package.py
repos/spack_repo/builtin/packages/redis_ai/package.py
repos/spack_repo/builtin/packages/rocblas/package.py
repos/spack_repo/builtin/packages/rocprofiler_compute/package.py
repos/spack_repo/builtin/packages/samtools/package.py
repos/spack_repo/builtin/packages/scine_database/package.py
repos/spack_repo/builtin/packages/scine_molassembler/package.py
repos/spack_repo/builtin/packages/scine_readuct/package.py
repos/spack_repo/builtin/packages/scine_serenity/package.py
repos/spack_repo/builtin/packages/scine_sparrow/package.py
repos/spack_repo/builtin/packages/scine_utilities/package.py
repos/spack_repo/builtin/packages/scine_xtb/package.py
repos/spack_repo/builtin/packages/serenity/package.py
repos/spack_repo/builtin/packages/sgpp/package.py
repos/spack_repo/builtin/packages/slepc/package.py
repos/spack_repo/builtin/packages/steps/package.py
repos/spack_repo/builtin/packages/survey/package.py
repos/spack_repo/builtin/packages/tamaas/package.py
repos/spack_repo/builtin/packages/thrift/package.py
repos/spack_repo/builtin/packages/treelite/package.py
repos/spack_repo/builtin/packages/uwtools/package.py
repos/spack_repo/builtin/packages/visit/package.py
repos/spack_repo/builtin/packages/warpx/package.py
repos/spack_repo/builtin/packages/xrootd/package.py
repos/spack_repo/builtin/packages/xyce/package.py
�[1;34m==> �[0mrunning flake8
�[1;34m==> �[0mrunning isort
�[1;34m==> �[0mrunning black
�[1;34m==> �[0mstyle checks passed
Keep in mind that I cannot fix your flake8 or mypy errors, so if you have any you'll need to fix them and update the pull request. If I was able to push to your branch, if you make further changes you will need to pull from your updated branch before pushing again.

I've updated the branch with style fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Issues related to Continuous Integration dependencies update-package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant