getargs
inventory
getargs | inventory | |
---|---|---|
6 | 6 | |
42 | 454 | |
- | - | |
0.0 | 6.5 | |
10 months ago | over 2 years ago | |
Rust | Rust | |
MIT License | GNU General Public License v3.0 or later |
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.
inventory
-
Announcing Rust 1.62.0
Yesss! This release finally lets David Tolnay's inventory crate live again as v0.3! 🙌🏻
-
What are legitimate problems with Rust?
Regarding static init: https://crates.io/crates/inventory (https://github.com/dtolnay/inventory)
-
dtolnay/inventory got archived, is there an alternative ?
@dtolnay I noticed you just archived the repos for inventory, linkme, gflags, and typetag, which I assume implies a deprecation.
-
I'm building a modular stream relay in Rust and looking for some advice
Plugin systems. At first I wanted each component to be a separate .so file and let the engine loads them dynamically. However this turns out to be extreamly hard, especially since I want asynchronous. Now I have switched to compile-time components selection. It still has one problem: the repetition of the componenet list. I have to list all components in the toml file, as well as in my main.rs. So far I only found https://github.com/dtolnay/inventory, but it looks "hacky" for me. I have also considered build scripts, but it pretty much destroyed the IDE experience.
-
What's your favourite under-rated Rust crate and why?
I like dtolnay's inventory or linkme crates to register items in a central list, just using decentralized annotations.
What are some alternatives?
faketty - Wrapper to exec a command in a pty, even if redirecting the output
fusioninventory-for-glpi - FusionInventory plugin for GLPI
async-fundamentals-initiative
linkme - Safe cross-platform linker shenanigans
lexopt - Minimalist pedantic command line parser
magento-2-social-login - Magento 2 Social Login extension is designed for quick login to your Magento 2 store without procesing complex register steps
xflags
rust-ctor - Module initialization/global constructor functions for Rust
clap-rs - A full featured, fast Command Line Argument Parser for Rust
magento2-replace-tools
ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language
n98-magerun2 - The swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. All commands are extendable by a module API.