Simple release: Adds optional subparsers.
This is the first step towards my ultimate goal, which is to have multiple, independent, optional subparsers.
Doesn't sound like much now, but this would be a killer feature, which would really help simple-parsing step above the subparser limitations of argparse.
This would be especially useful when creating command-line APIs for ML applications, when you might need a subparser for each type of model, or for each type of dataset, or for each type of optimizer, etc etc.
This is best achieved using subparsers, however the current API is a bit clumsy.
Here is the roadmap for that feature:
1. Optional subparsers (This release)
- [See this test file if you're curious](https://github.com/lebrice/SimpleParsing/blob/master/test/test_optional_subparsers.py)
2. Multiple independant subparsers on a single dataclass (Next release)
- [See this WIP example if you're curious](https://github.com/lebrice/SimpleParsing/blob/lebrice/multiple_subparsers/examples/multiple_subparsers/multiple_subparsers_example.py)
3. Multiple, inter-dependant subparsers (stretch goal)
- (e.g. where the default value is dependant on the types of other fields)
Let me know what you think!
What's Changed
* Add FrozenSerializable, fix tests by lebrice in https://github.com/lebrice/SimpleParsing/pull/102
* Add Optional Subparsers by lebrice in https://github.com/lebrice/SimpleParsing/pull/104
**Full Changelog**: https://github.com/lebrice/SimpleParsing/compare/v0.0.17...v0.0.18