rust-magic-function-params
structopt
rust-magic-function-params | structopt | |
---|---|---|
10 | 18 | |
497 | 2,694 | |
- | - | |
10.0 | 2.7 | |
5 months ago | 4 months ago | |
Rust | Rust | |
- | 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.
rust-magic-function-params
- GitHub - alexpusch/rust-magic-function-params: Example for Axum style magic function parameter passing
-
What's the coolest Rust project you've seen that made you go, 'Wow, I didn't know Rust could do that!'?
Yes! https://github.com/alexpusch/rust-magic-function-params
-
Function that takes in any function as a parameter?
An approach similar to https://github.com/alexpusch/rust-magic-function-params can be used here. Basically, define a trait and implement it on FnOnce(A) -> R, then do function.trait_method(args).
- Axum-style magic function params demystified
- How does Bevy engine manage to be so "loose" with function signatures?
-
Parenthesis around argument name
I don't know what it is called but this helped me understand how they worked a little bit. https://github.com/alexpusch/rust-magic-function-params
- Rust state management pattern (like Tauri, Axum & Bevy)
-
Using Rust at a Startup: A Cautionary Tale
I've written a few backend APIs with rust and I have to disagree. Not only have the frameworks managed to get the ergonomics similar to your popular GC lang[0][1], the natural lack of shared mutable state of HTTP handlers means you very rarely have to encounter lifetimes and a lot of the language's advanced features. What's more, now when I go back to work with other languages, I can't help but notice the significant number of unit tests I'd not have had to write in Rust. It doesn't have a Rails and Django but it's an easy pick over anything at the language level.
A note on performance, Rust's the only langauge where I haven't had the need to update my unit test harnesses to `TRUNCATE` data base data instead of creating a separate db per test on PostgresSQL.
I'll also like to mention the gem that is SQLx[1]. As someone who's never been satisfied with ORMs, type checked SQL queries that auto-populate your custom types is revolutionary. With the error-prone langauge-SQL boundary covered, I was surprised just how good it can get making use of the builtin PostgreSQL features. Almost to the point that amount of effort the community's put to building great tools like Prisma.js and feel like a fool's errand (at least so for PosgreSQL).
[0]: https://github.com/alexpusch/rust-magic-function-params
[1]: https://github.com/juhaku/utoipa
[3]: lib.rs/crates/sqlx
-
better way to this `async fn get_blogs(Extension(pool): Extension<PgPool>` - Newbie Question
I saw this recently. Besides that, take a look at some Axum examples particularly at Extensions and Extractors.
- Axums magical handler methods amazed me when I first encountered them. I created a simple example for this pattern with detailed explanation
structopt
-
What's the coolest Rust project you've seen that made you go, 'Wow, I didn't know Rust could do that!'?
Hope you are aware that structopt is in maintenance mode and is merged into clap as of v3.
-
Task manager for Linux using rust
As I understood you need to implement a command line argument parser for that you can use clap https://github.com/clap-rs/clap or structopt https://github.com/TeXitoi/structopt.
-
clap with Ed Page :: Rustacean Station
I feel like discovering moves like this is a weakness in the ecosystem today. You can check out some of our discussion on raising visibility
-
clap 3.1: A step towards 4.0
Something I've been giving thought to is how to help structopt users discover that clap3 is their upgrade path. We've put notices in the structopt repo but cargo upgrade and docs.rs won't say anything. See https://github.com/TeXitoi/structopt/issues/525 for more ideas we're considering.
-
ANN: clap 3.0.0-rc.0!
For myself, I have found serde.rs really useful for undertanding their derives while I've always been frustrated with finding anything in structopt's documentation, so I modeled it more off of serde. This ended up both being in structure and not being in docs.rs. I think it really was the structure that was the frustration point for me but there was interest elsewhere in moving stuff out of docs.rs.
-
fncmd: Command line interface as a function.
I think it would be nice to have a comparison to clap-derive and/or structopt in the README, as that is what I expect most users would compare this to. The subcommand handling looks especially cumbersome compared to deriving on structs and enums.
-
Linkerd 2.11 now includes a Kubernetes controller written in Rust
However, the one place I'm a little curious to rewrite things is the CLI... every time we have to deal with cobra I long for Rust's structopt.
-
vaultssh: A small CLI wrapper for authenticating with SSH keys from Hashicorp Vault
Have you tried https://github.com/TeXitoi/structopt ?
-
SwayWS - a sway workspace tool which allows easy moving of workspaces to and from outputs
It is written in Rust using the structopt and swayipc crates. It is published on crates.io. The repository is hosted on GitLab. The repository is mirrored on GitHub.
-
Most Versatile Language for CLI Apps?
I use structopt, which itself uses clap.
What are some alternatives?
strata - A modular, dynamic and sleek Wayland compositor with batteries included. [Moved to: https://github.com/StrataWM/stratawm]
clap-rs - A full featured, fast Command Line Argument Parser for Rust
bevy_aseprite
docopt.rs - Docopt for Rust (command line argument parser).
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
easy_flag - Simple command line flag parser for rust.
utoipa - Simple, Fast, Code first and Compile time generated OpenAPI documentation for Rust
anyhow - Flexible concrete Error type built on std::error::Error
go - The Go programming language
rust-starter - Rust Starter Project
too-many-lists - Learn Rust by writing Entirely Too Many linked lists
enum-map