{"action":"created","comment":{"url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments/54251701","id":54251701,"diff_hunk":"@@ -72,6 +72,21 @@ def transform(self, func):\n         op.addInputPort(outputPort=self.oport)\n         oport = op.addOutputPort()\n         return Stream(self.topology, oport)\n+     \n+    def multiTransform(self, func):\n+        \"\"\"\n+        Transforms each tuple from this stream into 0 or more tuples using the supplied function.\n+        For each tuple on this stream, the returned stream will contain all non-None tuples in","path":"com.ibm.streamsx.topology/opt/python/packages/streamsx/topology/topology.py","position":17,"original_position":17,"commit_id":"8e4cb3d06f407c01c67d48b8f75dcb294c7a9bce","original_commit_id":"8e4cb3d06f407c01c67d48b8f75dcb294c7a9bce","user":{"login":"ddebrunner","id":3769612,"avatar_url":"https://avatars.githubusercontent.com/u/3769612?v=3","gravatar_id":"","url":"https://api.github.com/users/ddebrunner","html_url":"https://github.com/ddebrunner","followers_url":"https://api.github.com/users/ddebrunner/followers","following_url":"https://api.github.com/users/ddebrunner/following{/other_user}","gists_url":"https://api.github.com/users/ddebrunner/gists{/gist_id}","starred_url":"https://api.github.com/users/ddebrunner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ddebrunner/subscriptions","organizations_url":"https://api.github.com/users/ddebrunner/orgs","repos_url":"https://api.github.com/users/ddebrunner/repos","events_url":"https://api.github.com/users/ddebrunner/events{/privacy}","received_events_url":"https://api.github.com/users/ddebrunner/received_events","type":"User","site_admin":false},"body":"Should the function return an iterable or an iterator?\r\n\r\nOr should it be either can be handled, would this approach be more Python-like?","created_at":"2016-02-26T14:49:44Z","updated_at":"2016-02-26T14:49:44Z","html_url":"https://github.com/IBMStreams/streamsx.topology/pull/274#discussion_r54251701","pull_request_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274","_links":{"self":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments/54251701"},"html":{"href":"https://github.com/IBMStreams/streamsx.topology/pull/274#discussion_r54251701"},"pull_request":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274"}}},"pull_request":{"url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274","id":60808004,"html_url":"https://github.com/IBMStreams/streamsx.topology/pull/274","diff_url":"https://github.com/IBMStreams/streamsx.topology/pull/274.diff","patch_url":"https://github.com/IBMStreams/streamsx.topology/pull/274.patch","issue_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/274","number":274,"state":"open","locked":false,"title":"Henrychi2 python spl multi transform","user":{"login":"henrychi2","id":17228597,"avatar_url":"https://avatars.githubusercontent.com/u/17228597?v=3","gravatar_id":"","url":"https://api.github.com/users/henrychi2","html_url":"https://github.com/henrychi2","followers_url":"https://api.github.com/users/henrychi2/followers","following_url":"https://api.github.com/users/henrychi2/following{/other_user}","gists_url":"https://api.github.com/users/henrychi2/gists{/gist_id}","starred_url":"https://api.github.com/users/henrychi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrychi2/subscriptions","organizations_url":"https://api.github.com/users/henrychi2/orgs","repos_url":"https://api.github.com/users/henrychi2/repos","events_url":"https://api.github.com/users/henrychi2/events{/privacy}","received_events_url":"https://api.github.com/users/henrychi2/received_events","type":"User","site_admin":false},"body":" initial drop for Python Application API multiTransform() support","created_at":"2016-02-26T08:26:42Z","updated_at":"2016-02-26T14:49:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"26962572cd942326ea9b2ec492ee283ff02899ae","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274/commits","review_comments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274/comments","review_comment_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments{/number}","comments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/274/comments","statuses_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/statuses/8e4cb3d06f407c01c67d48b8f75dcb294c7a9bce","head":{"label":"henrychi2:henrychi2_python_spl_multi_transform","ref":"henrychi2_python_spl_multi_transform","sha":"8e4cb3d06f407c01c67d48b8f75dcb294c7a9bce","user":{"login":"henrychi2","id":17228597,"avatar_url":"https://avatars.githubusercontent.com/u/17228597?v=3","gravatar_id":"","url":"https://api.github.com/users/henrychi2","html_url":"https://github.com/henrychi2","followers_url":"https://api.github.com/users/henrychi2/followers","following_url":"https://api.github.com/users/henrychi2/following{/other_user}","gists_url":"https://api.github.com/users/henrychi2/gists{/gist_id}","starred_url":"https://api.github.com/users/henrychi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrychi2/subscriptions","organizations_url":"https://api.github.com/users/henrychi2/orgs","repos_url":"https://api.github.com/users/henrychi2/repos","events_url":"https://api.github.com/users/henrychi2/events{/privacy}","received_events_url":"https://api.github.com/users/henrychi2/received_events","type":"User","site_admin":false},"repo":{"id":51716635,"name":"streamsx.topology","full_name":"henrychi2/streamsx.topology","owner":{"login":"henrychi2","id":17228597,"avatar_url":"https://avatars.githubusercontent.com/u/17228597?v=3","gravatar_id":"","url":"https://api.github.com/users/henrychi2","html_url":"https://github.com/henrychi2","followers_url":"https://api.github.com/users/henrychi2/followers","following_url":"https://api.github.com/users/henrychi2/following{/other_user}","gists_url":"https://api.github.com/users/henrychi2/gists{/gist_id}","starred_url":"https://api.github.com/users/henrychi2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrychi2/subscriptions","organizations_url":"https://api.github.com/users/henrychi2/orgs","repos_url":"https://api.github.com/users/henrychi2/repos","events_url":"https://api.github.com/users/henrychi2/events{/privacy}","received_events_url":"https://api.github.com/users/henrychi2/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/henrychi2/streamsx.topology","description":"(Incubation) A project that supports building streaming topologies (applications) for IBM Streams in different programming languages, such as Java and Scala.","fork":true,"url":"https://api.github.com/repos/henrychi2/streamsx.topology","forks_url":"https://api.github.com/repos/henrychi2/streamsx.topology/forks","keys_url":"https://api.github.com/repos/henrychi2/streamsx.topology/keys{/key_id}","collaborators_url":"https://api.github.com/repos/henrychi2/streamsx.topology/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/henrychi2/streamsx.topology/teams","hooks_url":"https://api.github.com/repos/henrychi2/streamsx.topology/hooks","issue_events_url":"https://api.github.com/repos/henrychi2/streamsx.topology/issues/events{/number}","events_url":"https://api.github.com/repos/henrychi2/streamsx.topology/events","assignees_url":"https://api.github.com/repos/henrychi2/streamsx.topology/assignees{/user}","branches_url":"https://api.github.com/repos/henrychi2/streamsx.topology/branches{/branch}","tags_url":"https://api.github.com/repos/henrychi2/streamsx.topology/tags","blobs_url":"https://api.github.com/repos/henrychi2/streamsx.topology/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/henrychi2/streamsx.topology/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/henrychi2/streamsx.topology/git/refs{/sha}","trees_url":"https://api.github.com/repos/henrychi2/streamsx.topology/git/trees{/sha}","statuses_url":"https://api.github.com/repos/henrychi2/streamsx.topology/statuses/{sha}","languages_url":"https://api.github.com/repos/henrychi2/streamsx.topology/languages","stargazers_url":"https://api.github.com/repos/henrychi2/streamsx.topology/stargazers","contributors_url":"https://api.github.com/repos/henrychi2/streamsx.topology/contributors","subscribers_url":"https://api.github.com/repos/henrychi2/streamsx.topology/subscribers","subscription_url":"https://api.github.com/repos/henrychi2/streamsx.topology/subscription","commits_url":"https://api.github.com/repos/henrychi2/streamsx.topology/commits{/sha}","git_commits_url":"https://api.github.com/repos/henrychi2/streamsx.topology/git/commits{/sha}","comments_url":"https://api.github.com/repos/henrychi2/streamsx.topology/comments{/number}","issue_comment_url":"https://api.github.com/repos/henrychi2/streamsx.topology/issues/comments{/number}","contents_url":"https://api.github.com/repos/henrychi2/streamsx.topology/contents/{+path}","compare_url":"https://api.github.com/repos/henrychi2/streamsx.topology/compare/{base}...{head}","merges_url":"https://api.github.com/repos/henrychi2/streamsx.topology/merges","archive_url":"https://api.github.com/repos/henrychi2/streamsx.topology/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/henrychi2/streamsx.topology/downloads","issues_url":"https://api.github.com/repos/henrychi2/streamsx.topology/issues{/number}","pulls_url":"https://api.github.com/repos/henrychi2/streamsx.topology/pulls{/number}","milestones_url":"https://api.github.com/repos/henrychi2/streamsx.topology/milestones{/number}","notifications_url":"https://api.github.com/repos/henrychi2/streamsx.topology/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/henrychi2/streamsx.topology/labels{/name}","releases_url":"https://api.github.com/repos/henrychi2/streamsx.topology/releases{/id}","deployments_url":"https://api.github.com/repos/henrychi2/streamsx.topology/deployments","created_at":"2016-02-14T22:10:27Z","updated_at":"2016-02-14T22:10:28Z","pushed_at":"2016-02-26T08:24:09Z","git_url":"git://github.com/henrychi2/streamsx.topology.git","ssh_url":"git@github.com:henrychi2/streamsx.topology.git","clone_url":"https://github.com/henrychi2/streamsx.topology.git","svn_url":"https://github.com/henrychi2/streamsx.topology","homepage":"http://ibmstreams.github.io/streamsx.topology","size":5610,"stargazers_count":0,"watchers_count":0,"language":"Java","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":"IBMStreams:python_spl","ref":"python_spl","sha":"2d5d7aee0bd3bd58005c39a96e405092d7018902","user":{"login":"IBMStreams","id":5439177,"avatar_url":"https://avatars.githubusercontent.com/u/5439177?v=3","gravatar_id":"","url":"https://api.github.com/users/IBMStreams","html_url":"https://github.com/IBMStreams","followers_url":"https://api.github.com/users/IBMStreams/followers","following_url":"https://api.github.com/users/IBMStreams/following{/other_user}","gists_url":"https://api.github.com/users/IBMStreams/gists{/gist_id}","starred_url":"https://api.github.com/users/IBMStreams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IBMStreams/subscriptions","organizations_url":"https://api.github.com/users/IBMStreams/orgs","repos_url":"https://api.github.com/users/IBMStreams/repos","events_url":"https://api.github.com/users/IBMStreams/events{/privacy}","received_events_url":"https://api.github.com/users/IBMStreams/received_events","type":"Organization","site_admin":false},"repo":{"id":36458001,"name":"streamsx.topology","full_name":"IBMStreams/streamsx.topology","owner":{"login":"IBMStreams","id":5439177,"avatar_url":"https://avatars.githubusercontent.com/u/5439177?v=3","gravatar_id":"","url":"https://api.github.com/users/IBMStreams","html_url":"https://github.com/IBMStreams","followers_url":"https://api.github.com/users/IBMStreams/followers","following_url":"https://api.github.com/users/IBMStreams/following{/other_user}","gists_url":"https://api.github.com/users/IBMStreams/gists{/gist_id}","starred_url":"https://api.github.com/users/IBMStreams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IBMStreams/subscriptions","organizations_url":"https://api.github.com/users/IBMStreams/orgs","repos_url":"https://api.github.com/users/IBMStreams/repos","events_url":"https://api.github.com/users/IBMStreams/events{/privacy}","received_events_url":"https://api.github.com/users/IBMStreams/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/IBMStreams/streamsx.topology","description":"(Incubation) A project that supports building streaming topologies (applications) for IBM Streams in different programming languages, such as Java and Scala.","fork":false,"url":"https://api.github.com/repos/IBMStreams/streamsx.topology","forks_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/forks","keys_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/keys{/key_id}","collaborators_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/teams","hooks_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/hooks","issue_events_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/events{/number}","events_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/events","assignees_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/assignees{/user}","branches_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/branches{/branch}","tags_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/tags","blobs_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/refs{/sha}","trees_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/trees{/sha}","statuses_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/statuses/{sha}","languages_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/languages","stargazers_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/stargazers","contributors_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/contributors","subscribers_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/subscribers","subscription_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/subscription","commits_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/commits{/sha}","git_commits_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/commits{/sha}","comments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/comments{/number}","issue_comment_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/comments{/number}","contents_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/contents/{+path}","compare_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/compare/{base}...{head}","merges_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/merges","archive_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/downloads","issues_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues{/number}","pulls_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls{/number}","milestones_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/milestones{/number}","notifications_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/labels{/name}","releases_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/releases{/id}","deployments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/deployments","created_at":"2015-05-28T18:30:13Z","updated_at":"2016-02-25T04:29:44Z","pushed_at":"2016-02-26T08:26:42Z","git_url":"git://github.com/IBMStreams/streamsx.topology.git","ssh_url":"git@github.com:IBMStreams/streamsx.topology.git","clone_url":"https://github.com/IBMStreams/streamsx.topology.git","svn_url":"https://github.com/IBMStreams/streamsx.topology","homepage":"http://ibmstreams.github.io/streamsx.topology","size":5613,"stargazers_count":10,"watchers_count":10,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":16,"mirror_url":null,"open_issues_count":40,"forks":16,"open_issues":40,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274"},"html":{"href":"https://github.com/IBMStreams/streamsx.topology/pull/274"},"issue":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/274"},"comments":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/274/comments"},"review_comments":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274/comments"},"review_comment":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/274/commits"},"statuses":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/statuses/8e4cb3d06f407c01c67d48b8f75dcb294c7a9bce"}}}}