{"action":"created","comment":{"url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/comments/81235403","pull_request_review_id":2231448,"id":81235403,"diff_hunk":"@@ -128,82 +166,79 @@ def get_children(self):\n     def get_child_by_name(self, name):\n         return self.children[name]['instance']\n \n+    def x_size(self):\n+        return self.properties['width']\n \n-class Deck(Placeable):\n-    def containers(self) -> list:\n-        containers = []\n-        for slot in self:\n-            for container in slot:\n-                containers.append(container)\n-        return containers\n-\n-    def has_container(self, query):\n-        return query in self.containers()\n-\n-\n-class Slot(Placeable):\n-    def add(self, child, name='slot', coordinates=(0, 0, 0)):\n-        super().add(child, name, coordinates)\n-\n+    def y_size(self):\n+        return self.properties['length']\n \n-class Container(Placeable):\n-    def well(self, name):\n-        return self.get_child_by_name(name)\n+    def z_size(self):\n+        return self.properties['height']\n \n-    def wells(self):\n-        return self.get_children()\n+    def get_all_children(self):\n+        my_children = self.get_children_list()\n+        children = []\n+        children.extend(my_children)\n+        for child in my_children:\n+            children.extend(child.get_all_children())\n+        return children\n \n+    def max_dimensions(self, reference):\n+        children = [(child, child.from_center(x=1, y=1, z=1, reference=reference))\n+                    for child in self.get_all_children()]\n \n-class Well(Placeable):\n-    def __init__(self, properties=None, *args, **kwargs):\n-        super().__init__(*args, **kwargs)\n+        return tuple([max(children, key=lambda a : a[1][axis])\n+                    for axis in range(3)])\n \n-        if properties is None:\n-            properties = {}\n+    def max_dims(self, reference):","path":"opentrons_sdk/containers/placeable.py","position":null,"original_position":113,"commit_id":"a787694a4ba7da1ce582b77be26db3686caa3c5f","original_commit_id":"c9a16fb89673f84f9df8a79068db377365d232f5","user":{"login":"andySigler","id":3085774,"avatar_url":"https://avatars.githubusercontent.com/u/3085774?v=3","gravatar_id":"","url":"https://api.github.com/users/andySigler","html_url":"https://github.com/andySigler","followers_url":"https://api.github.com/users/andySigler/followers","following_url":"https://api.github.com/users/andySigler/following{/other_user}","gists_url":"https://api.github.com/users/andySigler/gists{/gist_id}","starred_url":"https://api.github.com/users/andySigler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andySigler/subscriptions","organizations_url":"https://api.github.com/users/andySigler/orgs","repos_url":"https://api.github.com/users/andySigler/repos","events_url":"https://api.github.com/users/andySigler/events{/privacy}","received_events_url":"https://api.github.com/users/andySigler/received_events","type":"User","site_admin":false},"body":"resolved","created_at":"2016-09-29T21:10:20Z","updated_at":"2016-09-29T21:10:21Z","html_url":"https://github.com/OpenTrons/opentrons_sdk/pull/15#discussion_r81235403","pull_request_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15","_links":{"self":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/comments/81235403"},"html":{"href":"https://github.com/OpenTrons/opentrons_sdk/pull/15#discussion_r81235403"},"pull_request":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15"}}},"pull_request":{"url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15","id":87390036,"html_url":"https://github.com/OpenTrons/opentrons_sdk/pull/15","diff_url":"https://github.com/OpenTrons/opentrons_sdk/pull/15.diff","patch_url":"https://github.com/OpenTrons/opentrons_sdk/pull/15.patch","issue_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/15","number":15,"state":"open","locked":false,"title":"20160929 160000 max height","user":{"login":"SimplyAhmazing","id":1294344,"avatar_url":"https://avatars.githubusercontent.com/u/1294344?v=3","gravatar_id":"","url":"https://api.github.com/users/SimplyAhmazing","html_url":"https://github.com/SimplyAhmazing","followers_url":"https://api.github.com/users/SimplyAhmazing/followers","following_url":"https://api.github.com/users/SimplyAhmazing/following{/other_user}","gists_url":"https://api.github.com/users/SimplyAhmazing/gists{/gist_id}","starred_url":"https://api.github.com/users/SimplyAhmazing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimplyAhmazing/subscriptions","organizations_url":"https://api.github.com/users/SimplyAhmazing/orgs","repos_url":"https://api.github.com/users/SimplyAhmazing/repos","events_url":"https://api.github.com/users/SimplyAhmazing/events{/privacy}","received_events_url":"https://api.github.com/users/SimplyAhmazing/received_events","type":"User","site_admin":false},"body":"Get max dimensions of a placeable.","created_at":"2016-09-29T20:42:40Z","updated_at":"2016-09-29T21:10:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"40e5fc4610f42e46b09d0d5a2beea51b8fa13caf","assignee":{"login":"astaff","id":1032174,"avatar_url":"https://avatars.githubusercontent.com/u/1032174?v=3","gravatar_id":"","url":"https://api.github.com/users/astaff","html_url":"https://github.com/astaff","followers_url":"https://api.github.com/users/astaff/followers","following_url":"https://api.github.com/users/astaff/following{/other_user}","gists_url":"https://api.github.com/users/astaff/gists{/gist_id}","starred_url":"https://api.github.com/users/astaff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astaff/subscriptions","organizations_url":"https://api.github.com/users/astaff/orgs","repos_url":"https://api.github.com/users/astaff/repos","events_url":"https://api.github.com/users/astaff/events{/privacy}","received_events_url":"https://api.github.com/users/astaff/received_events","type":"User","site_admin":false},"assignees":[{"login":"astaff","id":1032174,"avatar_url":"https://avatars.githubusercontent.com/u/1032174?v=3","gravatar_id":"","url":"https://api.github.com/users/astaff","html_url":"https://github.com/astaff","followers_url":"https://api.github.com/users/astaff/followers","following_url":"https://api.github.com/users/astaff/following{/other_user}","gists_url":"https://api.github.com/users/astaff/gists{/gist_id}","starred_url":"https://api.github.com/users/astaff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astaff/subscriptions","organizations_url":"https://api.github.com/users/astaff/orgs","repos_url":"https://api.github.com/users/astaff/repos","events_url":"https://api.github.com/users/astaff/events{/privacy}","received_events_url":"https://api.github.com/users/astaff/received_events","type":"User","site_admin":false},{"login":"SimplyAhmazing","id":1294344,"avatar_url":"https://avatars.githubusercontent.com/u/1294344?v=3","gravatar_id":"","url":"https://api.github.com/users/SimplyAhmazing","html_url":"https://github.com/SimplyAhmazing","followers_url":"https://api.github.com/users/SimplyAhmazing/followers","following_url":"https://api.github.com/users/SimplyAhmazing/following{/other_user}","gists_url":"https://api.github.com/users/SimplyAhmazing/gists{/gist_id}","starred_url":"https://api.github.com/users/SimplyAhmazing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimplyAhmazing/subscriptions","organizations_url":"https://api.github.com/users/SimplyAhmazing/orgs","repos_url":"https://api.github.com/users/SimplyAhmazing/repos","events_url":"https://api.github.com/users/SimplyAhmazing/events{/privacy}","received_events_url":"https://api.github.com/users/SimplyAhmazing/received_events","type":"User","site_admin":false},{"login":"andySigler","id":3085774,"avatar_url":"https://avatars.githubusercontent.com/u/3085774?v=3","gravatar_id":"","url":"https://api.github.com/users/andySigler","html_url":"https://github.com/andySigler","followers_url":"https://api.github.com/users/andySigler/followers","following_url":"https://api.github.com/users/andySigler/following{/other_user}","gists_url":"https://api.github.com/users/andySigler/gists{/gist_id}","starred_url":"https://api.github.com/users/andySigler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andySigler/subscriptions","organizations_url":"https://api.github.com/users/andySigler/orgs","repos_url":"https://api.github.com/users/andySigler/repos","events_url":"https://api.github.com/users/andySigler/events{/privacy}","received_events_url":"https://api.github.com/users/andySigler/received_events","type":"User","site_admin":false},{"login":"levthedev","id":11400051,"avatar_url":"https://avatars.githubusercontent.com/u/11400051?v=3","gravatar_id":"","url":"https://api.github.com/users/levthedev","html_url":"https://github.com/levthedev","followers_url":"https://api.github.com/users/levthedev/followers","following_url":"https://api.github.com/users/levthedev/following{/other_user}","gists_url":"https://api.github.com/users/levthedev/gists{/gist_id}","starred_url":"https://api.github.com/users/levthedev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/levthedev/subscriptions","organizations_url":"https://api.github.com/users/levthedev/orgs","repos_url":"https://api.github.com/users/levthedev/repos","events_url":"https://api.github.com/users/levthedev/events{/privacy}","received_events_url":"https://api.github.com/users/levthedev/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15/commits","review_comments_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15/comments","review_comment_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/15/comments","statuses_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/statuses/a787694a4ba7da1ce582b77be26db3686caa3c5f","head":{"label":"OpenTrons:20160929-160000-max-height","ref":"20160929-160000-max-height","sha":"a787694a4ba7da1ce582b77be26db3686caa3c5f","user":{"login":"OpenTrons","id":6139147,"avatar_url":"https://avatars.githubusercontent.com/u/6139147?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenTrons","html_url":"https://github.com/OpenTrons","followers_url":"https://api.github.com/users/OpenTrons/followers","following_url":"https://api.github.com/users/OpenTrons/following{/other_user}","gists_url":"https://api.github.com/users/OpenTrons/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenTrons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenTrons/subscriptions","organizations_url":"https://api.github.com/users/OpenTrons/orgs","repos_url":"https://api.github.com/users/OpenTrons/repos","events_url":"https://api.github.com/users/OpenTrons/events{/privacy}","received_events_url":"https://api.github.com/users/OpenTrons/received_events","type":"Organization","site_admin":false},"repo":{"id":38644841,"name":"opentrons_sdk","full_name":"OpenTrons/opentrons_sdk","owner":{"login":"OpenTrons","id":6139147,"avatar_url":"https://avatars.githubusercontent.com/u/6139147?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenTrons","html_url":"https://github.com/OpenTrons","followers_url":"https://api.github.com/users/OpenTrons/followers","following_url":"https://api.github.com/users/OpenTrons/following{/other_user}","gists_url":"https://api.github.com/users/OpenTrons/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenTrons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenTrons/subscriptions","organizations_url":"https://api.github.com/users/OpenTrons/orgs","repos_url":"https://api.github.com/users/OpenTrons/repos","events_url":"https://api.github.com/users/OpenTrons/events{/privacy}","received_events_url":"https://api.github.com/users/OpenTrons/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenTrons/opentrons_sdk","description":"Python framework for programmatically working with labware containers and the OT-One drivers.","fork":false,"url":"https://api.github.com/repos/OpenTrons/opentrons_sdk","forks_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/forks","keys_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/teams","hooks_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/hooks","issue_events_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/events{/number}","events_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/events","assignees_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/assignees{/user}","branches_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/branches{/branch}","tags_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/tags","blobs_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/languages","stargazers_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/stargazers","contributors_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/contributors","subscribers_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/subscribers","subscription_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/subscription","commits_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/contents/{+path}","compare_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/merges","archive_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/downloads","issues_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues{/number}","pulls_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/labels{/name}","releases_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/releases{/id}","deployments_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/deployments","created_at":"2015-07-06T20:41:01Z","updated_at":"2016-08-19T17:28:36Z","pushed_at":"2016-09-29T21:09:30Z","git_url":"git://github.com/OpenTrons/opentrons_sdk.git","ssh_url":"git@github.com:OpenTrons/opentrons_sdk.git","clone_url":"https://github.com/OpenTrons/opentrons_sdk.git","svn_url":"https://github.com/OpenTrons/opentrons_sdk","homepage":"","size":631,"stargazers_count":12,"watchers_count":12,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":2,"forks":8,"open_issues":2,"watchers":12,"default_branch":"master"}},"base":{"label":"OpenTrons:master","ref":"master","sha":"20386cd8643034a21e6091a57058783cc52846cd","user":{"login":"OpenTrons","id":6139147,"avatar_url":"https://avatars.githubusercontent.com/u/6139147?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenTrons","html_url":"https://github.com/OpenTrons","followers_url":"https://api.github.com/users/OpenTrons/followers","following_url":"https://api.github.com/users/OpenTrons/following{/other_user}","gists_url":"https://api.github.com/users/OpenTrons/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenTrons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenTrons/subscriptions","organizations_url":"https://api.github.com/users/OpenTrons/orgs","repos_url":"https://api.github.com/users/OpenTrons/repos","events_url":"https://api.github.com/users/OpenTrons/events{/privacy}","received_events_url":"https://api.github.com/users/OpenTrons/received_events","type":"Organization","site_admin":false},"repo":{"id":38644841,"name":"opentrons_sdk","full_name":"OpenTrons/opentrons_sdk","owner":{"login":"OpenTrons","id":6139147,"avatar_url":"https://avatars.githubusercontent.com/u/6139147?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenTrons","html_url":"https://github.com/OpenTrons","followers_url":"https://api.github.com/users/OpenTrons/followers","following_url":"https://api.github.com/users/OpenTrons/following{/other_user}","gists_url":"https://api.github.com/users/OpenTrons/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenTrons/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenTrons/subscriptions","organizations_url":"https://api.github.com/users/OpenTrons/orgs","repos_url":"https://api.github.com/users/OpenTrons/repos","events_url":"https://api.github.com/users/OpenTrons/events{/privacy}","received_events_url":"https://api.github.com/users/OpenTrons/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenTrons/opentrons_sdk","description":"Python framework for programmatically working with labware containers and the OT-One drivers.","fork":false,"url":"https://api.github.com/repos/OpenTrons/opentrons_sdk","forks_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/forks","keys_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/teams","hooks_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/hooks","issue_events_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/events{/number}","events_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/events","assignees_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/assignees{/user}","branches_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/branches{/branch}","tags_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/tags","blobs_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/languages","stargazers_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/stargazers","contributors_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/contributors","subscribers_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/subscribers","subscription_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/subscription","commits_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/contents/{+path}","compare_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/merges","archive_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/downloads","issues_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues{/number}","pulls_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/labels{/name}","releases_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/releases{/id}","deployments_url":"https://api.github.com/repos/OpenTrons/opentrons_sdk/deployments","created_at":"2015-07-06T20:41:01Z","updated_at":"2016-08-19T17:28:36Z","pushed_at":"2016-09-29T21:09:30Z","git_url":"git://github.com/OpenTrons/opentrons_sdk.git","ssh_url":"git@github.com:OpenTrons/opentrons_sdk.git","clone_url":"https://github.com/OpenTrons/opentrons_sdk.git","svn_url":"https://github.com/OpenTrons/opentrons_sdk","homepage":"","size":631,"stargazers_count":12,"watchers_count":12,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":2,"forks":8,"open_issues":2,"watchers":12,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15"},"html":{"href":"https://github.com/OpenTrons/opentrons_sdk/pull/15"},"issue":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/15"},"comments":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/OpenTrons/opentrons_sdk/statuses/a787694a4ba7da1ce582b77be26db3686caa3c5f"}}}}
{"actor":{"display_login":"andySigler"}}