{"action":"created","issue":{"url":"https://api.github.com/repos/pypa/pip/issues/4589","repository_url":"https://api.github.com/repos/pypa/pip","labels_url":"https://api.github.com/repos/pypa/pip/issues/4589/labels{/name}","comments_url":"https://api.github.com/repos/pypa/pip/issues/4589/comments","events_url":"https://api.github.com/repos/pypa/pip/issues/4589/events","html_url":"https://github.com/pypa/pip/pull/4589","id":239962587,"number":4589,"title":"Refactor in preparation for implementation of PEP 517","user":{"login":"xoviat","id":15351036,"avatar_url":"https://avatars1.githubusercontent.com/u/15351036?v=4","gravatar_id":"","url":"https://api.github.com/users/xoviat","html_url":"https://github.com/xoviat","followers_url":"https://api.github.com/users/xoviat/followers","following_url":"https://api.github.com/users/xoviat/following{/other_user}","gists_url":"https://api.github.com/users/xoviat/gists{/gist_id}","starred_url":"https://api.github.com/users/xoviat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xoviat/subscriptions","organizations_url":"https://api.github.com/users/xoviat/orgs","repos_url":"https://api.github.com/users/xoviat/repos","events_url":"https://api.github.com/users/xoviat/events{/privacy}","received_events_url":"https://api.github.com/users/xoviat/received_events","type":"User","site_admin":false},"labels":[{"id":82424,"url":"https://api.github.com/repos/pypa/pip/labels/kind%20-%20enhancement","name":"kind - enhancement","color":"c5def5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":55,"created_at":"2017-07-01T17:39:12Z","updated_at":"2017-09-05T01:00:50Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/pypa/pip/pulls/4589","html_url":"https://github.com/pypa/pip/pull/4589","diff_url":"https://github.com/pypa/pip/pull/4589.diff","patch_url":"https://github.com/pypa/pip/pull/4589.patch"},"body":"This change accomplishes two principle objectives:\r\n1. Moving the build isolation environment to be persistent throughout the build process. Because `egg_info` is invoked outside the wheel builder, the scope of the build environment should be (and is now here) the scope of req_install.\r\n2. Moving `setup.py` interactions into a new class called build backend. The goal of this is to make all of the build backend functions pure except for `self.setup_py_dir`. We can then simply copy the build backend directly into setuptools, but it's faster to develop here first so that we can stay in a single project."},"comment":{"url":"https://api.github.com/repos/pypa/pip/issues/comments/327045480","html_url":"https://github.com/pypa/pip/pull/4589#issuecomment-327045480","issue_url":"https://api.github.com/repos/pypa/pip/issues/4589","id":327045480,"user":{"login":"njsmith","id":609896,"avatar_url":"https://avatars0.githubusercontent.com/u/609896?v=4","gravatar_id":"","url":"https://api.github.com/users/njsmith","html_url":"https://github.com/njsmith","followers_url":"https://api.github.com/users/njsmith/followers","following_url":"https://api.github.com/users/njsmith/following{/other_user}","gists_url":"https://api.github.com/users/njsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/njsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/njsmith/subscriptions","organizations_url":"https://api.github.com/users/njsmith/orgs","repos_url":"https://api.github.com/users/njsmith/repos","events_url":"https://api.github.com/users/njsmith/events{/privacy}","received_events_url":"https://api.github.com/users/njsmith/received_events","type":"User","site_admin":false},"created_at":"2017-09-05T01:00:50Z","updated_at":"2017-09-05T01:00:50Z","author_association":"MEMBER","body":"Another possible approach to simplifying things would be to stop calling `egg_info` or equivalents entirely. Then you don't need to worry about persisting the environment.\r\n\r\nThe downside is that this doesn't work in the specific case where all of the following are true: there PEP 518 requirements + we're using the legacy build pathway + pip wants to call `setup.py install` directly instead of building a wheel. I'm not sure why this path still exists -- could we just drop it? (@dstufft?)"}}
{"actor":{"display_login":"njsmith"}}