DioxusLabs/dioxus-std

A library to provide abstractions to access common utilities when developing Dioxus applications.

301

stars

167

commits

Rust

primary language

Jul 2, 2026

updated

README

🧰 Dioxus Development Kit 🚀

Cross-platform crates for supercharging your productivity with Dioxus.


These crates are still under development. Expect breaking changes!


dioxus-sdk is a development kit for Dioxus that provides cross-platform APIs for your Dioxus app. SDK is organized into many different crates accessible through the dioxus-sdk crate with the corresponding feature flags.

Features

  • dioxus-sdk-storage
  • dioxus-sdk-geolocation - Web & Windows
  • dioxus-sdk-notifications - Desktop
  • dioxus-sdk-window
    • Theme - (Web, Windows, Mac)
    • Window Size
  • dioxus-sdk-time
    • Sleep
    • Intervals
    • Debounce
    • Timeouts
  • dioxus-sdk-sync
    • Channels
  • dioxus-sdk-util
    • use_root_scroll
  • Camera
  • WiFi
  • Bluetooth

Geolocation example:

// dioxus-sdk-geolocation= { version = "*" }
use dioxus::prelude::*;
use dioxus_sdk_geolocation::{
    init_geolocator, use_geolocation, PowerMode
};

#[component]
fn App() -> Element {
    let geolocator = init_geolocator(PowerMode::High).unwrap();
    let coords = use_geolocation();

    match coords {
      Ok(coords) => {
        rsx!( p { "Latitude: {coords.latitude} | Longitude: {coords.longitude}" } )
      }
      Err(Error::NotInitialized) => {
        rsx!( p { "Initializing..." } )
      }
      Err(e) => {
        rsx!( p { "An error occurred {e}" } )
      }
    }
}

Usage

You can add dioxus-sdk to your application by adding it to your dependencies.

[dependencies]
dioxus-sdk = { version = "0.6", features = [] }

Dioxus Compatibility

This table represents the compatibility between this crate and Dioxus versions. The crate version supports a Dioxus version up until the next crate version in the table.

E.g. if crate version 0.1 supported Dioxus 0.6 and crate version 0.4 supported Dioxus 0.7, crate versions 0.1, 0.2, and 0.3 would support Dioxus 0.6.

Crate VersionDioxus Version
0.70.7
0.60.6
0.50.5

License

This project is dual licensed under the MIT and Apache 2.0 licenses.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in dioxus-sdk or any of it's crates, by you, shall be licensed as MIT or Apache 2.0, without any additional terms or conditions.

Contributors

DogeDark

89 commits

ealmloff

27 commits

marc2332

17 commits

jkelleyrtp

16 commits

DioxusLabs/dioxus-std

A library to provide abstractions to access common utilities when developing Dioxus applications.

301

stars

167

commits

Rust

primary language

Jul 2, 2026

updated

README

🧰 Dioxus Development Kit 🚀

Cross-platform crates for supercharging your productivity with Dioxus.


These crates are still under development. Expect breaking changes!


dioxus-sdk is a development kit for Dioxus that provides cross-platform APIs for your Dioxus app. SDK is organized into many different crates accessible through the dioxus-sdk crate with the corresponding feature flags.

Features

  • dioxus-sdk-storage
  • dioxus-sdk-geolocation - Web & Windows
  • dioxus-sdk-notifications - Desktop
  • dioxus-sdk-window
    • Theme - (Web, Windows, Mac)
    • Window Size
  • dioxus-sdk-time
    • Sleep
    • Intervals
    • Debounce
    • Timeouts
  • dioxus-sdk-sync
    • Channels
  • dioxus-sdk-util
    • use_root_scroll
  • Camera
  • WiFi
  • Bluetooth

Geolocation example:

// dioxus-sdk-geolocation= { version = "*" }
use dioxus::prelude::*;
use dioxus_sdk_geolocation::{
    init_geolocator, use_geolocation, PowerMode
};

#[component]
fn App() -> Element {
    let geolocator = init_geolocator(PowerMode::High).unwrap();
    let coords = use_geolocation();

    match coords {
      Ok(coords) => {
        rsx!( p { "Latitude: {coords.latitude} | Longitude: {coords.longitude}" } )
      }
      Err(Error::NotInitialized) => {
        rsx!( p { "Initializing..." } )
      }
      Err(e) => {
        rsx!( p { "An error occurred {e}" } )
      }
    }
}

Usage

You can add dioxus-sdk to your application by adding it to your dependencies.

[dependencies]
dioxus-sdk = { version = "0.6", features = [] }

Dioxus Compatibility

This table represents the compatibility between this crate and Dioxus versions. The crate version supports a Dioxus version up until the next crate version in the table.

E.g. if crate version 0.1 supported Dioxus 0.6 and crate version 0.4 supported Dioxus 0.7, crate versions 0.1, 0.2, and 0.3 would support Dioxus 0.6.

Crate VersionDioxus Version
0.70.7
0.60.6
0.50.5

License

This project is dual licensed under the MIT and Apache 2.0 licenses.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in dioxus-sdk or any of it's crates, by you, shall be licensed as MIT or Apache 2.0, without any additional terms or conditions.

Contributors

DogeDark

89 commits

ealmloff

27 commits

marc2332

17 commits

jkelleyrtp

16 commits

Languages

Rust

100.0%