Modern rez-pip
Project description
rez-pip
Modern rez-pip implementation. Very WIP.
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.
- Only download+convert package if it's not already in the rez repositories.
- etc
- 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 with
rez.system
andrez.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.
Tips
For now, it can be run like this:
rez-pip2 pytest
By default, rez packages will be released. You can choose a different path by passing the --install-path
argument to rez-pip2.
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
rez_pip-0.3.2.tar.gz
(2.1 MB
view details)
Built Distribution
File details
Details for the file rez_pip-0.3.2.tar.gz
.
File metadata
- Download URL: rez_pip-0.3.2.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e35df3d088652c035fc6c42c86fb5bc8a61b54a47ffcd03c712dd79e2e99071e |
|
MD5 | 7fd42ce901981e8a2f71ea3f83d8764c |
|
BLAKE2b-256 | 1847e389c10321b9b2ef398abf42aa31f79af90c143063312846b6c496f3810c |
File details
Details for the file rez_pip-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: rez_pip-0.3.2-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d945778acfbed991ea1c5735defc7971577c370343e0e74cac615812924a327 |
|
MD5 | 34d6a986d2e8c90dcfa6f5a3dc7ff14f |
|
BLAKE2b-256 | 4ebd9dd9e831c5df035b15544710da627dc849be882890b4608e478af5af7be4 |