You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend and/or override part or all of a package from PyPI with Rez-specific functionality.
Motivation
Rez is more capable than you're average Python package. For instance, they both support scripts on PATH, but only Rez is able to explicitly define the entirety of an environment upon entering a solved context.
Examples
Add commands() - Gain full control over the resulting environment
Replace name - E.g. replace Qt.py with Qt_py to avoid dots amongst your package
Replace version - Add extended support for versions, other than those possible via PEP 440 of just 3 dot-separated numbers and limited set of supported pre-release identifiers.
Implementation
Per default, a pip-package does not require a package.py which is instead generated based on properties made available by the wheel. However, if a wheel also contains a package.py, then those properties are instead used to augment it.
Goal
Extend and/or override part or all of a package from PyPI with Rez-specific functionality.
Motivation
Rez is more capable than you're average Python package. For instance, they both support scripts on PATH, but only Rez is able to explicitly define the entirety of an environment upon entering a solved context.
Examples
commands()
- Gain full control over the resulting environmentname
- E.g. replaceQt.py
withQt_py
to avoid dots amongst your packageversion
- Add extended support for versions, other than those possible via PEP 440 of just 3 dot-separated numbers and limited set of supported pre-release identifiers.Implementation
Per default, a pip-package does not require a
package.py
which is instead generated based on properties made available by the wheel. However, if a wheel also contains apackage.py
, then those properties are instead used to augment it.Provided by wheel
name
version
requires
commands(): env.PYTHONPATH.prepend("{root}/python")
For example, if a wheel contains the following.
my_project/setup.py
my_project/package.py
Then the resulting
package.py
would be.What you end up with is a package compatible with PyPI, with extended support for when that package is used with Rez. Win-win.
The text was updated successfully, but these errors were encountered: