go-flags
go command line option parser (by jessevdk)
kingpin
CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser (by alecthomas)
Our great sponsors
go-flags | kingpin | |
---|---|---|
9 | 2 | |
2,509 | 3,441 | |
- | - | |
0.0 | 5.2 | |
9 days ago | 21 days ago | |
Go | Go | |
BSD 3-clause "New" or "Revised" License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-flags
Posts with mentions or reviews of go-flags.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-17.
-
Which packages do you recommend for building cli tools?
https://github.com/jessevdk/go-flags provides a pretty neat way to specify flags and handle commands. Not so much extensible as cobra, but good enough for small cli tools
-
Show HN: New set of Go libraries for CLI Development
flags aims to merge the concepts from https://github.com/jessevdk/go-flags, and https://github.com/octago/sflags, both relying on struct tags to define CLI command specs. The flags library uses these underlying concepts to produce complete `cobra.Command` trees, and brings many comfort-of-life improvements for the generated applications/commands.
Console (https://github.com/reeflective/console)
-
Libraries for CLI and console applications
Flags (https://github.com/reeflective/flags) flags aims to merge the concepts from https://github.com/jessevdk/go-flags, and https://github.com/octago/sflags, both relying on struct tags to define CLI command specs. The flags library uses these underlying concepts to produce complete `cobra.Command` trees, and brings many comfort-of-life improvements for the generated applications/commands.
-
Golang equivalent of Python’s click (CLT framework)
go-flags
-
Eclipse: python-fire inspired library to simplify creating CLIs in Go, on top of Cobra
Yeah, I just didn't need the command-subcommand scheme. I used the go-flags test file for examples: https://github.com/jessevdk/go-flags/blob/master/example_test.go
-
Golang - Writing CLI App in Golang with Cobra
There are alternatives available for Cobra as well i.e. mitchellh/cli, go-flags, urfave/cli etc.
-
What are some good open source project to read when learning Go?
https://github.com/jessevdk/go-flags - struct based flag parsing
kingpin
Posts with mentions or reviews of kingpin.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-07.
-
climate "CLI Mate": a CLI library that autogenerates CLIs from structs / functions with support for nested subcommands, global / local flags, help generation from godocs, typo suggestions, shell completion and more
Args could also have detailed help (like flags) -- usage line is already auto-generated from arg(s) name and type but that's about it. This is something Cobra doesn't do for whatever reason (but https://github.com/alecthomas/kingpin does and I like it)
- What is the best way to handle flags?
What are some alternatives?
When comparing go-flags and kingpin you can also consider the following projects:
cobra - A Commander for modern Go CLI interactions
urfave/cli - A simple, fast, and fun package for building command line apps in Go
kong - Kong is a command-line parser for Go
pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
mitchellh/cli - A Go library for implementing command-line interfaces.
cli - CLI - A package for building command line app with go
argparse - Argparse for golang. Just because `flag` sucks
pingme - PingMe is a CLI which provides the ability to send messages or alerts to multiple messaging platforms & email.