{"action":"created","issue":{"url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4501","labels_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4501/labels{/name}","comments_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4501/comments","events_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4501/events","html_url":"https://github.com/matplotlib/matplotlib/pull/4501","id":85951958,"number":4501,"title":"ENH: ship our own copy of six 1.9.0","user":{"login":"matthew-brett","id":67612,"avatar_url":"https://avatars.githubusercontent.com/u/67612?v=3","gravatar_id":"","url":"https://api.github.com/users/matthew-brett","html_url":"https://github.com/matthew-brett","followers_url":"https://api.github.com/users/matthew-brett/followers","following_url":"https://api.github.com/users/matthew-brett/following{/other_user}","gists_url":"https://api.github.com/users/matthew-brett/gists{/gist_id}","starred_url":"https://api.github.com/users/matthew-brett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthew-brett/subscriptions","organizations_url":"https://api.github.com/users/matthew-brett/orgs","repos_url":"https://api.github.com/users/matthew-brett/repos","events_url":"https://api.github.com/users/matthew-brett/events{/privacy}","received_events_url":"https://api.github.com/users/matthew-brett/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/matplotlib/matplotlib/labels/needs_review","name":"needs_review","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/matplotlib/matplotlib/milestones/18","html_url":"https://github.com/matplotlib/matplotlib/milestones/next%20point%20release","labels_url":"https://api.github.com/repos/matplotlib/matplotlib/milestones/18/labels","id":970105,"number":18,"title":"next point release","description":"Next minor release.","creator":{"login":"tacaswell","id":199813,"avatar_url":"https://avatars.githubusercontent.com/u/199813?v=3","gravatar_id":"","url":"https://api.github.com/users/tacaswell","html_url":"https://github.com/tacaswell","followers_url":"https://api.github.com/users/tacaswell/followers","following_url":"https://api.github.com/users/tacaswell/following{/other_user}","gists_url":"https://api.github.com/users/tacaswell/gists{/gist_id}","starred_url":"https://api.github.com/users/tacaswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tacaswell/subscriptions","organizations_url":"https://api.github.com/users/tacaswell/orgs","repos_url":"https://api.github.com/users/tacaswell/repos","events_url":"https://api.github.com/users/tacaswell/events{/privacy}","received_events_url":"https://api.github.com/users/tacaswell/received_events","type":"User","site_admin":false},"open_issues":205,"closed_issues":154,"state":"open","created_at":"2015-02-07T21:22:30Z","updated_at":"2015-06-08T03:08:07Z","due_on":"2015-07-06T04:00:00Z","closed_at":null},"comments":7,"created_at":"2015-06-07T21:57:54Z","updated_at":"2015-06-08T05:48:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/matplotlib/matplotlib/pulls/4501","html_url":"https://github.com/matplotlib/matplotlib/pull/4501","diff_url":"https://github.com/matplotlib/matplotlib/pull/4501.diff","patch_url":"https://github.com/matplotlib/matplotlib/pull/4501.patch"},"body":"Six seems to be the external dependency that is most likely to cause problems,\nand it is a small standalone .py file that is designed for projects to ship in\ntheir source tree.\n\nShipping has the following advantages:\n\n* Reduces pip dependencies by one;\n* Makes mpl less vulnerable to upstream changes in six.  At present, it\n  is possible for six to change upstream in pypi and break matplotlib\n  installs, requiring a new mpl release.\n\nIt does mean that we don't get the lastest six, but I believe this is an\nadvantage for the reason above.  Now we are so far into the Python 3 era, six\nshould be rather stable.\n\nProjects like Debian can be aggressive about separating dependencies, but in\nthis case, I believe this would be severe overkill - six  is specifically\ndesigned for shipping inside other projects.  Quoting from:\nhttp://pythonhosted.org/six/\n\n\"six consists of only one Python file, so it is painless to copy into a\nproject.\""},"comment":{"url":"https://api.github.com/repos/matplotlib/matplotlib/issues/comments/109872891","html_url":"https://github.com/matplotlib/matplotlib/pull/4501#issuecomment-109872891","issue_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4501","id":109872891,"user":{"login":"cgohlke","id":483428,"avatar_url":"https://avatars.githubusercontent.com/u/483428?v=3","gravatar_id":"","url":"https://api.github.com/users/cgohlke","html_url":"https://github.com/cgohlke","followers_url":"https://api.github.com/users/cgohlke/followers","following_url":"https://api.github.com/users/cgohlke/following{/other_user}","gists_url":"https://api.github.com/users/cgohlke/gists{/gist_id}","starred_url":"https://api.github.com/users/cgohlke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgohlke/subscriptions","organizations_url":"https://api.github.com/users/cgohlke/orgs","repos_url":"https://api.github.com/users/cgohlke/repos","events_url":"https://api.github.com/users/cgohlke/events{/privacy}","received_events_url":"https://api.github.com/users/cgohlke/received_events","type":"User","site_admin":false},"created_at":"2015-06-08T05:48:06Z","updated_at":"2015-06-08T05:48:06Z","body":"I can not see anything wrong on Windows.\r\n\r\nThe bdist_wininst installers don't include or automatically install any dependencies so the user is expected to install them in addition to matplotlib. This is documented at https://github.com/matplotlib/matplotlib/blob/master/INSTALL#L51.\r\n\r\nAfter numpy is installed manually (no wheels are available on pypi), `pip install matplotlib` installs all required dependencies including six, for example:\r\n```\r\nC:\\Python27>python -m ensurepip\r\nIgnoring indexes: https://pypi.python.org/simple\r\nCollecting setuptools\r\nCollecting pip\r\nInstalling collected packages: setuptools, pip\r\nSuccessfully installed pip-7.0.1 setuptools-16.0\r\n\r\nC:\\Python27>python -m pip install \"numpy-1.9.2+mkl-cp27-none-win_amd64.whl\"\r\nInstalling collected packages: numpy\r\nSuccessfully installed numpy-1.9.2\r\n\r\nC:\\Python27>python -m pip install matplotlib\r\nCollecting matplotlib\r\n  Downloading matplotlib-1.4.3-cp27-none-win_amd64.whl (4.0MB)\r\n    100% |################################| 4.0MB 137kB/s\r\nCollecting pyparsing>=1.5.6 (from matplotlib)\r\n  Downloading pyparsing-2.0.3-py2.py3-none-any.whl\r\nRequirement already satisfied (use --upgrade to upgrade): numpy>=1.6 in d:\\build\\_wheels\\wheel_test_\\python-2.7.10.amd64\\lib\\site-packages (from matplotlib)\r\nCollecting pytz (from matplotlib)\r\n  Downloading pytz-2015.4-py2.py3-none-any.whl (475kB)\r\n    100% |################################| 475kB 1.3MB/s\r\nCollecting python-dateutil (from matplotlib)\r\n  Downloading python_dateutil-2.4.2-py2.py3-none-any.whl (188kB)\r\n    100% |################################| 192kB 1.3MB/s\r\nCollecting six>=1.4 (from matplotlib)\r\n  Using cached six-1.9.0-py2.py3-none-any.whl\r\nInstalling collected packages: pyparsing, pytz, six, python-dateutil, matplotlib\r\nSuccessfully installed matplotlib-1.4.3 pyparsing-2.0.3 python-dateutil-2.4.2 pytz-2015.4 six-1.9.0\r\n```"}}