#query-string #command-line-arguments #bevy #bevy-plugin #args #query-parameters #parse-url

bevy_args

bevy plugin to parse command line arguments and URL query parameters

4 stable releases

1.3.0 Feb 18, 2024
1.2.0 Jan 26, 2024
1.1.0 Jan 26, 2024
1.0.0 Jan 15, 2024

#834 in Game dev

Download history 3/week @ 2024-01-11 37/week @ 2024-01-25 2/week @ 2024-02-08 196/week @ 2024-02-15 79/week @ 2024-02-22 27/week @ 2024-02-29 51/week @ 2024-03-07 18/week @ 2024-03-14 11/week @ 2024-03-21 52/week @ 2024-03-28

137 downloads per month
Used in 3 crates

MIT license

15KB

bevy_args 🧩

test GitHub License GitHub Last Commit GitHub Releases GitHub Issues Average time to resolve an issue crates.io

bevy plugin to parse command line arguments and URL query parameters into resources

command line arguments

cargo run --example=minimal -- --my_string hello --my_int 42 --my_bool

URL query parameters

http://localhost:8080/?my_string=hello&my_int=42&my_bool=true

minimal example

use bevy_args::BevyArgsPlugin;


#[derive(
    Default,
    Debug,
    Resource,
    Serialize,
    Deserialize,
    Parser,
)]
#[command(about = "a minimal example of bevy_args", version, long_about = None)]
pub struct MinimalArgs {
    #[arg(long, default_value = "hello")]
    pub my_string: String,

    #[arg(long, default_value = "42")]
    pub my_int: i32,

    #[arg(long)]
    pub my_bool: bool,
}


pub fn main() {
    let mut app = App::new();

    app.add_plugins(BevyArgsPlugin::<MinimalArgs>::default());
    app.add_systems(Startup, print_minimal_args);

    app.run();
}

fn print_minimal_args(args: Res<MinimalArgs>) {
    println!("{:?}", *args);
}

compatible bevy versions

bevy_args bevy
1.3 0.13
1.0 0.12

Dependencies

~24–56MB
~884K SLoC