{"id":58919,"library":"deku","title":"Deku","description":"Bit level serialization/deserialization proc-macro for structs.","status":"active","version":"0.20.3","language":"rust","source_language":null,"source_url":"https://github.com/sharksforarms/deku","tags":["serialization","bit-level","proc-macro","binary"],"install":[{"cmd":"# Cargo.toml\n[dependencies]\ndeku = \"0.20.3\"","lang":"toml","label":"Cargo.toml"},{"cmd":"cargo add deku","lang":"bash","label":"cargo add"}],"dependencies":[],"imports":[{"symbol":"DekuRead","correct":"use deku::DekuRead;"}],"quickstart":{"code":"use deku::DekuRead;\n\n#[derive(DekuRead)]\nstruct MyStruct {\n    field: u8,\n}\n\nfn main() {\n    let data = vec![0x42];\n    let (_, val) = MyStruct::from_bytes((&data, 0)).unwrap();\n    println!(\"{:?}\", val);\n}","lang":"rust","description":"Defines a struct with bit-level deserialization using Deku."},"warnings":[{"fix":"Use attributes like `#[deku(bits = \"8\")]` and `#[deku(endian = \"big\")]`.","message":"Bit order and endianness must be explicitly specified; defaults may surprise.","severity":"gotcha","affected_versions":">=0.15.0"}],"env_vars":null,"search_vec":"'binari':17 'bit':2,12 'bit-level':11 'deku':1 'level':3,13 'macro':7,16 'proc':6,15 'proc-macro':5,14 'serial':10 'serialization/deserialization':4 'struct':9","created_at":"2026-06-16T16:43:23.510290+00:00","updated_at":"2026-06-16T16:43:23.510290+00:00","problems":[],"ecosystem":"crates","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/sharksforarms/deku","github":"https://github.com/sharksforarms/deku","docs":"https://docs.rs/deku/","changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-16","next_check":"2026-12-13","install_tag":null}}