{"action":"created","comment":{"url":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/comments/39401988","id":39401988,"diff_hunk":"@@ -51,109 +60,110 @@\n     # Visual Studio C++ 2010 does not need Assembly manifests anymore and\n     # uses C++ runtime libraries the old way - pointing to C:\\Windows\\System32.\n     # It is necessary to allow inclusion of these libraries from C:\\Windows\\System32.\n-    r'atl100.dll$': 1,\n-    r'msvcr100.dll$': 1,\n-    r'msvcp100.dll$': 1,\n-    r'mfc100.dll$': 1,\n-    r'mfc100u.dll$': 1,\n-    r'mfcmifc80.dll$': 1,\n-    r'mfcm100.dll$': 1,\n-    r'mfcm100u.dll$': 1,\n+    r'^atl100\\.dll$',\n+    r'^msvcr100\\.dll$',\n+    r'^msvcp100\\.dll$',\n+    r'^mfc100\\.dll$',\n+    r'^mfc100u\\.dll$',\n+    r'^mfcmifc80\\.dll$',\n+    r'^mfcm100\\.dll$',\n+    r'^mfcm100u\\.dll$',\n \n     # Python 3.5 uses the Univeral C Runtime which consists of these DLLs:\n+    r'^api-ms-win-core.*$',\n+    r'^api-ms-win-crt.*$',\n+    r'^ucrtbase\\.dll$',\n+\n+    # Allow pythonNN.dll, pythoncomNN.dll, pywintypesNN.dll\n+    r'^py(?:thon(?:com(?:loader)?)?|wintypes)\\d+\\.dll$',\n+])\n+\n+_win_excludes = set([\n+    # On Windows, only .dll files can be loaded.\n+    r'^.*\\.so$',\n+    r'^.*\\.dylib$',\n \n-    r'api-ms-win-core.*$': 1,\n-    r'api-ms-win-crt.*$': 1,\n-    r'ucrtbase.dll': 1,\n-}\n-_win_excludes = {\n     # MS assembly excludes\n-    r'^Microsoft\\.Windows\\.Common-Controls$': 1,\n-}\n+    r'^Microsoft\\.Windows\\.Common-Controls$',\n+])\n \n \n-_unix_excludes = {\n-    r'/libc\\.so\\..*': 1,\n-    r'/libdl\\.so\\..*': 1,\n-    r'/libm\\.so\\..*': 1,\n-    r'/libpthread\\.so\\..*': 1,\n-    r'/librt\\.so\\..*': 1,\n-    r'/libthread_db\\.so\\..*': 1,\n+_unix_excludes = set([\n+    r'^libc\\.so(\\..*)?$',\n+    r'^libdl\\.so(\\..*)?$',\n+    r'^libm\\.so(\\..*)?$',\n+    r'^libpthread\\.so(\\..*)?$',\n+    r'^librt\\.so(\\..*)?$',\n+    r'^libthread_db\\.so(\\..*)?$',\n     # glibc regex excludes.\n-    r'/ld-linux\\.so\\..*': 1,\n-    r'/libBrokenLocale\\.so\\..*': 1,\n-    r'/libanl\\.so\\..*': 1,\n-    r'/libcidn\\.so\\..*': 1,\n-    r'/libcrypt\\.so\\..*': 1,\n-    r'/libnsl\\.so\\..*': 1,\n-    r'/libnss_compat.*\\.so\\..*': 1,\n-    r'/libnss_dns.*\\.so\\..*': 1,\n-    r'/libnss_files.*\\.so\\..*': 1,\n-    r'/libnss_hesiod.*\\.so\\..*': 1,\n-    r'/libnss_nis.*\\.so\\..*': 1,\n-    r'/libnss_nisplus.*\\.so\\..*': 1,\n-    r'/libresolv\\.so\\..*': 1,\n-    r'/libutil\\.so\\..*': 1,\n+    r'^ld-linux\\.so(\\..*)?$',\n+    r'^libBrokenLocale\\.so(\\..*)?$',\n+    r'^libanl\\.so(\\..*)?$',\n+    r'^libcidn\\.so(\\..*)?$',\n+    r'^libcrypt\\.so(\\..*)?$',\n+    r'^libnsl\\.so(\\..*)?$',\n+    r'^libnss_compat.*\\.so(\\..*)?$',\n+    r'^libnss_dns.*\\.so(\\..*)?$',\n+    r'^libnss_files.*\\.so(\\..*)?$',\n+    r'^libnss_hesiod.*\\.so(\\..*)?$',\n+    r'^libnss_nis.*\\.so(\\..*)?$',\n+    r'^libnss_nisplus.*\\.so(\\..*)?$',\n+    r'^libresolv\\.so(\\..*)?$',\n+    r'^libutil\\.so(\\..*)?$',\n     # libGL can reference some hw specific libraries (like nvidia libs).\n-    r'/libGL\\..*': 1,\n-    # libxcb-dri changes ABI frequently (e.g.: between Ubuntu LTS releases) and is usually installed\n-    # as dependency of the graphics stack anyway. No need to bundle it.\n-    r'/libxcb\\.so\\..*': 1,\n-    r'/libxcb-dri.*\\.so\\..*': 1,\n-}\n-\n-_aix_excludes = {\n-    r'/libbz2\\.a': 1,\n-    r'/libc\\.a': 1,\n-    r'/libC\\.a': 1,\n-    r'/libcrypt\\.a': 1,\n-    r'/libdl\\.a': 1,\n-    r'/libintl\\.a': 1,\n-    r'/libpthreads\\.a': 1,\n-    r'/librt\\\\.a': 1,\n-    r'/librtl\\.a': 1,\n-    r'/libz\\.a': 1,\n-}\n+    r'^libGL\\..*',\n+    # libxcb-dri changes ABI frequently (e.g.: between Ubuntu LTS releases) and\n+    # is usually installed as dependency of the graphics stack anyway. No need\n+    # to bundle it.\n+    r'^libxcb\\.so(\\..*)?$',\n+    r'^libxcb-dri.*\\.so(\\..*)?$',\n+])\n+\n+_aix_excludes = set([\n+    r'^libbz2\\.a$',\n+    r'^libc\\.a$',\n+    r'^libC\\.a$',\n+    r'^libcrypt\\.a$',\n+    r'^libdl\\.a$',\n+    r'^libintl\\.a$',\n+    r'^libpthreads\\.a$',\n+    r'^librt\\\\.a$',\n+    r'^librtl\\.a$',\n+    r'^libz\\.a$',\n+])\n \n \n if is_win:\n-    _includes = _win_includes\n-    _excludes = _win_excludes\n-    sep = '[%s]' % re.escape(os.sep + os.altsep)\n-    # Exclude everything from the Windows directory by default.\n-    windir = re.escape(winutils.get_windows_dir())\n-    _excludes['^%s%s' % (windir, sep)] = 1\n-    # Allow pythonNN.dll, pythoncomNN.dll, pywintypesNN.dll\n-    _includes[r'%spy(?:thon(?:com(?:loader)?)?|wintypes)\\d+\\.dll$' % sep] = 1\n-\n+    _includes |= _win_includes\n+    _excludes |= _win_excludes\n elif is_aix:\n     # The exclude list for AIX differs from other *nix platforms.\n-    _excludes = _aix_excludes\n+    _excludes |= _aix_excludes\n elif is_unix:\n     # Common excludes for *nix platforms -- except AIX.\n-    _excludes = _unix_excludes\n+    _excludes |= _unix_excludes\n \n \n class ExcludeList(object):\n     def __init__(self):\n-        self.regex = re.compile('|'.join(_excludes.keys()), re.I)\n+        self.regex = re.compile('|'.join(_excludes), re.I)\n \n     def search(self, libname):\n         # Running re.search() on '' regex never returns None.\n         if _excludes:\n-            return self.regex.search(libname)\n+            return self.regex.search(os.path.basename(libname))","path":"PyInstaller/depend/dylib.py","position":null,"original_position":202,"commit_id":"d539ba5e80d7f2c3386d61c4f4930ef427323b4c","original_commit_id":"a924202c211efc4a58a2f3f023b687ffa71e6048","user":{"login":"philpep","id":387511,"avatar_url":"https://avatars.githubusercontent.com/u/387511?v=3","gravatar_id":"","url":"https://api.github.com/users/philpep","html_url":"https://github.com/philpep","followers_url":"https://api.github.com/users/philpep/followers","following_url":"https://api.github.com/users/philpep/following{/other_user}","gists_url":"https://api.github.com/users/philpep/gists{/gist_id}","starred_url":"https://api.github.com/users/philpep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philpep/subscriptions","organizations_url":"https://api.github.com/users/philpep/orgs","repos_url":"https://api.github.com/users/philpep/repos","events_url":"https://api.github.com/users/philpep/events{/privacy}","received_events_url":"https://api.github.com/users/philpep/received_events","type":"User","site_admin":false},"body":"I agree with you. Updated in d539ba5","created_at":"2015-09-14T14:44:54Z","updated_at":"2015-09-14T14:44:54Z","html_url":"https://github.com/pyinstaller/pyinstaller/pull/1477#discussion_r39401988","pull_request_url":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477","_links":{"self":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/comments/39401988"},"html":{"href":"https://github.com/pyinstaller/pyinstaller/pull/1477#discussion_r39401988"},"pull_request":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477"}}},"pull_request":{"url":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477","id":44635801,"html_url":"https://github.com/pyinstaller/pyinstaller/pull/1477","diff_url":"https://github.com/pyinstaller/pyinstaller/pull/1477.diff","patch_url":"https://github.com/pyinstaller/pyinstaller/pull/1477.patch","issue_url":"https://api.github.com/repos/pyinstaller/pyinstaller/issues/1477","number":1477,"state":"open","locked":false,"title":"Fix: don't bundle excluded libraries","user":{"login":"philpep","id":387511,"avatar_url":"https://avatars.githubusercontent.com/u/387511?v=3","gravatar_id":"","url":"https://api.github.com/users/philpep","html_url":"https://github.com/philpep","followers_url":"https://api.github.com/users/philpep/followers","following_url":"https://api.github.com/users/philpep/following{/other_user}","gists_url":"https://api.github.com/users/philpep/gists{/gist_id}","starred_url":"https://api.github.com/users/philpep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philpep/subscriptions","organizations_url":"https://api.github.com/users/philpep/orgs","repos_url":"https://api.github.com/users/philpep/repos","events_url":"https://api.github.com/users/philpep/events{/privacy}","received_events_url":"https://api.github.com/users/philpep/received_events","type":"User","site_admin":false},"body":"Loading a different version of the libc cause a segfault at runtime.\r\n\r\nA simple test case is:\r\n\r\n````python\r\nimport ctypes\r\nctypes.CDLL(\"libc.so.6\")\r\n````\r\n\r\nbuilding this on debian wheezy (glibc 2.13) and running it on debian jessie (glibc 2.19) was causing a segfault.\r\n\r\nIf found the issue with the \"watchdog\" package which use inotify on linux and have this piece of code.\r\n\r\nAs a workaround we can use this sample code in the spec file:\r\n\r\n````python\r\na = Analysis(...)\r\n\r\nfor e in a.binaries[:]:\r\n    if e[0] in (\"libc.so\", \"libc.so.6\"):\r\n        a.binaries.remove(e)\r\n\r\n[...]\r\n````","created_at":"2015-09-10T07:29:15Z","updated_at":"2015-09-14T14:44:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4e3e1f9c20bbacc2f4c8d8095c8240cdc753f0cf","assignee":{"login":"matysek","id":527280,"avatar_url":"https://avatars.githubusercontent.com/u/527280?v=3","gravatar_id":"","url":"https://api.github.com/users/matysek","html_url":"https://github.com/matysek","followers_url":"https://api.github.com/users/matysek/followers","following_url":"https://api.github.com/users/matysek/following{/other_user}","gists_url":"https://api.github.com/users/matysek/gists{/gist_id}","starred_url":"https://api.github.com/users/matysek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matysek/subscriptions","organizations_url":"https://api.github.com/users/matysek/orgs","repos_url":"https://api.github.com/users/matysek/repos","events_url":"https://api.github.com/users/matysek/events{/privacy}","received_events_url":"https://api.github.com/users/matysek/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/pyinstaller/pyinstaller/milestones/9","html_url":"https://github.com/pyinstaller/pyinstaller/milestones/PyInstaller%203.0","labels_url":"https://api.github.com/repos/pyinstaller/pyinstaller/milestones/9/labels","id":831132,"number":9,"title":"PyInstaller 3.0","description":" * Add Python 3 support\r\n * Use modulegraph library for dependency analysis.","creator":{"login":"pyinstaller-tickets-migration","id":5377465,"avatar_url":"https://avatars.githubusercontent.com/u/5377465?v=3","gravatar_id":"","url":"https://api.github.com/users/pyinstaller-tickets-migration","html_url":"https://github.com/pyinstaller-tickets-migration","followers_url":"https://api.github.com/users/pyinstaller-tickets-migration/followers","following_url":"https://api.github.com/users/pyinstaller-tickets-migration/following{/other_user}","gists_url":"https://api.github.com/users/pyinstaller-tickets-migration/gists{/gist_id}","starred_url":"https://api.github.com/users/pyinstaller-tickets-migration/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyinstaller-tickets-migration/subscriptions","organizations_url":"https://api.github.com/users/pyinstaller-tickets-migration/orgs","repos_url":"https://api.github.com/users/pyinstaller-tickets-migration/repos","events_url":"https://api.github.com/users/pyinstaller-tickets-migration/events{/privacy}","received_events_url":"https://api.github.com/users/pyinstaller-tickets-migration/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":109,"state":"open","created_at":"2014-10-18T13:32:07Z","updated_at":"2015-09-14T12:20:54Z","due_on":"2015-09-29T22:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477/commits","review_comments_url":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477/comments","review_comment_url":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pyinstaller/pyinstaller/issues/1477/comments","statuses_url":"https://api.github.com/repos/pyinstaller/pyinstaller/statuses/d539ba5e80d7f2c3386d61c4f4930ef427323b4c","head":{"label":"philpep:ctypes-ignore-libc","ref":"ctypes-ignore-libc","sha":"d539ba5e80d7f2c3386d61c4f4930ef427323b4c","user":{"login":"philpep","id":387511,"avatar_url":"https://avatars.githubusercontent.com/u/387511?v=3","gravatar_id":"","url":"https://api.github.com/users/philpep","html_url":"https://github.com/philpep","followers_url":"https://api.github.com/users/philpep/followers","following_url":"https://api.github.com/users/philpep/following{/other_user}","gists_url":"https://api.github.com/users/philpep/gists{/gist_id}","starred_url":"https://api.github.com/users/philpep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philpep/subscriptions","organizations_url":"https://api.github.com/users/philpep/orgs","repos_url":"https://api.github.com/users/philpep/repos","events_url":"https://api.github.com/users/philpep/events{/privacy}","received_events_url":"https://api.github.com/users/philpep/received_events","type":"User","site_admin":false},"repo":{"id":42186141,"name":"pyinstaller","full_name":"philpep/pyinstaller","owner":{"login":"philpep","id":387511,"avatar_url":"https://avatars.githubusercontent.com/u/387511?v=3","gravatar_id":"","url":"https://api.github.com/users/philpep","html_url":"https://github.com/philpep","followers_url":"https://api.github.com/users/philpep/followers","following_url":"https://api.github.com/users/philpep/following{/other_user}","gists_url":"https://api.github.com/users/philpep/gists{/gist_id}","starred_url":"https://api.github.com/users/philpep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philpep/subscriptions","organizations_url":"https://api.github.com/users/philpep/orgs","repos_url":"https://api.github.com/users/philpep/repos","events_url":"https://api.github.com/users/philpep/events{/privacy}","received_events_url":"https://api.github.com/users/philpep/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/philpep/pyinstaller","description":"PyInstaller official GIT repository ","fork":true,"url":"https://api.github.com/repos/philpep/pyinstaller","forks_url":"https://api.github.com/repos/philpep/pyinstaller/forks","keys_url":"https://api.github.com/repos/philpep/pyinstaller/keys{/key_id}","collaborators_url":"https://api.github.com/repos/philpep/pyinstaller/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/philpep/pyinstaller/teams","hooks_url":"https://api.github.com/repos/philpep/pyinstaller/hooks","issue_events_url":"https://api.github.com/repos/philpep/pyinstaller/issues/events{/number}","events_url":"https://api.github.com/repos/philpep/pyinstaller/events","assignees_url":"https://api.github.com/repos/philpep/pyinstaller/assignees{/user}","branches_url":"https://api.github.com/repos/philpep/pyinstaller/branches{/branch}","tags_url":"https://api.github.com/repos/philpep/pyinstaller/tags","blobs_url":"https://api.github.com/repos/philpep/pyinstaller/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/philpep/pyinstaller/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/philpep/pyinstaller/git/refs{/sha}","trees_url":"https://api.github.com/repos/philpep/pyinstaller/git/trees{/sha}","statuses_url":"https://api.github.com/repos/philpep/pyinstaller/statuses/{sha}","languages_url":"https://api.github.com/repos/philpep/pyinstaller/languages","stargazers_url":"https://api.github.com/repos/philpep/pyinstaller/stargazers","contributors_url":"https://api.github.com/repos/philpep/pyinstaller/contributors","subscribers_url":"https://api.github.com/repos/philpep/pyinstaller/subscribers","subscription_url":"https://api.github.com/repos/philpep/pyinstaller/subscription","commits_url":"https://api.github.com/repos/philpep/pyinstaller/commits{/sha}","git_commits_url":"https://api.github.com/repos/philpep/pyinstaller/git/commits{/sha}","comments_url":"https://api.github.com/repos/philpep/pyinstaller/comments{/number}","issue_comment_url":"https://api.github.com/repos/philpep/pyinstaller/issues/comments{/number}","contents_url":"https://api.github.com/repos/philpep/pyinstaller/contents/{+path}","compare_url":"https://api.github.com/repos/philpep/pyinstaller/compare/{base}...{head}","merges_url":"https://api.github.com/repos/philpep/pyinstaller/merges","archive_url":"https://api.github.com/repos/philpep/pyinstaller/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/philpep/pyinstaller/downloads","issues_url":"https://api.github.com/repos/philpep/pyinstaller/issues{/number}","pulls_url":"https://api.github.com/repos/philpep/pyinstaller/pulls{/number}","milestones_url":"https://api.github.com/repos/philpep/pyinstaller/milestones{/number}","notifications_url":"https://api.github.com/repos/philpep/pyinstaller/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/philpep/pyinstaller/labels{/name}","releases_url":"https://api.github.com/repos/philpep/pyinstaller/releases{/id}","created_at":"2015-09-09T15:09:26Z","updated_at":"2015-09-09T15:09:27Z","pushed_at":"2015-09-14T14:44:00Z","git_url":"git://github.com/philpep/pyinstaller.git","ssh_url":"git@github.com:philpep/pyinstaller.git","clone_url":"https://github.com/philpep/pyinstaller.git","svn_url":"https://github.com/philpep/pyinstaller","homepage":"http://www.pyinstaller.org","size":29322,"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":"develop"}},"base":{"label":"pyinstaller:python3","ref":"python3","sha":"8fa344644e3f9675afd4a179a879f8e98d3ece16","user":{"login":"pyinstaller","id":1215332,"avatar_url":"https://avatars.githubusercontent.com/u/1215332?v=3","gravatar_id":"","url":"https://api.github.com/users/pyinstaller","html_url":"https://github.com/pyinstaller","followers_url":"https://api.github.com/users/pyinstaller/followers","following_url":"https://api.github.com/users/pyinstaller/following{/other_user}","gists_url":"https://api.github.com/users/pyinstaller/gists{/gist_id}","starred_url":"https://api.github.com/users/pyinstaller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyinstaller/subscriptions","organizations_url":"https://api.github.com/users/pyinstaller/orgs","repos_url":"https://api.github.com/users/pyinstaller/repos","events_url":"https://api.github.com/users/pyinstaller/events{/privacy}","received_events_url":"https://api.github.com/users/pyinstaller/received_events","type":"Organization","site_admin":false},"repo":{"id":2835111,"name":"pyinstaller","full_name":"pyinstaller/pyinstaller","owner":{"login":"pyinstaller","id":1215332,"avatar_url":"https://avatars.githubusercontent.com/u/1215332?v=3","gravatar_id":"","url":"https://api.github.com/users/pyinstaller","html_url":"https://github.com/pyinstaller","followers_url":"https://api.github.com/users/pyinstaller/followers","following_url":"https://api.github.com/users/pyinstaller/following{/other_user}","gists_url":"https://api.github.com/users/pyinstaller/gists{/gist_id}","starred_url":"https://api.github.com/users/pyinstaller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyinstaller/subscriptions","organizations_url":"https://api.github.com/users/pyinstaller/orgs","repos_url":"https://api.github.com/users/pyinstaller/repos","events_url":"https://api.github.com/users/pyinstaller/events{/privacy}","received_events_url":"https://api.github.com/users/pyinstaller/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pyinstaller/pyinstaller","description":"PyInstaller official GIT repository ","fork":false,"url":"https://api.github.com/repos/pyinstaller/pyinstaller","forks_url":"https://api.github.com/repos/pyinstaller/pyinstaller/forks","keys_url":"https://api.github.com/repos/pyinstaller/pyinstaller/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pyinstaller/pyinstaller/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pyinstaller/pyinstaller/teams","hooks_url":"https://api.github.com/repos/pyinstaller/pyinstaller/hooks","issue_events_url":"https://api.github.com/repos/pyinstaller/pyinstaller/issues/events{/number}","events_url":"https://api.github.com/repos/pyinstaller/pyinstaller/events","assignees_url":"https://api.github.com/repos/pyinstaller/pyinstaller/assignees{/user}","branches_url":"https://api.github.com/repos/pyinstaller/pyinstaller/branches{/branch}","tags_url":"https://api.github.com/repos/pyinstaller/pyinstaller/tags","blobs_url":"https://api.github.com/repos/pyinstaller/pyinstaller/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pyinstaller/pyinstaller/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pyinstaller/pyinstaller/git/refs{/sha}","trees_url":"https://api.github.com/repos/pyinstaller/pyinstaller/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pyinstaller/pyinstaller/statuses/{sha}","languages_url":"https://api.github.com/repos/pyinstaller/pyinstaller/languages","stargazers_url":"https://api.github.com/repos/pyinstaller/pyinstaller/stargazers","contributors_url":"https://api.github.com/repos/pyinstaller/pyinstaller/contributors","subscribers_url":"https://api.github.com/repos/pyinstaller/pyinstaller/subscribers","subscription_url":"https://api.github.com/repos/pyinstaller/pyinstaller/subscription","commits_url":"https://api.github.com/repos/pyinstaller/pyinstaller/commits{/sha}","git_commits_url":"https://api.github.com/repos/pyinstaller/pyinstaller/git/commits{/sha}","comments_url":"https://api.github.com/repos/pyinstaller/pyinstaller/comments{/number}","issue_comment_url":"https://api.github.com/repos/pyinstaller/pyinstaller/issues/comments{/number}","contents_url":"https://api.github.com/repos/pyinstaller/pyinstaller/contents/{+path}","compare_url":"https://api.github.com/repos/pyinstaller/pyinstaller/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pyinstaller/pyinstaller/merges","archive_url":"https://api.github.com/repos/pyinstaller/pyinstaller/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pyinstaller/pyinstaller/downloads","issues_url":"https://api.github.com/repos/pyinstaller/pyinstaller/issues{/number}","pulls_url":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls{/number}","milestones_url":"https://api.github.com/repos/pyinstaller/pyinstaller/milestones{/number}","notifications_url":"https://api.github.com/repos/pyinstaller/pyinstaller/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pyinstaller/pyinstaller/labels{/name}","releases_url":"https://api.github.com/repos/pyinstaller/pyinstaller/releases{/id}","created_at":"2011-11-23T11:05:56Z","updated_at":"2015-09-14T13:12:27Z","pushed_at":"2015-09-14T14:44:00Z","git_url":"git://github.com/pyinstaller/pyinstaller.git","ssh_url":"git@github.com:pyinstaller/pyinstaller.git","clone_url":"https://github.com/pyinstaller/pyinstaller.git","svn_url":"https://github.com/pyinstaller/pyinstaller","homepage":"http://www.pyinstaller.org","size":35924,"stargazers_count":1107,"watchers_count":1107,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":318,"mirror_url":null,"open_issues_count":206,"forks":318,"open_issues":206,"watchers":1107,"default_branch":"python3"}},"_links":{"self":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477"},"html":{"href":"https://github.com/pyinstaller/pyinstaller/pull/1477"},"issue":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/issues/1477"},"comments":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/issues/1477/comments"},"review_comments":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477/comments"},"review_comment":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/pulls/1477/commits"},"statuses":{"href":"https://api.github.com/repos/pyinstaller/pyinstaller/statuses/d539ba5e80d7f2c3386d61c4f4930ef427323b4c"}}}}