{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/12873","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/12873/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/12873/comments","events_url":"https://api.github.com/repos/apple/swift/issues/12873/events","html_url":"https://github.com/apple/swift/pull/12873","id":273125477,"number":12873,"title":"Argparse \"Overlay\" Module","user":{"login":"Rostepher","id":862492,"avatar_url":"https://avatars3.githubusercontent.com/u/862492?v=4","gravatar_id":"","url":"https://api.github.com/users/Rostepher","html_url":"https://github.com/Rostepher","followers_url":"https://api.github.com/users/Rostepher/followers","following_url":"https://api.github.com/users/Rostepher/following{/other_user}","gists_url":"https://api.github.com/users/Rostepher/gists{/gist_id}","starred_url":"https://api.github.com/users/Rostepher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Rostepher/subscriptions","organizations_url":"https://api.github.com/users/Rostepher/orgs","repos_url":"https://api.github.com/users/Rostepher/repos","events_url":"https://api.github.com/users/Rostepher/events{/privacy}","received_events_url":"https://api.github.com/users/Rostepher/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":18,"created_at":"2017-11-11T07:01:37Z","updated_at":"2017-11-16T23:33:03Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/12873","html_url":"https://github.com/apple/swift/pull/12873","diff_url":"https://github.com/apple/swift/pull/12873.diff","patch_url":"https://github.com/apple/swift/pull/12873.patch"},"body":"# Purpose\r\n\r\nThis PR is meant to supersede #11827. Rather than one large PR that introduces an entire DSL and refactors the _very_ large argument parsing logic all at once, it seemed better to introduce the argument parsing DSL separately and then in follow-up PRs complete the refactoring. I've used @rintaro's work from #2190 to construct a wrapper module, or overlay if you will, around the standard python `argparse` which exposes the exact same API with some extras on top. Specifically there's now a bunch of new action classes which handle multiple destinations, a new builder class on the `ArgumentParser` and lastly a handful of new `*Type` classes.\r\n\r\nThe entire module is thoroughly tested and I'll be following this up with subsequent PRs to convert the argument parser piece-wise.\r\n\r\nrdar://34336890"},"comment":{"url":"https://api.github.com/repos/apple/swift/issues/comments/345097407","html_url":"https://github.com/apple/swift/pull/12873#issuecomment-345097407","issue_url":"https://api.github.com/repos/apple/swift/issues/12873","id":345097407,"user":{"login":"swift-ci","id":15467072,"avatar_url":"https://avatars0.githubusercontent.com/u/15467072?v=4","gravatar_id":"","url":"https://api.github.com/users/swift-ci","html_url":"https://github.com/swift-ci","followers_url":"https://api.github.com/users/swift-ci/followers","following_url":"https://api.github.com/users/swift-ci/following{/other_user}","gists_url":"https://api.github.com/users/swift-ci/gists{/gist_id}","starred_url":"https://api.github.com/users/swift-ci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swift-ci/subscriptions","organizations_url":"https://api.github.com/users/swift-ci/orgs","repos_url":"https://api.github.com/users/swift-ci/repos","events_url":"https://api.github.com/users/swift-ci/events{/privacy}","received_events_url":"https://api.github.com/users/swift-ci/received_events","type":"User","site_admin":false},"created_at":"2017-11-16T23:33:03Z","updated_at":"2017-11-16T23:33:03Z","author_association":"CONTRIBUTOR","body":"**Build failed**\n[Swift Test OS X Platform](https://ci.swift.org/job/swift-PR-osx/1391/)\nGit Sha - 2c3dffe58c641c4502d617e4e7930354f91b6828\n"}}
{"actor":{"display_login":"swift-ci"}}