Modern rez-pip
Project description
rez-pip
rez-pip is a rez command-line plugin that you can use to make package from the Python Package Index and other indexes available to your rez package ecosystem.
Features
- Simpler to use thanks to the vendoring of pip.
- Does not support installing packages for Python 2.
- Only creates per python version variants when absolutely necessary. For example, it won't create per python version variants when installing a package that has console scripts.
- Better output logs.
- Implemented as an out-of-tree plugin, which means faster development cycle and more frequent releases.
- Plugin system that allows for easy extensibility (experimental).
- Maintained by the rez maintainers.
TODOs
- Install packages without using pip
- Specify Python version to use
- Better logs and CLI experience
- Use logging
- Progress bars for download?
- Confirm that Python 2 is supported
- It is not...
- Confirm that the theory works as expected
- Windows support
- Hook into rez
- Install each package in a different
--target - Create rez package
- Copy distribution files to rez package.
- Make it available as a rez plugin/sub-command
- Discover Python package using rez and use that when available. I think it's still fine to support non-rezified Python interpreters though.
- Install each package in a different
- Accept multiple package names as input
- Accept requirements files as input
- Accept wheel files as input
- Properly support platform tags (wheels tags) so that GLIBC is respected, min macOS is also supported.
- Correctly handle Requires-Python metadata.
- Review all TODOs in the code.
What whould we do withrez.systemandrez.vendor.version?- Gather a list of problematic packages from GitHub and test against them.
- Go through GitHub issues and summarize what needs to be covered by the new rez-pip.
- Support abi3 wheels (to avoid having to re-install C extensions for every python version).
- https://docs.python.org/3/c-api/stable.html
- https://peps.python.org/pep-0425/
- Basically a tag like 'cp36-abi3-manylinux_2_24_x86_64' means that it is compatible with Python 3.6+ and doesn't need to be recompiled for newer python versions.
Packages to test against
- pytest
- PySide, PySIde2, PySide6
- PyQt4, PyQt5
- psycopg2-binary
- ipython
- numpy
- protobuf
- click
- Pygments (https://github.com/AcademySoftwareFoundation/rez/issues/1430)
- google_api_core (https://github.com/AcademySoftwareFoundation/rez/issues/1414)
- sphinx
- networkx[default] (https://github.com/AcademySoftwareFoundation/rez/issues/1409)
- black (https://github.com/AcademySoftwareFoundation/rez/issues/1341)
- pylint (https://github.com/AcademySoftwareFoundation/rez/issues/1024)
- ampq (https://github.com/AcademySoftwareFoundation/rez/issues/906)
- cmd2 (https://github.com/AcademySoftwareFoundation/rez/issues/895)
- astroid (https://github.com/AcademySoftwareFoundation/rez/issues/876)
- Qt.py (https://github.com/AcademySoftwareFoundation/rez/issues/503)
- Pillow
- BeautifulSoup4
- python-dateutil (https://github.com/AcademySoftwareFoundation/rez/issues/390)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rez_pip-0.4.2.tar.gz.
File metadata
- Download URL: rez_pip-0.4.2.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec81a12093de9716a9bad8d66058e85d3813eca4949797efe9a764ca095fc1af
|
|
| MD5 |
8594f0b1b92784238591651d04eed62c
|
|
| BLAKE2b-256 |
c92042a3c35b5644e2d4e41993e59cf7988e306cefb57f0dddff22ea3c6e57cd
|
Provenance
The following attestation bundles were made for rez_pip-0.4.2.tar.gz:
Publisher:
release.yaml on JeanChristopheMorinPerso/rez-pip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rez_pip-0.4.2.tar.gz -
Subject digest:
ec81a12093de9716a9bad8d66058e85d3813eca4949797efe9a764ca095fc1af - Sigstore transparency entry: 774187355
- Sigstore integration time:
-
Permalink:
JeanChristopheMorinPerso/rez-pip@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Branch / Tag:
refs/tags/0.4.2 - Owner: https://github.com/JeanChristopheMorinPerso
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Trigger Event:
release
-
Statement type:
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://slsa.dev/provenance/v1 -
Subject name:
rez_pip-0.4.2.tar.gz -
Subject digest:
ec81a12093de9716a9bad8d66058e85d3813eca4949797efe9a764ca095fc1af - Sigstore transparency entry: 774187330
- Sigstore integration time:
-
Permalink:
JeanChristopheMorinPerso/rez-pip@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Branch / Tag:
refs/tags/0.4.2 - Owner: https://github.com/JeanChristopheMorinPerso
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Trigger Event:
release
-
Statement type:
File details
Details for the file rez_pip-0.4.2-py3-none-any.whl.
File metadata
- Download URL: rez_pip-0.4.2-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e48810a6aa317b88d69a784a08c74d25d835fda899fcdbcf7524561db213a17
|
|
| MD5 |
14ae0a38693a342a7284a97f2acae255
|
|
| BLAKE2b-256 |
0173872105684383d449179706771c673d7b00340a89e56e0a41e33339f80b9c
|
Provenance
The following attestation bundles were made for rez_pip-0.4.2-py3-none-any.whl:
Publisher:
release.yaml on JeanChristopheMorinPerso/rez-pip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rez_pip-0.4.2-py3-none-any.whl -
Subject digest:
5e48810a6aa317b88d69a784a08c74d25d835fda899fcdbcf7524561db213a17 - Sigstore transparency entry: 774187356
- Sigstore integration time:
-
Permalink:
JeanChristopheMorinPerso/rez-pip@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Branch / Tag:
refs/tags/0.4.2 - Owner: https://github.com/JeanChristopheMorinPerso
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Trigger Event:
release
-
Statement type:
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://slsa.dev/provenance/v1 -
Subject name:
rez_pip-0.4.2-py3-none-any.whl -
Subject digest:
5e48810a6aa317b88d69a784a08c74d25d835fda899fcdbcf7524561db213a17 - Sigstore transparency entry: 774187340
- Sigstore integration time:
-
Permalink:
JeanChristopheMorinPerso/rez-pip@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Branch / Tag:
refs/tags/0.4.2 - Owner: https://github.com/JeanChristopheMorinPerso
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@ad02d7964a8aabab3bdc51eabcb1eb6afd7daa60 -
Trigger Event:
release
-
Statement type: