getargs
bpaf
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.
getargs
-
Announcement: xflags 3.0.0
Actually, I would say getargs on this one. Full disclosure, I'm a major contributor to the library, but it is also faster than lexopt, and provides a bit more control.
-
Inlining functions that will only ever be called once - is this a good convention?
I have benchmarked getargs to have significant performance gains from inlining.
-
How do i learn about new crates?
I'd recommend getargs over argparse, it's also very well documented (but that version is not on crates.io yet)
-
How to parse `strace -c ls -a` using clap?
It pains me that getargs 0.5.0 is still not released yet. If you can deal with a git dependency, I would highly recommend it, it can do exactly what you want with no fuss.
-
What's everyone working on this week (23/2022)?
I'm currently working on bringing up getargs, which was abandoned on crates.io over 2 years ago. It has an API design that I agree with and I wanted to make it great, so I'm giving it a visit from the PR fairy.
-
What are legitimate problems with Rust?
If it's perfectly fine then it shouldn't be terribly difficult to write it in a way that the borrow checker is happy with. The problem is reformulating your problem such that it's easy to either annotate the lifetimes in that way or have the compiler infer them for you. And it's made more difficult if your libraries have incorrectly elided lifetimes.
bpaf
- bpaf – Command line parser with applicative interface
-
Crate to print tables in CLI in a lazy fashion?
If you want to make smart decisions depending on widths of the cells - you have to consume the whole iterator to see what is the widest cell out there, it could be the last one for example. During that iteration you'll want either to store the values somehow or store preformatted bits in a string - something like this https://github.com/pacak/bpaf/blob/master/src/buffer.rs
- The Icculus Microgrant is giving out 250 dollar grants to open source projects, please brag about your project(s) in this thread so I can see them!
-
Announcing clap-markdown — automatically generate Markdown docs for clap command-line tools
bpaf does it here, giving access to primitives like "dump names of this parser" or "dump help for this subparser": https://github.com/pacak/bpaf/blob/semantic/src/docugen.rs
-
Branching based on the return type of a function/closure argument
https://github.com/pacak/bpaf/blob/master/src/from_os_str.rs - a concrete example
- cargo + dynamic shell completion = cauwugo
-
Yet another command line argument parser: bpaf 0.6.0
https://github.com/pacak/bpaf/issues/50 - I would appreciate some feedback from a new user on naming conventions used - there or here is fine.
-
Design comparison of clap and bpaf (arg parsers)
Most of the code change is here: https://github.com/pacak/bpaf/pull/57 https://github.com/pacak/bpaf/pull/60
-
Yet another command line argument parser: bpaf 0.5.5
Something like this, handles example from the ticket at least (sans hex digits) https://github.com/pacak/bpaf/blob/master/examples/sensors.rs
-
Yet another command line argument parser: bpaf 0.5.2
see https://github.com/pacak/bpaf/blob/rc-0.5.5/examples/custom_usage.rs
What are some alternatives?
faketty - Wrapper to exec a command in a pty, even if redirecting the output
clap-rs - A full featured, fast Command Line Argument Parser for Rust
async-fundamentals-initiative
rustc-dev-guide - A guide to how rustc works and how to contribute to it.
lexopt - Minimalist pedantic command line parser
argparse-benchmarks-rs - Collected benchmarks for arg parsing crates written in Rust [Moved to: https://github.com/rosetta-rs/argparse-rosetta-rs]
xflags
cargo-supply-chain - Gather author, contributor and publisher data on crates in your dependency graph.
rust-argparse - The command-line argument parser library for rust
ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language
argparse-rosetta-rs - Comparing argparse APIs