{"action":"created","comment":{"url":"https://api.github.com/repos/njsmith/async_generator/pulls/comments/90773627","pull_request_review_id":11291334,"id":90773627,"diff_hunk":"@@ -6,15 +8,14 @@\n     name=\"async_generator\",\n     version=__version__,\n     description=\"Async generators for Python 3.5\",\n-    long_description=open(\"README.rst\").read(),\n+    long_description=Path(__file__).with_name(\"README.rst\").read_text('utf-8'),","path":"setup.py","position":11,"original_position":11,"commit_id":"5c12c095d23077359afec14ccb98df9d8b9bac46","original_commit_id":"5c12c095d23077359afec14ccb98df9d8b9bac46","user":{"login":"agronholm","id":130003,"avatar_url":"https://avatars.githubusercontent.com/u/130003?v=3","gravatar_id":"","url":"https://api.github.com/users/agronholm","html_url":"https://github.com/agronholm","followers_url":"https://api.github.com/users/agronholm/followers","following_url":"https://api.github.com/users/agronholm/following{/other_user}","gists_url":"https://api.github.com/users/agronholm/gists{/gist_id}","starred_url":"https://api.github.com/users/agronholm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agronholm/subscriptions","organizations_url":"https://api.github.com/users/agronholm/orgs","repos_url":"https://api.github.com/users/agronholm/repos","events_url":"https://api.github.com/users/agronholm/events{/privacy}","received_events_url":"https://api.github.com/users/agronholm/received_events","type":"User","site_admin":false},"body":"Figures out the path to `setup.py`, even if it's not in the current directory, and then changes the file name of the path to `README.rst` and finally reads the file contents as UTF-8 (the explicit encoding is necessary on Anaconda installs [like on RTD] where str.decode() for some incomprehensible reason does not default to utf-8!).\r\nIn the early days of my most popular project, APScheduler, I got a PR from someone who was doing RPM packaging of APScheduler. They were complaining that apscheduler's setup.py assumes that the working directory is the project directory, which apparently is not always the case. This line avoids that by not assuming anything about the CWD (and it closes the properly too, not that it really matters in the case of setup.py).","created_at":"2016-12-04T09:16:15Z","updated_at":"2016-12-04T09:16:15Z","html_url":"https://github.com/njsmith/async_generator/pull/4#discussion_r90773627","pull_request_url":"https://api.github.com/repos/njsmith/async_generator/pulls/4","_links":{"self":{"href":"https://api.github.com/repos/njsmith/async_generator/pulls/comments/90773627"},"html":{"href":"https://github.com/njsmith/async_generator/pull/4#discussion_r90773627"},"pull_request":{"href":"https://api.github.com/repos/njsmith/async_generator/pulls/4"}}},"pull_request":{"url":"https://api.github.com/repos/njsmith/async_generator/pulls/4","id":96408691,"html_url":"https://github.com/njsmith/async_generator/pull/4","diff_url":"https://github.com/njsmith/async_generator/pull/4.diff","patch_url":"https://github.com/njsmith/async_generator/pull/4.patch","issue_url":"https://api.github.com/repos/njsmith/async_generator/issues/4","number":4,"state":"open","locked":false,"title":"Minor improvements to setup.py","user":{"login":"agronholm","id":130003,"avatar_url":"https://avatars.githubusercontent.com/u/130003?v=3","gravatar_id":"","url":"https://api.github.com/users/agronholm","html_url":"https://github.com/agronholm","followers_url":"https://api.github.com/users/agronholm/followers","following_url":"https://api.github.com/users/agronholm/following{/other_user}","gists_url":"https://api.github.com/users/agronholm/gists{/gist_id}","starred_url":"https://api.github.com/users/agronholm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agronholm/subscriptions","organizations_url":"https://api.github.com/users/agronholm/orgs","repos_url":"https://api.github.com/users/agronholm/repos","events_url":"https://api.github.com/users/agronholm/events{/privacy}","received_events_url":"https://api.github.com/users/agronholm/received_events","type":"User","site_admin":false},"body":"I assume that as of at least v1.3, this is no longer in beta?","created_at":"2016-12-03T19:58:27Z","updated_at":"2016-12-04T09:16:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d885adec8bed07710680c2744d3571b663a1343a","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/njsmith/async_generator/pulls/4/commits","review_comments_url":"https://api.github.com/repos/njsmith/async_generator/pulls/4/comments","review_comment_url":"https://api.github.com/repos/njsmith/async_generator/pulls/comments{/number}","comments_url":"https://api.github.com/repos/njsmith/async_generator/issues/4/comments","statuses_url":"https://api.github.com/repos/njsmith/async_generator/statuses/5c12c095d23077359afec14ccb98df9d8b9bac46","head":{"label":"agronholm:setup_py","ref":"setup_py","sha":"5c12c095d23077359afec14ccb98df9d8b9bac46","user":{"login":"agronholm","id":130003,"avatar_url":"https://avatars.githubusercontent.com/u/130003?v=3","gravatar_id":"","url":"https://api.github.com/users/agronholm","html_url":"https://github.com/agronholm","followers_url":"https://api.github.com/users/agronholm/followers","following_url":"https://api.github.com/users/agronholm/following{/other_user}","gists_url":"https://api.github.com/users/agronholm/gists{/gist_id}","starred_url":"https://api.github.com/users/agronholm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agronholm/subscriptions","organizations_url":"https://api.github.com/users/agronholm/orgs","repos_url":"https://api.github.com/users/agronholm/repos","events_url":"https://api.github.com/users/agronholm/events{/privacy}","received_events_url":"https://api.github.com/users/agronholm/received_events","type":"User","site_admin":false},"repo":{"id":75496466,"name":"async_generator","full_name":"agronholm/async_generator","owner":{"login":"agronholm","id":130003,"avatar_url":"https://avatars.githubusercontent.com/u/130003?v=3","gravatar_id":"","url":"https://api.github.com/users/agronholm","html_url":"https://github.com/agronholm","followers_url":"https://api.github.com/users/agronholm/followers","following_url":"https://api.github.com/users/agronholm/following{/other_user}","gists_url":"https://api.github.com/users/agronholm/gists{/gist_id}","starred_url":"https://api.github.com/users/agronholm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agronholm/subscriptions","organizations_url":"https://api.github.com/users/agronholm/orgs","repos_url":"https://api.github.com/users/agronholm/repos","events_url":"https://api.github.com/users/agronholm/events{/privacy}","received_events_url":"https://api.github.com/users/agronholm/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/agronholm/async_generator","description":"Making it easy to write async iterators in Python 3.5","fork":true,"url":"https://api.github.com/repos/agronholm/async_generator","forks_url":"https://api.github.com/repos/agronholm/async_generator/forks","keys_url":"https://api.github.com/repos/agronholm/async_generator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/agronholm/async_generator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/agronholm/async_generator/teams","hooks_url":"https://api.github.com/repos/agronholm/async_generator/hooks","issue_events_url":"https://api.github.com/repos/agronholm/async_generator/issues/events{/number}","events_url":"https://api.github.com/repos/agronholm/async_generator/events","assignees_url":"https://api.github.com/repos/agronholm/async_generator/assignees{/user}","branches_url":"https://api.github.com/repos/agronholm/async_generator/branches{/branch}","tags_url":"https://api.github.com/repos/agronholm/async_generator/tags","blobs_url":"https://api.github.com/repos/agronholm/async_generator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/agronholm/async_generator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/agronholm/async_generator/git/refs{/sha}","trees_url":"https://api.github.com/repos/agronholm/async_generator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/agronholm/async_generator/statuses/{sha}","languages_url":"https://api.github.com/repos/agronholm/async_generator/languages","stargazers_url":"https://api.github.com/repos/agronholm/async_generator/stargazers","contributors_url":"https://api.github.com/repos/agronholm/async_generator/contributors","subscribers_url":"https://api.github.com/repos/agronholm/async_generator/subscribers","subscription_url":"https://api.github.com/repos/agronholm/async_generator/subscription","commits_url":"https://api.github.com/repos/agronholm/async_generator/commits{/sha}","git_commits_url":"https://api.github.com/repos/agronholm/async_generator/git/commits{/sha}","comments_url":"https://api.github.com/repos/agronholm/async_generator/comments{/number}","issue_comment_url":"https://api.github.com/repos/agronholm/async_generator/issues/comments{/number}","contents_url":"https://api.github.com/repos/agronholm/async_generator/contents/{+path}","compare_url":"https://api.github.com/repos/agronholm/async_generator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/agronholm/async_generator/merges","archive_url":"https://api.github.com/repos/agronholm/async_generator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/agronholm/async_generator/downloads","issues_url":"https://api.github.com/repos/agronholm/async_generator/issues{/number}","pulls_url":"https://api.github.com/repos/agronholm/async_generator/pulls{/number}","milestones_url":"https://api.github.com/repos/agronholm/async_generator/milestones{/number}","notifications_url":"https://api.github.com/repos/agronholm/async_generator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/agronholm/async_generator/labels{/name}","releases_url":"https://api.github.com/repos/agronholm/async_generator/releases{/id}","deployments_url":"https://api.github.com/repos/agronholm/async_generator/deployments","created_at":"2016-12-03T19:48:23Z","updated_at":"2016-12-03T19:48:24Z","pushed_at":"2016-12-03T19:57:40Z","git_url":"git://github.com/agronholm/async_generator.git","ssh_url":"git@github.com:agronholm/async_generator.git","clone_url":"https://github.com/agronholm/async_generator.git","svn_url":"https://github.com/agronholm/async_generator","homepage":"","size":61,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"njsmith:master","ref":"master","sha":"d19046656c5b10bd7eb9e7793975d99d4655f888","user":{"login":"njsmith","id":609896,"avatar_url":"https://avatars.githubusercontent.com/u/609896?v=3","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},"repo":{"id":60112633,"name":"async_generator","full_name":"njsmith/async_generator","owner":{"login":"njsmith","id":609896,"avatar_url":"https://avatars.githubusercontent.com/u/609896?v=3","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},"private":false,"html_url":"https://github.com/njsmith/async_generator","description":"Making it easy to write async iterators in Python 3.5","fork":false,"url":"https://api.github.com/repos/njsmith/async_generator","forks_url":"https://api.github.com/repos/njsmith/async_generator/forks","keys_url":"https://api.github.com/repos/njsmith/async_generator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/njsmith/async_generator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/njsmith/async_generator/teams","hooks_url":"https://api.github.com/repos/njsmith/async_generator/hooks","issue_events_url":"https://api.github.com/repos/njsmith/async_generator/issues/events{/number}","events_url":"https://api.github.com/repos/njsmith/async_generator/events","assignees_url":"https://api.github.com/repos/njsmith/async_generator/assignees{/user}","branches_url":"https://api.github.com/repos/njsmith/async_generator/branches{/branch}","tags_url":"https://api.github.com/repos/njsmith/async_generator/tags","blobs_url":"https://api.github.com/repos/njsmith/async_generator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/njsmith/async_generator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/njsmith/async_generator/git/refs{/sha}","trees_url":"https://api.github.com/repos/njsmith/async_generator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/njsmith/async_generator/statuses/{sha}","languages_url":"https://api.github.com/repos/njsmith/async_generator/languages","stargazers_url":"https://api.github.com/repos/njsmith/async_generator/stargazers","contributors_url":"https://api.github.com/repos/njsmith/async_generator/contributors","subscribers_url":"https://api.github.com/repos/njsmith/async_generator/subscribers","subscription_url":"https://api.github.com/repos/njsmith/async_generator/subscription","commits_url":"https://api.github.com/repos/njsmith/async_generator/commits{/sha}","git_commits_url":"https://api.github.com/repos/njsmith/async_generator/git/commits{/sha}","comments_url":"https://api.github.com/repos/njsmith/async_generator/comments{/number}","issue_comment_url":"https://api.github.com/repos/njsmith/async_generator/issues/comments{/number}","contents_url":"https://api.github.com/repos/njsmith/async_generator/contents/{+path}","compare_url":"https://api.github.com/repos/njsmith/async_generator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/njsmith/async_generator/merges","archive_url":"https://api.github.com/repos/njsmith/async_generator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/njsmith/async_generator/downloads","issues_url":"https://api.github.com/repos/njsmith/async_generator/issues{/number}","pulls_url":"https://api.github.com/repos/njsmith/async_generator/pulls{/number}","milestones_url":"https://api.github.com/repos/njsmith/async_generator/milestones{/number}","notifications_url":"https://api.github.com/repos/njsmith/async_generator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/njsmith/async_generator/labels{/name}","releases_url":"https://api.github.com/repos/njsmith/async_generator/releases{/id}","deployments_url":"https://api.github.com/repos/njsmith/async_generator/deployments","created_at":"2016-05-31T18:14:56Z","updated_at":"2016-11-16T08:35:02Z","pushed_at":"2016-12-04T02:16:24Z","git_url":"git://github.com/njsmith/async_generator.git","ssh_url":"git@github.com:njsmith/async_generator.git","clone_url":"https://github.com/njsmith/async_generator.git","svn_url":"https://github.com/njsmith/async_generator","homepage":"","size":77,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/njsmith/async_generator/pulls/4"},"html":{"href":"https://github.com/njsmith/async_generator/pull/4"},"issue":{"href":"https://api.github.com/repos/njsmith/async_generator/issues/4"},"comments":{"href":"https://api.github.com/repos/njsmith/async_generator/issues/4/comments"},"review_comments":{"href":"https://api.github.com/repos/njsmith/async_generator/pulls/4/comments"},"review_comment":{"href":"https://api.github.com/repos/njsmith/async_generator/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/njsmith/async_generator/pulls/4/commits"},"statuses":{"href":"https://api.github.com/repos/njsmith/async_generator/statuses/5c12c095d23077359afec14ccb98df9d8b9bac46"}}}}
{"actor":{"display_login":"agronholm"}}