go-flags
pflag
Our great sponsors
go-flags | pflag | |
---|---|---|
9 | 13 | |
2,509 | 2,307 | |
- | - | |
0.0 | 0.0 | |
9 days ago | 1 day ago | |
Go | Go | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
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
-
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
pflag
-
issue with pflag flagset
My understanding is that you can use pflag as a drop in replacement of the standard lib's flag (import flag "github.com/spf13/pflag"). So it can be used as a standalone lib I suppose.
-
Which packages do you recommend for building cli tools?
I realy enjoyed the patched version from spf13 with "--" support https://github.com/spf13/pflag
-
Define custom command-line flag types in Go 1.19
Nice, but Cobra (with pflag underneath) is so, so better.
-
-h --help -help help --? -? ????
Not by default on stdlib. There are libraries available though - https://github.com/spf13/pflag
-
Coral, a friendly Cobra fork with nearly all its features, but only 4 dependencies
Flag functionality is provided by the pflag library, a fork of the flag standard library which maintains the same interface while adding POSIX compliance.
-
xflags: An approach to command line flags with support for subcommands, positional args, environment variables, etc.
How does it compare to https://github.com/spf13/pflag ?
-
The flag package: strange but good?
spf13 has a drop in pflag that does the - short and -- long flags.
-
What are your favorite packages to use?
oklog/ulid to generate IDs. coreos/go-oidc for validating JWTs I get from auth. google/go-cmp for comparing structs in tests (unless the project is already using Testify). spf13/pflag because life's too short for Go's flag handling. getkin/kin-openapi for validating reqests/responses against my OpenAPI spec (in tests).
-
akamensky/argparse: Argparse for Golang. Just because "flag" sucks!
What are the benefits of this package over the widely used spf13/pflag?
-
Go’s highly modular nature makes it particularly good for situations where requirements are changing or evolving.
3
What are some alternatives?
cobra - A Commander for modern Go CLI interactions
flag - Flag is a simple but powerful command line option parsing library for Go support infinite level subcommand
kingpin - CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser
urfave/cli - A simple, fast, and fun package for building command line apps in Go
kong - Kong is a command-line parser for Go
complete - bash completion written in go + bash completion for go command
mitchellh/cli - A Go library for implementing command-line interfaces.
argparse - Argparse for golang. Just because `flag` sucks
flaggy - Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies.