{"action":"created","comment":{"url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/comments/190230049","pull_request_review_id":122557885,"id":190230049,"diff_hunk":"@@ -1,45 +1,326 @@\n-# coding: utf-8\n+# -*- coding: utf-8 -*-\n \n \"\"\"\n-Class to handle Matplotlib plotting of data to be displayed in Qt GUI\n+Definitions for task specific plot interfaces.\n \"\"\"\n-\n-from dgp.lib.etc import gen_uuid\n-\n import logging\n from collections import namedtuple\n-from typing import Dict, Tuple, Union\n+from itertools import count\n+from typing import Dict, Tuple, Union, List\n from datetime import timedelta\n \n-from PyQt5.QtWidgets import QSizePolicy, QMenu, QAction, QWidget, QToolBar\n-from PyQt5.QtCore import pyqtSignal, QMimeData\n-from PyQt5.QtGui import QCursor, QDropEvent, QDragEnterEvent, QDragMoveEvent\n+import numpy as np\n+import pandas as pd\n import PyQt5.QtCore as QtCore\n import PyQt5.QtWidgets as QtWidgets\n+\n+from PyQt5.QtWidgets import QSizePolicy, QAction, QWidget, QMenu, QToolBar\n+from PyQt5.QtCore import pyqtSignal, QMimeData\n+from PyQt5.QtGui import QCursor, QDropEvent, QDragEnterEvent, QDragMoveEvent\n from matplotlib.backends.backend_qt5agg import (\n-   FigureCanvasQTAgg as FigureCanvas, NavigationToolbar2QT as NavigationToolbar)\n+    FigureCanvasQTAgg as FigureCanvas, NavigationToolbar2QT)\n from matplotlib.figure import Figure\n-from matplotlib.axes import Axes\n-from matplotlib.dates import DateFormatter, num2date, date2num\n-from matplotlib.ticker import NullFormatter, NullLocator, AutoLocator\n from matplotlib.backend_bases import MouseEvent, PickEvent\n from matplotlib.patches import Rectangle\n+from matplotlib.axes import Axes\n+from matplotlib.dates import DateFormatter, num2date, date2num\n+from matplotlib.ticker import AutoLocator\n from matplotlib.lines import Line2D\n from matplotlib.text import Annotation\n-import numpy as np\n \n-from dgp.lib.project import Flight\n import dgp.lib.types as types\n+from dgp.lib.project import Flight\n+from dgp.lib.types import DataChannel, LineUpdate\n+from dgp.lib.etc import gen_uuid\n+from .mplutils import *\n+from .backends import BasePlot, PYQTGRAPH, MATPLOTLIB, AbstractSeriesPlotter\n+from .flightregion import LinearFlightRegion\n \n+import pyqtgraph as pg\n+from pyqtgraph.graphicsItems.LinearRegionItem import LinearRegionItem\n \n _log = logging.getLogger(__name__)\n+\n+\n+\"\"\"\n+TODO: Many of the classes here are not used, in favor of the PyQtGraph line selection interface.","path":"dgp/gui/plotting/plotters.py","position":61,"original_position":61,"commit_id":"c94510bb8e13f38e7f26add6d296ad4602e27f7a","original_commit_id":"c94510bb8e13f38e7f26add6d296ad4602e27f7a","user":{"login":"cbertinato","id":20772838,"avatar_url":"https://avatars2.githubusercontent.com/u/20772838?v=4","gravatar_id":"","url":"https://api.github.com/users/cbertinato","html_url":"https://github.com/cbertinato","followers_url":"https://api.github.com/users/cbertinato/followers","following_url":"https://api.github.com/users/cbertinato/following{/other_user}","gists_url":"https://api.github.com/users/cbertinato/gists{/gist_id}","starred_url":"https://api.github.com/users/cbertinato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbertinato/subscriptions","organizations_url":"https://api.github.com/users/cbertinato/orgs","repos_url":"https://api.github.com/users/cbertinato/repos","events_url":"https://api.github.com/users/cbertinato/events{/privacy}","received_events_url":"https://api.github.com/users/cbertinato/received_events","type":"User","site_admin":false},"body":"I think it's ok to leave this around until we work out the remaining issues with the new plotting interface.","created_at":"2018-05-23T12:41:56Z","updated_at":"2018-05-23T12:49:07Z","html_url":"https://github.com/DynamicGravitySystems/DGP/pull/66#discussion_r190230049","pull_request_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/comments/190230049"},"html":{"href":"https://github.com/DynamicGravitySystems/DGP/pull/66#discussion_r190230049"},"pull_request":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66"}}},"pull_request":{"url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66","id":189420896,"html_url":"https://github.com/DynamicGravitySystems/DGP/pull/66","diff_url":"https://github.com/DynamicGravitySystems/DGP/pull/66.diff","patch_url":"https://github.com/DynamicGravitySystems/DGP/pull/66.patch","issue_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/66","number":66,"state":"open","locked":false,"title":"Feature/pyqtchart integration","user":{"login":"bradyzp","id":15993699,"avatar_url":"https://avatars0.githubusercontent.com/u/15993699?v=4","gravatar_id":"","url":"https://api.github.com/users/bradyzp","html_url":"https://github.com/bradyzp","followers_url":"https://api.github.com/users/bradyzp/followers","following_url":"https://api.github.com/users/bradyzp/following{/other_user}","gists_url":"https://api.github.com/users/bradyzp/gists{/gist_id}","starred_url":"https://api.github.com/users/bradyzp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradyzp/subscriptions","organizations_url":"https://api.github.com/users/bradyzp/orgs","repos_url":"https://api.github.com/users/bradyzp/repos","events_url":"https://api.github.com/users/bradyzp/events{/privacy}","received_events_url":"https://api.github.com/users/bradyzp/received_events","type":"User","site_admin":false},"body":"This branch contains the PyQtGraph integrations, some of the work here is deprecated due to our decision to move away from using PyQtGraph graphic flowcharts for the transformation workflow.\r\n\r\nToDo: Clean-up deprecated code after merging in the new transformation branch. Specifically features in the dgp/lib/transform package which will be superseded by the new transform workflows.\r\n\r\nFeatures Added in this Branch:\r\n- New Flight-Line selection plot based on PyQtGraph - this provides a much more responsive UI experience when viewing raw data to select flight lines.\r\n- Flight Workspaces (dgp/gui/workspaces): A modular approach to handling the sub-tab widgets for each flight - allowing fast switching between multiple open flights and in future the ability to view & mutate data for each flight in its own tab. Workspaces can be dynamically loaded, and each is contained within its own python module.\r\n- Added an excepthook method in the program __main__ module, and in the test runner config which captures and prints stack-traces for uncaught Qt exceptions, which otherwise crash with an integer error value.\r\n","created_at":"2018-05-21T16:03:11Z","updated_at":"2018-05-23T12:49:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e0df41e4129e0e102be9f9d5239cfaea8b96658c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":805671321,"url":"https://api.github.com/repos/DynamicGravitySystems/DGP/labels/cleanup","name":"cleanup","color":"adf998","default":false},{"id":666290466,"url":"https://api.github.com/repos/DynamicGravitySystems/DGP/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"milestone":{"url":"https://api.github.com/repos/DynamicGravitySystems/DGP/milestones/1","html_url":"https://github.com/DynamicGravitySystems/DGP/milestone/1","labels_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/milestones/1/labels","id":2754132,"number":1,"title":"Initial Release 0.1.0","description":"Milestone:\r\nRelease #1\r\nPush an initial release with essential bare-minimum feature set to process airborne gravity data into usable data. (What exactly that is TBD).","creator":{"login":"bradyzp","id":15993699,"avatar_url":"https://avatars0.githubusercontent.com/u/15993699?v=4","gravatar_id":"","url":"https://api.github.com/users/bradyzp","html_url":"https://github.com/bradyzp","followers_url":"https://api.github.com/users/bradyzp/followers","following_url":"https://api.github.com/users/bradyzp/following{/other_user}","gists_url":"https://api.github.com/users/bradyzp/gists{/gist_id}","starred_url":"https://api.github.com/users/bradyzp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradyzp/subscriptions","organizations_url":"https://api.github.com/users/bradyzp/orgs","repos_url":"https://api.github.com/users/bradyzp/repos","events_url":"https://api.github.com/users/bradyzp/events{/privacy}","received_events_url":"https://api.github.com/users/bradyzp/received_events","type":"User","site_admin":false},"open_issues":12,"closed_issues":21,"state":"open","created_at":"2017-09-09T01:58:28Z","updated_at":"2018-05-21T16:03:11Z","due_on":"2018-03-01T08:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66/commits","review_comments_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66/comments","review_comment_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/comments{/number}","comments_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/66/comments","statuses_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/statuses/c94510bb8e13f38e7f26add6d296ad4602e27f7a","head":{"label":"DynamicGravitySystems:feature/pyqtchart-integration","ref":"feature/pyqtchart-integration","sha":"c94510bb8e13f38e7f26add6d296ad4602e27f7a","user":{"login":"DynamicGravitySystems","id":30910755,"avatar_url":"https://avatars0.githubusercontent.com/u/30910755?v=4","gravatar_id":"","url":"https://api.github.com/users/DynamicGravitySystems","html_url":"https://github.com/DynamicGravitySystems","followers_url":"https://api.github.com/users/DynamicGravitySystems/followers","following_url":"https://api.github.com/users/DynamicGravitySystems/following{/other_user}","gists_url":"https://api.github.com/users/DynamicGravitySystems/gists{/gist_id}","starred_url":"https://api.github.com/users/DynamicGravitySystems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DynamicGravitySystems/subscriptions","organizations_url":"https://api.github.com/users/DynamicGravitySystems/orgs","repos_url":"https://api.github.com/users/DynamicGravitySystems/repos","events_url":"https://api.github.com/users/DynamicGravitySystems/events{/privacy}","received_events_url":"https://api.github.com/users/DynamicGravitySystems/received_events","type":"Organization","site_admin":false},"repo":{"id":99965305,"name":"DGP","full_name":"DynamicGravitySystems/DGP","owner":{"login":"DynamicGravitySystems","id":30910755,"avatar_url":"https://avatars0.githubusercontent.com/u/30910755?v=4","gravatar_id":"","url":"https://api.github.com/users/DynamicGravitySystems","html_url":"https://github.com/DynamicGravitySystems","followers_url":"https://api.github.com/users/DynamicGravitySystems/followers","following_url":"https://api.github.com/users/DynamicGravitySystems/following{/other_user}","gists_url":"https://api.github.com/users/DynamicGravitySystems/gists{/gist_id}","starred_url":"https://api.github.com/users/DynamicGravitySystems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DynamicGravitySystems/subscriptions","organizations_url":"https://api.github.com/users/DynamicGravitySystems/orgs","repos_url":"https://api.github.com/users/DynamicGravitySystems/repos","events_url":"https://api.github.com/users/DynamicGravitySystems/events{/privacy}","received_events_url":"https://api.github.com/users/DynamicGravitySystems/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/DynamicGravitySystems/DGP","description":"Dynamic Gravity Processor","fork":false,"url":"https://api.github.com/repos/DynamicGravitySystems/DGP","forks_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/forks","keys_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/teams","hooks_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/hooks","issue_events_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/events{/number}","events_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/events","assignees_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/assignees{/user}","branches_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/branches{/branch}","tags_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/tags","blobs_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/refs{/sha}","trees_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/statuses/{sha}","languages_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/languages","stargazers_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/stargazers","contributors_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/contributors","subscribers_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/subscribers","subscription_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/subscription","commits_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/commits{/sha}","git_commits_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/commits{/sha}","comments_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/comments{/number}","issue_comment_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/comments{/number}","contents_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/contents/{+path}","compare_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/merges","archive_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/downloads","issues_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues{/number}","pulls_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls{/number}","milestones_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/milestones{/number}","notifications_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/labels{/name}","releases_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/releases{/id}","deployments_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/deployments","created_at":"2017-08-10T21:14:27Z","updated_at":"2018-03-29T21:19:02Z","pushed_at":"2018-05-23T00:11:40Z","git_url":"git://github.com/DynamicGravitySystems/DGP.git","ssh_url":"git@github.com:DynamicGravitySystems/DGP.git","clone_url":"https://github.com/DynamicGravitySystems/DGP.git","svn_url":"https://github.com/DynamicGravitySystems/DGP","homepage":"http://dgp.readthedocs.io/en/develop/","size":1295,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":24,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":1,"open_issues":24,"watchers":4,"default_branch":"develop"}},"base":{"label":"DynamicGravitySystems:develop","ref":"develop","sha":"6d4de6f5d7f107ddaa989b9060278860f9bf7c2c","user":{"login":"DynamicGravitySystems","id":30910755,"avatar_url":"https://avatars0.githubusercontent.com/u/30910755?v=4","gravatar_id":"","url":"https://api.github.com/users/DynamicGravitySystems","html_url":"https://github.com/DynamicGravitySystems","followers_url":"https://api.github.com/users/DynamicGravitySystems/followers","following_url":"https://api.github.com/users/DynamicGravitySystems/following{/other_user}","gists_url":"https://api.github.com/users/DynamicGravitySystems/gists{/gist_id}","starred_url":"https://api.github.com/users/DynamicGravitySystems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DynamicGravitySystems/subscriptions","organizations_url":"https://api.github.com/users/DynamicGravitySystems/orgs","repos_url":"https://api.github.com/users/DynamicGravitySystems/repos","events_url":"https://api.github.com/users/DynamicGravitySystems/events{/privacy}","received_events_url":"https://api.github.com/users/DynamicGravitySystems/received_events","type":"Organization","site_admin":false},"repo":{"id":99965305,"name":"DGP","full_name":"DynamicGravitySystems/DGP","owner":{"login":"DynamicGravitySystems","id":30910755,"avatar_url":"https://avatars0.githubusercontent.com/u/30910755?v=4","gravatar_id":"","url":"https://api.github.com/users/DynamicGravitySystems","html_url":"https://github.com/DynamicGravitySystems","followers_url":"https://api.github.com/users/DynamicGravitySystems/followers","following_url":"https://api.github.com/users/DynamicGravitySystems/following{/other_user}","gists_url":"https://api.github.com/users/DynamicGravitySystems/gists{/gist_id}","starred_url":"https://api.github.com/users/DynamicGravitySystems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DynamicGravitySystems/subscriptions","organizations_url":"https://api.github.com/users/DynamicGravitySystems/orgs","repos_url":"https://api.github.com/users/DynamicGravitySystems/repos","events_url":"https://api.github.com/users/DynamicGravitySystems/events{/privacy}","received_events_url":"https://api.github.com/users/DynamicGravitySystems/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/DynamicGravitySystems/DGP","description":"Dynamic Gravity Processor","fork":false,"url":"https://api.github.com/repos/DynamicGravitySystems/DGP","forks_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/forks","keys_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/teams","hooks_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/hooks","issue_events_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/events{/number}","events_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/events","assignees_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/assignees{/user}","branches_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/branches{/branch}","tags_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/tags","blobs_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/refs{/sha}","trees_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/statuses/{sha}","languages_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/languages","stargazers_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/stargazers","contributors_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/contributors","subscribers_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/subscribers","subscription_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/subscription","commits_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/commits{/sha}","git_commits_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/git/commits{/sha}","comments_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/comments{/number}","issue_comment_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/comments{/number}","contents_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/contents/{+path}","compare_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/merges","archive_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/downloads","issues_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues{/number}","pulls_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls{/number}","milestones_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/milestones{/number}","notifications_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/labels{/name}","releases_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/releases{/id}","deployments_url":"https://api.github.com/repos/DynamicGravitySystems/DGP/deployments","created_at":"2017-08-10T21:14:27Z","updated_at":"2018-03-29T21:19:02Z","pushed_at":"2018-05-23T00:11:40Z","git_url":"git://github.com/DynamicGravitySystems/DGP.git","ssh_url":"git@github.com:DynamicGravitySystems/DGP.git","clone_url":"https://github.com/DynamicGravitySystems/DGP.git","svn_url":"https://github.com/DynamicGravitySystems/DGP","homepage":"http://dgp.readthedocs.io/en/develop/","size":1295,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":24,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":1,"open_issues":24,"watchers":4,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66"},"html":{"href":"https://github.com/DynamicGravitySystems/DGP/pull/66"},"issue":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/66"},"comments":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/issues/66/comments"},"review_comments":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66/comments"},"review_comment":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/pulls/66/commits"},"statuses":{"href":"https://api.github.com/repos/DynamicGravitySystems/DGP/statuses/c94510bb8e13f38e7f26add6d296ad4602e27f7a"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"cbertinato"}}