{"action":"created","comment":{"url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/comments/33245985","id":33245985,"diff_hunk":"@@ -0,0 +1,232 @@\n+:author: Luke Campagnola\n+:email: luke.campagnola@gmail.com\n+:institution: University of North Carolina at Chapel Hill\n+\n+:author: Almar Klein\n+:email: almar.klein@gmail.com \n+:institution: Continuum Analytics\n+\n+:author: Eric Larson\n+:email: eric.larson.d@gmail.com\n+:institution: University of Washington\n+\n+:author: Cyrille Rossant\n+:email: cyrille.rossant@gmail.com\n+:institution: University College London\n+\n+:author: Nicolas Rougier\n+:email: Nicolas.Rougier@inria.fr\n+:institution: French National Institute for Research in Computer Science and Control\n+\n+\n+------------------------------------------------------------\n+VisPy: Harnessing The GPU For Fast, High-Level Visualization\n+------------------------------------------------------------\n+\n+.. class:: abstract\n+\n+   The growing availability of large, multidimensional data sets has created\n+   demand for high-performance, interactive visualization tools. VisPy \n+   leverages the GPU to provide fast, interactive, and beautiful visualizations\n+   in a high-level API. Here we introduce the main features,\n+   architecture, and techniques used in VisPy.\n+\n+.. class:: keywords\n+\n+   graphics, visualization, plotting, performance, interactive, opengl \n+\n+\n+Motivation\n+----------\n+\n+Despite the rapid growth of the scientific Python stack, one conspicuously absent element is a standard package for high-performance visualization. The de-facto standard for plotting is Matplotlib; however, this package is designed for publication graphics and is not optimized for visualizations that require realtime, interactive performance, or that incorporate large data volumes. Several packages have apeared in the Python ecosystem to fill this gap (vtk, chaco, pyqtgraph, visvis, galry, glumpy, etc.), but none has yet emerged as a serious candidate standard package. Consequently, these projects have spent much of their effort re-solving the same problems, and the ecosystem as a whole suffers from the lack of a focused, collaborative effort.\n+","path":"papers/luke_campagnola-vispy/vispy.rst","position":43,"original_position":43,"commit_id":"c25e0e0013db6cc558e22676e3fd86a7cbe9a732","original_commit_id":"c25e0e0013db6cc558e22676e3fd86a7cbe9a732","user":{"login":"campagnola","id":940580,"avatar_url":"https://avatars.githubusercontent.com/u/940580?v=3","gravatar_id":"","url":"https://api.github.com/users/campagnola","html_url":"https://github.com/campagnola","followers_url":"https://api.github.com/users/campagnola/followers","following_url":"https://api.github.com/users/campagnola/following{/other_user}","gists_url":"https://api.github.com/users/campagnola/gists{/gist_id}","starred_url":"https://api.github.com/users/campagnola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/campagnola/subscriptions","organizations_url":"https://api.github.com/users/campagnola/orgs","repos_url":"https://api.github.com/users/campagnola/repos","events_url":"https://api.github.com/users/campagnola/events{/privacy}","received_events_url":"https://api.github.com/users/campagnola/received_events","type":"User","site_admin":false},"body":"I'm not sure I understand why it is relevant that VTK provides more than graphics. PyQtGraph also provides more than graphics, but the point here was just to list the packages that are being used by the Python community for fast graphics. \r\n\r\nI should also point out that we are not trying to redo VTK, which uses the old fixed-function OpenGL pipeline (and when I last spoke to the kitware folks, there were no plans to upgrade). By making use of the modern shader pipeline, vispy will be able to put much more of the computing effort on the GPU, and offer better quality at the same time.","created_at":"2015-06-25T11:45:09Z","updated_at":"2015-06-25T11:45:09Z","html_url":"https://github.com/scipy-conference/scipy_proceedings/pull/159#discussion_r33245985","pull_request_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159","_links":{"self":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/comments/33245985"},"html":{"href":"https://github.com/scipy-conference/scipy_proceedings/pull/159#discussion_r33245985"},"pull_request":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159"}}},"pull_request":{"url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159","id":37786971,"html_url":"https://github.com/scipy-conference/scipy_proceedings/pull/159","diff_url":"https://github.com/scipy-conference/scipy_proceedings/pull/159.diff","patch_url":"https://github.com/scipy-conference/scipy_proceedings/pull/159.patch","issue_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/issues/159","number":159,"state":"open","locked":false,"title":"Paper: VisPy: Harnessing The GPU For Fast, High-Level Visualization (Campagnola)","user":{"login":"campagnola","id":940580,"avatar_url":"https://avatars.githubusercontent.com/u/940580?v=3","gravatar_id":"","url":"https://api.github.com/users/campagnola","html_url":"https://github.com/campagnola","followers_url":"https://api.github.com/users/campagnola/followers","following_url":"https://api.github.com/users/campagnola/following{/other_user}","gists_url":"https://api.github.com/users/campagnola/gists{/gist_id}","starred_url":"https://api.github.com/users/campagnola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/campagnola/subscriptions","organizations_url":"https://api.github.com/users/campagnola/orgs","repos_url":"https://api.github.com/users/campagnola/repos","events_url":"https://api.github.com/users/campagnola/events{/privacy}","received_events_url":"https://api.github.com/users/campagnola/received_events","type":"User","site_admin":false},"body":"Conference proceedings for VisPy.\r\n\r\nI had some trouble with table and reference formatting--the wide table needs to be wider (and writing the table directly as latex will make it difficult to get syntax highlighting inside the table). Also tried to add proper labels / references for figures and tables, but these prevented the document from compiling. I hope we can sort those out soon.\r\n\r\nFinally, I will be adding 2-3 more figures, but these are contingent upon finishing some new features in VisPy. If the features are not ready soon, then I will just add what we have available.","created_at":"2015-06-16T11:57:47Z","updated_at":"2015-06-25T11:45:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4609f5a49a65c3450b3f195ea7182df411397140","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159/commits","review_comments_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159/comments","review_comment_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/comments{/number}","comments_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/issues/159/comments","statuses_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/statuses/c25e0e0013db6cc558e22676e3fd86a7cbe9a732","head":{"label":"vispy:2015","ref":"2015","sha":"c25e0e0013db6cc558e22676e3fd86a7cbe9a732","user":{"login":"vispy","id":3934254,"avatar_url":"https://avatars.githubusercontent.com/u/3934254?v=3","gravatar_id":"","url":"https://api.github.com/users/vispy","html_url":"https://github.com/vispy","followers_url":"https://api.github.com/users/vispy/followers","following_url":"https://api.github.com/users/vispy/following{/other_user}","gists_url":"https://api.github.com/users/vispy/gists{/gist_id}","starred_url":"https://api.github.com/users/vispy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vispy/subscriptions","organizations_url":"https://api.github.com/users/vispy/orgs","repos_url":"https://api.github.com/users/vispy/repos","events_url":"https://api.github.com/users/vispy/events{/privacy}","received_events_url":"https://api.github.com/users/vispy/received_events","type":"Organization","site_admin":false},"repo":{"id":37483002,"name":"scipy_2015_proceedings","full_name":"vispy/scipy_2015_proceedings","owner":{"login":"vispy","id":3934254,"avatar_url":"https://avatars.githubusercontent.com/u/3934254?v=3","gravatar_id":"","url":"https://api.github.com/users/vispy","html_url":"https://github.com/vispy","followers_url":"https://api.github.com/users/vispy/followers","following_url":"https://api.github.com/users/vispy/following{/other_user}","gists_url":"https://api.github.com/users/vispy/gists{/gist_id}","starred_url":"https://api.github.com/users/vispy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vispy/subscriptions","organizations_url":"https://api.github.com/users/vispy/orgs","repos_url":"https://api.github.com/users/vispy/repos","events_url":"https://api.github.com/users/vispy/events{/privacy}","received_events_url":"https://api.github.com/users/vispy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vispy/scipy_2015_proceedings","description":"Tools used to generate the SciPy conference proceedings","fork":true,"url":"https://api.github.com/repos/vispy/scipy_2015_proceedings","forks_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/forks","keys_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/teams","hooks_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/hooks","issue_events_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/issues/events{/number}","events_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/events","assignees_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/assignees{/user}","branches_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/branches{/branch}","tags_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/tags","blobs_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/git/refs{/sha}","trees_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/statuses/{sha}","languages_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/languages","stargazers_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/stargazers","contributors_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/contributors","subscribers_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/subscribers","subscription_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/subscription","commits_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/commits{/sha}","git_commits_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/git/commits{/sha}","comments_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/comments{/number}","issue_comment_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/issues/comments{/number}","contents_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/contents/{+path}","compare_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/merges","archive_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/downloads","issues_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/issues{/number}","pulls_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/pulls{/number}","milestones_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/milestones{/number}","notifications_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/labels{/name}","releases_url":"https://api.github.com/repos/vispy/scipy_2015_proceedings/releases{/id}","created_at":"2015-06-15T18:22:44Z","updated_at":"2015-06-15T18:23:10Z","pushed_at":"2015-06-19T15:02:06Z","git_url":"git://github.com/vispy/scipy_2015_proceedings.git","ssh_url":"git@github.com:vispy/scipy_2015_proceedings.git","clone_url":"https://github.com/vispy/scipy_2015_proceedings.git","svn_url":"https://github.com/vispy/scipy_2015_proceedings","homepage":"","size":1112,"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":"scipy-conference:2015","ref":"2015","sha":"e3df71a5659ce32396b7c520b89109716a3210fa","user":{"login":"scipy-conference","id":4884274,"avatar_url":"https://avatars.githubusercontent.com/u/4884274?v=3","gravatar_id":"","url":"https://api.github.com/users/scipy-conference","html_url":"https://github.com/scipy-conference","followers_url":"https://api.github.com/users/scipy-conference/followers","following_url":"https://api.github.com/users/scipy-conference/following{/other_user}","gists_url":"https://api.github.com/users/scipy-conference/gists{/gist_id}","starred_url":"https://api.github.com/users/scipy-conference/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scipy-conference/subscriptions","organizations_url":"https://api.github.com/users/scipy-conference/orgs","repos_url":"https://api.github.com/users/scipy-conference/repos","events_url":"https://api.github.com/users/scipy-conference/events{/privacy}","received_events_url":"https://api.github.com/users/scipy-conference/received_events","type":"Organization","site_admin":false},"repo":{"id":1825629,"name":"scipy_proceedings","full_name":"scipy-conference/scipy_proceedings","owner":{"login":"scipy-conference","id":4884274,"avatar_url":"https://avatars.githubusercontent.com/u/4884274?v=3","gravatar_id":"","url":"https://api.github.com/users/scipy-conference","html_url":"https://github.com/scipy-conference","followers_url":"https://api.github.com/users/scipy-conference/followers","following_url":"https://api.github.com/users/scipy-conference/following{/other_user}","gists_url":"https://api.github.com/users/scipy-conference/gists{/gist_id}","starred_url":"https://api.github.com/users/scipy-conference/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scipy-conference/subscriptions","organizations_url":"https://api.github.com/users/scipy-conference/orgs","repos_url":"https://api.github.com/users/scipy-conference/repos","events_url":"https://api.github.com/users/scipy-conference/events{/privacy}","received_events_url":"https://api.github.com/users/scipy-conference/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/scipy-conference/scipy_proceedings","description":"Tools used to generate the SciPy conference proceedings","fork":false,"url":"https://api.github.com/repos/scipy-conference/scipy_proceedings","forks_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/forks","keys_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/keys{/key_id}","collaborators_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/teams","hooks_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/hooks","issue_events_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/issues/events{/number}","events_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/events","assignees_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/assignees{/user}","branches_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/branches{/branch}","tags_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/tags","blobs_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/git/refs{/sha}","trees_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/git/trees{/sha}","statuses_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/statuses/{sha}","languages_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/languages","stargazers_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/stargazers","contributors_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/contributors","subscribers_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/subscribers","subscription_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/subscription","commits_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/commits{/sha}","git_commits_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/git/commits{/sha}","comments_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/comments{/number}","issue_comment_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/issues/comments{/number}","contents_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/contents/{+path}","compare_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/compare/{base}...{head}","merges_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/merges","archive_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/downloads","issues_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/issues{/number}","pulls_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls{/number}","milestones_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/milestones{/number}","notifications_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/labels{/name}","releases_url":"https://api.github.com/repos/scipy-conference/scipy_proceedings/releases{/id}","created_at":"2011-05-31T10:26:48Z","updated_at":"2015-06-22T07:22:47Z","pushed_at":"2015-06-25T07:47:42Z","git_url":"git://github.com/scipy-conference/scipy_proceedings.git","ssh_url":"git@github.com:scipy-conference/scipy_proceedings.git","clone_url":"https://github.com/scipy-conference/scipy_proceedings.git","svn_url":"https://github.com/scipy-conference/scipy_proceedings","homepage":"","size":144676,"stargazers_count":76,"watchers_count":76,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":141,"mirror_url":null,"open_issues_count":38,"forks":141,"open_issues":38,"watchers":76,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159"},"html":{"href":"https://github.com/scipy-conference/scipy_proceedings/pull/159"},"issue":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/issues/159"},"comments":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/issues/159/comments"},"review_comments":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159/comments"},"review_comment":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/pulls/159/commits"},"statuses":{"href":"https://api.github.com/repos/scipy-conference/scipy_proceedings/statuses/c25e0e0013db6cc558e22676e3fd86a7cbe9a732"}}}}