{"action":"created","issue":{"url":"https://api.github.com/repos/Parsely/streamparse/issues/178","labels_url":"https://api.github.com/repos/Parsely/streamparse/issues/178/labels{/name}","comments_url":"https://api.github.com/repos/Parsely/streamparse/issues/178/comments","events_url":"https://api.github.com/repos/Parsely/streamparse/issues/178/events","html_url":"https://github.com/Parsely/streamparse/issues/178","id":104191160,"number":178,"title":"Add `sparse serialize` command.","user":{"login":"rduplain","id":36428,"avatar_url":"https://avatars.githubusercontent.com/u/36428?v=3","gravatar_id":"","url":"https://api.github.com/users/rduplain","html_url":"https://github.com/rduplain","followers_url":"https://api.github.com/users/rduplain/followers","following_url":"https://api.github.com/users/rduplain/following{/other_user}","gists_url":"https://api.github.com/users/rduplain/gists{/gist_id}","starred_url":"https://api.github.com/users/rduplain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rduplain/subscriptions","organizations_url":"https://api.github.com/users/rduplain/orgs","repos_url":"https://api.github.com/users/rduplain/repos","events_url":"https://api.github.com/users/rduplain/events{/privacy}","received_events_url":"https://api.github.com/users/rduplain/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Parsely/streamparse/labels/ready","name":"ready","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-01T05:43:27Z","updated_at":"2015-09-01T12:47:52Z","closed_at":null,"body":"From @amontalenti:\r\n\r\nUse `thriftpy` to parse `storm.thrift` and get Thrift data structures that can be used to late out the Topology DAG. Write a (Clojure?) command-line tool `sparse serialize` that simply loads a topology and serializes it in Thrift’s binary format. Then modify the Python Topology DSL (#84) to produce Thrift data structures that can serialize as the same format."},"comment":{"url":"https://api.github.com/repos/Parsely/streamparse/issues/comments/136704504","html_url":"https://github.com/Parsely/streamparse/issues/178#issuecomment-136704504","issue_url":"https://api.github.com/repos/Parsely/streamparse/issues/178","id":136704504,"user":{"login":"dan-blanchard","id":976345,"avatar_url":"https://avatars.githubusercontent.com/u/976345?v=3","gravatar_id":"","url":"https://api.github.com/users/dan-blanchard","html_url":"https://github.com/dan-blanchard","followers_url":"https://api.github.com/users/dan-blanchard/followers","following_url":"https://api.github.com/users/dan-blanchard/following{/other_user}","gists_url":"https://api.github.com/users/dan-blanchard/gists{/gist_id}","starred_url":"https://api.github.com/users/dan-blanchard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dan-blanchard/subscriptions","organizations_url":"https://api.github.com/users/dan-blanchard/orgs","repos_url":"https://api.github.com/users/dan-blanchard/repos","events_url":"https://api.github.com/users/dan-blanchard/events{/privacy}","received_events_url":"https://api.github.com/users/dan-blanchard/received_events","type":"User","site_admin":false},"created_at":"2015-09-01T12:47:52Z","updated_at":"2015-09-01T12:47:52Z","body":"Correct.  The `storm shell` command referenced [here](https://storm.apache.org/documentation/Defining-a-non-jvm-language-dsl-for-storm.html) does three things to facilitate non-JVM DSLs:\r\n\r\n1.  It packages all your code up in a JAR for you.\r\n2.  Uploads the JAR to Nimbus\r\n3.  Calls a script of your choosing with the nimbus host, port, and uploaded JAR location as command-line arguments.\r\n\r\nIt's the script that's called in the third step that actually needs to connect to Nimbus and submits the topology Thrift definition after the code is already in place on the server.\r\n\r\nI feel like their is some context missing from this issue, because it seems unclear why we would want to split the conversion from the Python Topology DSL into the Thrift definition out into a separate tool."}}