{"action":"created","comment":{"url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/comments/87226497","pull_request_review_id":7814740,"id":87226497,"diff_hunk":"@@ -21,6 +21,19 @@\n \n \n class LinkamT95StreamInterface(StreamAdapter):\n+    \"\"\"\n+    Linkam T95 TCP stream interface\n+\n+    This is the interface of a simulated Linkam T95 device. The device listens on a configured\n+    host:port-combination, one option to connect to it is via telnet:\n+\n+        $ telnet host port\n+\n+    Once connected, it's possible to send the specified commands, described in the dynamically\n+    generated documentation. Information about host, port and line terminators in the concrete\n+    device instance are also generated dynamically.","path":"plankton/devices/linkam_t95/interfaces/stream_interface.py","position":14,"original_position":14,"commit_id":"8069f6b6ec7f29f0d66ee31623d1d92149f1509c","original_commit_id":"8069f6b6ec7f29f0d66ee31623d1d92149f1509c","user":{"login":"MikeHart85","id":12586704,"avatar_url":"https://avatars.githubusercontent.com/u/12586704?v=3","gravatar_id":"","url":"https://api.github.com/users/MikeHart85","html_url":"https://github.com/MikeHart85","followers_url":"https://api.github.com/users/MikeHart85/followers","following_url":"https://api.github.com/users/MikeHart85/following{/other_user}","gists_url":"https://api.github.com/users/MikeHart85/gists{/gist_id}","starred_url":"https://api.github.com/users/MikeHart85/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikeHart85/subscriptions","organizations_url":"https://api.github.com/users/MikeHart85/orgs","repos_url":"https://api.github.com/users/MikeHart85/repos","events_url":"https://api.github.com/users/MikeHart85/events{/privacy}","received_events_url":"https://api.github.com/users/MikeHart85/received_events","type":"User","site_admin":false},"body":"As we talked about on Slack, `telnet` doesn't always work for this. Seems to depend on OS how well / if it works at all.\r\n\r\nThis has to do with the line endings. Linkam uses only a CR as a line terminator, while telnet will tend to use CRLF.\r\n\r\nI think this is fine for this PR, but we should open an issue against this. The user needs a way to talk to the device on its primary protocol. \r\n\r\nWe'll probably have to create our own little TCP Stream client that is aware of what line terminators the device its talking to expects.","created_at":"2016-11-09T16:26:47Z","updated_at":"2016-11-09T16:29:25Z","html_url":"https://github.com/DMSC-Instrument-Data/plankton/pull/148#discussion_r87226497","pull_request_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148","_links":{"self":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/comments/87226497"},"html":{"href":"https://github.com/DMSC-Instrument-Data/plankton/pull/148#discussion_r87226497"},"pull_request":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148"}}},"pull_request":{"url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148","id":92870176,"html_url":"https://github.com/DMSC-Instrument-Data/plankton/pull/148","diff_url":"https://github.com/DMSC-Instrument-Data/plankton/pull/148.diff","patch_url":"https://github.com/DMSC-Instrument-Data/plankton/pull/148.patch","issue_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/148","number":148,"state":"open","locked":false,"title":"Make devices self-documenting","user":{"login":"MichaelWedel","id":6361996,"avatar_url":"https://avatars.githubusercontent.com/u/6361996?v=3","gravatar_id":"","url":"https://api.github.com/users/MichaelWedel","html_url":"https://github.com/MichaelWedel","followers_url":"https://api.github.com/users/MichaelWedel/followers","following_url":"https://api.github.com/users/MichaelWedel/following{/other_user}","gists_url":"https://api.github.com/users/MichaelWedel/gists{/gist_id}","starred_url":"https://api.github.com/users/MichaelWedel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MichaelWedel/subscriptions","organizations_url":"https://api.github.com/users/MichaelWedel/orgs","repos_url":"https://api.github.com/users/MichaelWedel/repos","events_url":"https://api.github.com/users/MichaelWedel/events{/privacy}","received_events_url":"https://api.github.com/users/MichaelWedel/received_events","type":"User","site_admin":false},"body":"This fixes #141.\r\n\r\nThis is my suggestion for \"self-documenting\" devices. `Adapter` now has an additional property `documentation` which can be overridden in sub-classes. For now I've decided against adding stuff to the class doc-string for several reasons, the most important being that the type of the interface is modified on construction and so it depends on the device and/or configuration (PV-prefix, host/port, ...).\r\n\r\nBoth `EpicsAdapter` and `StreamAdapter` auto-generate command lists from the `PV`/`Cmd`-objects. These now have `doc`-parameter that can be used to document a command explicitly. If `doc` is not supplied, the docstring of the wrapped/exposed property or method is used, no matter if it's on the device or the interface.\r\n\r\nFor both adapters, the interface class doc-string is included in the documentation, in the `StreamAdapter`-case also information about host, port, terminators.\r\n\r\nTo query a device before running it there is a new script parameter:\r\n\r\n```\r\n$ ./plankton.py -i chopper -- -p Chopper1:\r\n```\r\n\r\nIt's also exposed via the `ControlServer`, as the `device_documentation`-property of the `simulation`-object. It made more sense to me to put it there that in the device, because it's related to the interface, not the device.\r\n\r\n@dmichel76, is this along the lines you had in mind?\r\n\r\nI'll leave the `In progress`-label on for a while so we can discuss.","created_at":"2016-11-08T22:15:16Z","updated_at":"2016-11-09T16:29:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5bc149ecd69982b3ee48fc276e56c2cba5fea653","assignee":{"login":"OwenArnold","id":1109536,"avatar_url":"https://avatars.githubusercontent.com/u/1109536?v=3","gravatar_id":"","url":"https://api.github.com/users/OwenArnold","html_url":"https://github.com/OwenArnold","followers_url":"https://api.github.com/users/OwenArnold/followers","following_url":"https://api.github.com/users/OwenArnold/following{/other_user}","gists_url":"https://api.github.com/users/OwenArnold/gists{/gist_id}","starred_url":"https://api.github.com/users/OwenArnold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OwenArnold/subscriptions","organizations_url":"https://api.github.com/users/OwenArnold/orgs","repos_url":"https://api.github.com/users/OwenArnold/repos","events_url":"https://api.github.com/users/OwenArnold/events{/privacy}","received_events_url":"https://api.github.com/users/OwenArnold/received_events","type":"User","site_admin":false},"assignees":[{"login":"OwenArnold","id":1109536,"avatar_url":"https://avatars.githubusercontent.com/u/1109536?v=3","gravatar_id":"","url":"https://api.github.com/users/OwenArnold","html_url":"https://github.com/OwenArnold","followers_url":"https://api.github.com/users/OwenArnold/followers","following_url":"https://api.github.com/users/OwenArnold/following{/other_user}","gists_url":"https://api.github.com/users/OwenArnold/gists{/gist_id}","starred_url":"https://api.github.com/users/OwenArnold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OwenArnold/subscriptions","organizations_url":"https://api.github.com/users/OwenArnold/orgs","repos_url":"https://api.github.com/users/OwenArnold/repos","events_url":"https://api.github.com/users/OwenArnold/events{/privacy}","received_events_url":"https://api.github.com/users/OwenArnold/received_events","type":"User","site_admin":false},{"login":"MikeHart85","id":12586704,"avatar_url":"https://avatars.githubusercontent.com/u/12586704?v=3","gravatar_id":"","url":"https://api.github.com/users/MikeHart85","html_url":"https://github.com/MikeHart85","followers_url":"https://api.github.com/users/MikeHart85/followers","following_url":"https://api.github.com/users/MikeHart85/following{/other_user}","gists_url":"https://api.github.com/users/MikeHart85/gists{/gist_id}","starred_url":"https://api.github.com/users/MikeHart85/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikeHart85/subscriptions","organizations_url":"https://api.github.com/users/MikeHart85/orgs","repos_url":"https://api.github.com/users/MikeHart85/repos","events_url":"https://api.github.com/users/MikeHart85/events{/privacy}","received_events_url":"https://api.github.com/users/MikeHart85/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/milestones/3","html_url":"https://github.com/DMSC-Instrument-Data/plankton/milestones/Release%201.1","labels_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/milestones/3/labels","id":2059740,"number":3,"title":"Release 1.1","description":"Improvements on Release 1.0 to meet features for [requirements](https://github.com/DMSC-Instrument-Data/documents/blob/master/design/plankton/CommunicationLayerDesign.md)","creator":{"login":"OwenArnold","id":1109536,"avatar_url":"https://avatars.githubusercontent.com/u/1109536?v=3","gravatar_id":"","url":"https://api.github.com/users/OwenArnold","html_url":"https://github.com/OwenArnold","followers_url":"https://api.github.com/users/OwenArnold/followers","following_url":"https://api.github.com/users/OwenArnold/following{/other_user}","gists_url":"https://api.github.com/users/OwenArnold/gists{/gist_id}","starred_url":"https://api.github.com/users/OwenArnold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OwenArnold/subscriptions","organizations_url":"https://api.github.com/users/OwenArnold/orgs","repos_url":"https://api.github.com/users/OwenArnold/repos","events_url":"https://api.github.com/users/OwenArnold/events{/privacy}","received_events_url":"https://api.github.com/users/OwenArnold/received_events","type":"User","site_admin":false},"open_issues":18,"closed_issues":14,"state":"open","created_at":"2016-10-10T15:53:48Z","updated_at":"2016-11-09T13:59:15Z","due_on":"2016-12-23T00:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148/commits","review_comments_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148/comments","review_comment_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/comments{/number}","comments_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/148/comments","statuses_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/statuses/8069f6b6ec7f29f0d66ee31623d1d92149f1509c","head":{"label":"DMSC-Instrument-Data:141_self_documenting_devices","ref":"141_self_documenting_devices","sha":"8069f6b6ec7f29f0d66ee31623d1d92149f1509c","user":{"login":"DMSC-Instrument-Data","id":15102351,"avatar_url":"https://avatars.githubusercontent.com/u/15102351?v=3","gravatar_id":"","url":"https://api.github.com/users/DMSC-Instrument-Data","html_url":"https://github.com/DMSC-Instrument-Data","followers_url":"https://api.github.com/users/DMSC-Instrument-Data/followers","following_url":"https://api.github.com/users/DMSC-Instrument-Data/following{/other_user}","gists_url":"https://api.github.com/users/DMSC-Instrument-Data/gists{/gist_id}","starred_url":"https://api.github.com/users/DMSC-Instrument-Data/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DMSC-Instrument-Data/subscriptions","organizations_url":"https://api.github.com/users/DMSC-Instrument-Data/orgs","repos_url":"https://api.github.com/users/DMSC-Instrument-Data/repos","events_url":"https://api.github.com/users/DMSC-Instrument-Data/events{/privacy}","received_events_url":"https://api.github.com/users/DMSC-Instrument-Data/received_events","type":"Organization","site_admin":false},"repo":{"id":55496490,"name":"plankton","full_name":"DMSC-Instrument-Data/plankton","owner":{"login":"DMSC-Instrument-Data","id":15102351,"avatar_url":"https://avatars.githubusercontent.com/u/15102351?v=3","gravatar_id":"","url":"https://api.github.com/users/DMSC-Instrument-Data","html_url":"https://github.com/DMSC-Instrument-Data","followers_url":"https://api.github.com/users/DMSC-Instrument-Data/followers","following_url":"https://api.github.com/users/DMSC-Instrument-Data/following{/other_user}","gists_url":"https://api.github.com/users/DMSC-Instrument-Data/gists{/gist_id}","starred_url":"https://api.github.com/users/DMSC-Instrument-Data/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DMSC-Instrument-Data/subscriptions","organizations_url":"https://api.github.com/users/DMSC-Instrument-Data/orgs","repos_url":"https://api.github.com/users/DMSC-Instrument-Data/repos","events_url":"https://api.github.com/users/DMSC-Instrument-Data/events{/privacy}","received_events_url":"https://api.github.com/users/DMSC-Instrument-Data/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/DMSC-Instrument-Data/plankton","description":"Platform for simulation of hardware devices","fork":false,"url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton","forks_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/forks","keys_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/teams","hooks_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/hooks","issue_events_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/events{/number}","events_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/events","assignees_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/assignees{/user}","branches_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/branches{/branch}","tags_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/tags","blobs_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/refs{/sha}","trees_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/statuses/{sha}","languages_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/languages","stargazers_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/stargazers","contributors_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/contributors","subscribers_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/subscribers","subscription_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/subscription","commits_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/commits{/sha}","git_commits_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/commits{/sha}","comments_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/comments{/number}","issue_comment_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/comments{/number}","contents_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/contents/{+path}","compare_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/merges","archive_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/downloads","issues_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues{/number}","pulls_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls{/number}","milestones_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/milestones{/number}","notifications_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/labels{/name}","releases_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/releases{/id}","deployments_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/deployments","created_at":"2016-04-05T09:50:19Z","updated_at":"2016-11-03T15:48:11Z","pushed_at":"2016-11-09T14:38:10Z","git_url":"git://github.com/DMSC-Instrument-Data/plankton.git","ssh_url":"git@github.com:DMSC-Instrument-Data/plankton.git","clone_url":"https://github.com/DMSC-Instrument-Data/plankton.git","svn_url":"https://github.com/DMSC-Instrument-Data/plankton","homepage":"","size":489,"stargazers_count":2,"watchers_count":2,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":24,"forks":2,"open_issues":24,"watchers":2,"default_branch":"master"}},"base":{"label":"DMSC-Instrument-Data:master","ref":"master","sha":"3838b22dfc064772b45d61beadc4711d33321bda","user":{"login":"DMSC-Instrument-Data","id":15102351,"avatar_url":"https://avatars.githubusercontent.com/u/15102351?v=3","gravatar_id":"","url":"https://api.github.com/users/DMSC-Instrument-Data","html_url":"https://github.com/DMSC-Instrument-Data","followers_url":"https://api.github.com/users/DMSC-Instrument-Data/followers","following_url":"https://api.github.com/users/DMSC-Instrument-Data/following{/other_user}","gists_url":"https://api.github.com/users/DMSC-Instrument-Data/gists{/gist_id}","starred_url":"https://api.github.com/users/DMSC-Instrument-Data/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DMSC-Instrument-Data/subscriptions","organizations_url":"https://api.github.com/users/DMSC-Instrument-Data/orgs","repos_url":"https://api.github.com/users/DMSC-Instrument-Data/repos","events_url":"https://api.github.com/users/DMSC-Instrument-Data/events{/privacy}","received_events_url":"https://api.github.com/users/DMSC-Instrument-Data/received_events","type":"Organization","site_admin":false},"repo":{"id":55496490,"name":"plankton","full_name":"DMSC-Instrument-Data/plankton","owner":{"login":"DMSC-Instrument-Data","id":15102351,"avatar_url":"https://avatars.githubusercontent.com/u/15102351?v=3","gravatar_id":"","url":"https://api.github.com/users/DMSC-Instrument-Data","html_url":"https://github.com/DMSC-Instrument-Data","followers_url":"https://api.github.com/users/DMSC-Instrument-Data/followers","following_url":"https://api.github.com/users/DMSC-Instrument-Data/following{/other_user}","gists_url":"https://api.github.com/users/DMSC-Instrument-Data/gists{/gist_id}","starred_url":"https://api.github.com/users/DMSC-Instrument-Data/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DMSC-Instrument-Data/subscriptions","organizations_url":"https://api.github.com/users/DMSC-Instrument-Data/orgs","repos_url":"https://api.github.com/users/DMSC-Instrument-Data/repos","events_url":"https://api.github.com/users/DMSC-Instrument-Data/events{/privacy}","received_events_url":"https://api.github.com/users/DMSC-Instrument-Data/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/DMSC-Instrument-Data/plankton","description":"Platform for simulation of hardware devices","fork":false,"url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton","forks_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/forks","keys_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/teams","hooks_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/hooks","issue_events_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/events{/number}","events_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/events","assignees_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/assignees{/user}","branches_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/branches{/branch}","tags_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/tags","blobs_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/refs{/sha}","trees_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/statuses/{sha}","languages_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/languages","stargazers_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/stargazers","contributors_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/contributors","subscribers_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/subscribers","subscription_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/subscription","commits_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/commits{/sha}","git_commits_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/git/commits{/sha}","comments_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/comments{/number}","issue_comment_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/comments{/number}","contents_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/contents/{+path}","compare_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/merges","archive_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/downloads","issues_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues{/number}","pulls_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls{/number}","milestones_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/milestones{/number}","notifications_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/labels{/name}","releases_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/releases{/id}","deployments_url":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/deployments","created_at":"2016-04-05T09:50:19Z","updated_at":"2016-11-03T15:48:11Z","pushed_at":"2016-11-09T14:38:10Z","git_url":"git://github.com/DMSC-Instrument-Data/plankton.git","ssh_url":"git@github.com:DMSC-Instrument-Data/plankton.git","clone_url":"https://github.com/DMSC-Instrument-Data/plankton.git","svn_url":"https://github.com/DMSC-Instrument-Data/plankton","homepage":"","size":489,"stargazers_count":2,"watchers_count":2,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":24,"forks":2,"open_issues":24,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148"},"html":{"href":"https://github.com/DMSC-Instrument-Data/plankton/pull/148"},"issue":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/148"},"comments":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/issues/148/comments"},"review_comments":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148/comments"},"review_comment":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/pulls/148/commits"},"statuses":{"href":"https://api.github.com/repos/DMSC-Instrument-Data/plankton/statuses/8069f6b6ec7f29f0d66ee31623d1d92149f1509c"}}}}
{"actor":{"display_login":"MikeHart85"}}