ArgumentParser adoption thread

It's terrific to see people already integrating ArgumentParser into their projects! Seeing examples of how people are using the library is extremely valuable for evaluating the design so far and looking at where we might need to fill out features or documentation.

If you'd like to share your adoption in an open-source command-line tool, please add a link to your project in this thread!


I've migrated to ArgumentParser here. I really really like @OptionGroup to automatically get the arguments in a separate struct that could be passed around :rocket:

One thing I would like is the ability to give custom names to @Argument values just like @Flag and @Option, I know they are positional so there's no prefix name but they still show on the auto generated help message, as well as on the parameters missing message.

Looks great, @kaan!

You can override the value name when passing a full ArgumentHelp instance instead of a string literal. Take a look here for an example:

1 Like

DrString migrating from swift-tools-support-core to swift-argument-parser:


Swift for TensorFlow related project swift-models migrating from Commander to ArgumentParser:


@nnnnnnnn is there a way to pass arguments/options/flags in one ParsableCommand down to its subcommands, which accept their own arguments? i.e., where the subcommand needs to see what bar is here:

mycommand foo [--bar <value>] <subcommand>
1 Like

I updated my tool. Trash my command parser written by Objective-C, use ArgumentParser!

griffin-stewie/clg: Supports generate clr file or code from ASE file a.k.a. "Adobe Swatch Exchange" etc.

1 Like

I’ve written a very important piece of software that uses ArgumentParser to fetch dad jokes:

1 Like

I have a website that displays swift package dependency graphs. I migrated to using swift-argument-parser in the tool that generates the data for this website. Maybe you can use it to find other packages that are using the argument parser in more interesting ways than I have.

1 Like

I'm using ArgumentParser for swift-docker-cli.

In my unit tests, I wanted a way to test some computed properties on my options type, without having to setup all the temporary directory & files required to pass validation. I've raised a pull request on the repo proposing to add this functionality.

1 Like

This is really cool, Adam — thanks for sharing!



This project is so wonderful! What a wonderful use of Property Wrappers. When I first wrote Zinc as an internal tool for my company, I ended up attempting to use the SPM utilities and ditching it because it was too opinionated in some ways and not opinionated enough in others. I wrote my own ArgumentParser logic that did things in a similar way but before the use of Property Wrappers came around.

It was so so so simple to update to ArgumentParser from within my project. Feel free to check out the PR where I just did it in <10 minutes here. (All those deleted files? Those are now defunct because your library does everything mine was doing only better, safer, and more efficiently!)

I'm already adding some proposals and following the tool, hoping to make some contributions back to continue to support this. Wonderful work Nate, can't wait to see where it goes!

1 Like
Terms of Service

Privacy Policy

Cookie Policy