Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Feature/pip install modern #602

Merged
merged 15 commits into from
Jun 26, 2019
Merged

[WIP] Feature/pip install modern #602

merged 15 commits into from
Jun 26, 2019

Commits on Jun 24, 2019

  1. refactor(rez-pip): remove include and data paths

    Remove staging directory paths required by old pip install method.
    Add comment to explain why the bin path although unused has been
    retained.
    
    Relates pypa/pip#5983, #475, #503
    lambdaclan committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    ef14e91 View commit details
    Browse the repository at this point in the history
  2. refactor(rez-pip): update the pip install arguments

    Update the pip install arguments to use a specific target directory
    to install the requested library. Set the install command to
    use PEP 517 for building source distributions to ensure a wheel
    is always built before installation.
    
    Relates pypa/pip#4501, #475, #503
    lambdaclan committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    9934d1a View commit details
    Browse the repository at this point in the history
  3. refactor(rez-pip): remove egg inclusion from distribution path creation

    Build a wheel before installation if the requested package
    does not already have a .whl file. No longer check for egg
    distributions.
    
    Relates #475, #503
    lambdaclan committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    1f31198 View commit details
    Browse the repository at this point in the history
  4. refactor(rez-pip): remove old way of checking for package dependencies

    Stop checking for dependencies using run requires.
    
    Relates #475, #503
    lambdaclan committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    2791b3f View commit details
    Browse the repository at this point in the history
  5. refactor(rez-pip): use dist info metadata attributes

    Use metadata attributes to retrieve core data such as the
    name, version and summary of the requested package.
    
    Relates https://www.python.org/dev/peps/pep-0426/#core-metadata, #475, #503
    lambdaclan committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    f8c73e4 View commit details
    Browse the repository at this point in the history
  6. refactor(rez-pip): use wheels metadata and record files to install

    Use wheel dist-info metadata and record files to perform the
    installation of the requested package including all its
    dependencies.
    
    BREAKING CHANGE:
    
    Currently rez is using `distlib` 0.2.4 released in late 2016. That
    version of the library does not correctly detect installed
    wheel distributions meaning that there is no access to metadata
    and record files.
    
    To fix your project, update your `distlib` library located in the
    src/vendor directory.
    lambdaclan committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    61aea5e View commit details
    Browse the repository at this point in the history
  7. refactor(rez-pip): revert dependency handling and per package install

    Revert dependency gathering method because new API methods
    such as distutils DependencyFinder and metadata extra, dependency
    fields are still not well documented or widely adopted with
    package maintainers.
    Ensure each dependency is installed as an individual rez package
    to avoid duplicates.
    
    Relates nerdvegas#475, nerdvegas#503
    lambdaclan committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    d02496c View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2019

  1. refactor(rez-pip): improve the handling of bin scripts

    The installation via Wheel distribution when using the --target
    flag, expects the bin directory to be two directories from the base
    path. After the wheel unpacking the bin directory is located in the
    base directory. Move the bin directory where the RECORD file expects
    it to be in order to improve readability and maintain consistency.
    lambdaclan committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    1d0ea46 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2019

  1. feat(rez-pip): add pip version check to ensure pep517 compatibility

    rez will now enforce wheel distribution based installations. A version
    of pip >= 19 is required in order to do so. Add pip version check
    to the callbacks of rez-pip command to validate that an up to date
    pip is being used.
    
    Relates: #602 #628 https://pip.pypa.io/en/stable/news/#id49
    lambdaclan committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    6f68d97 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cf22cd2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f188394 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e892a97 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8cb96ed View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e0b398f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    cdc4371 View commit details
    Browse the repository at this point in the history