Reading through, but not testing, it looks like a faithful replacement. The usage like will be a bit different. Given optparse: usage='usage: %prog [-d] [-t] [input [output]] automatic argparse: usage='usage: %prog [-d] [-t] [input] [output] There is, however, a bugs issue about converting the '[..] [..]' into [..[..]]. Other than simplifying the handling of these positional arguments, this replacement doesn't add much. I haven't paid much attention to issues that replace other uses of optparse. Since that is no longer deprecated, I don't think there's a rush to replace them.