I'm working on one that distinguishes itself by attempting to be language-agnostic, meaning the subcommands are just executables, implemented in any language: https://github.com/datagrok/subcommander
It's not meant to replace argparse; it's meant to provide a namespace mechanism for a system with lots of sub-commands.
I've been using it at work for over a year. Needs some more polish and some bugs fixed before I'd call it "releasable" though.
FWIW I know "doing it wrong" was a bit inflammatory, and generates this kind of reaction from people who think I'm determined to take their easy workflow away.
I've got plans to address this sort of complaint, to let folks who like the current behavior to keep working the way they always have and enable those like me who want a "keep all the state in a subshell" behavior to get my proposed workflow.
As one commenter points out, those plans haven't moved forward since mid 2012. I don't consider the issue "dropped" though. I'll get around to it.
It's not meant to replace argparse; it's meant to provide a namespace mechanism for a system with lots of sub-commands.
I've been using it at work for over a year. Needs some more polish and some bugs fixed before I'd call it "releasable" though.
Another project with similar goals: https://github.com/37signals/sub