#user-agent #uap #regex #uap-core #user-agent-parser

simple-useragent

A simple user agent parser library based on the uap-core regexes

3 releases

0.1.2 Feb 11, 2025
0.1.1 Feb 4, 2025
0.1.0 Feb 4, 2025

#981 in Parser implementations

Download history 230/week @ 2025-02-04 155/week @ 2025-02-11

385 downloads per month

MIT license

24KB
326 lines

Simple UserAgent parser

A simple user agent parser library based on the uap-core regexes

Example

A simple example that parses a user agent string and reads the parsed fields:

fn main() {
    // Create a user agent parser
    let parser = simple_useragent::UserAgentParser::new();

    // Parse a user agent string
    let ua = parser.parse(
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:134.0) Gecko/20100101 Firefox/134.0",
    );

    // Print the parsed user agent fields
    println!("Client family: {}", ua.client.family); // -> "Firefox"
    println!("Client version: {:?}", ua.client.version); // -> Some("134.0")
    println!("OS family: {}", ua.os.family); // -> "Mac OS X"
    println!("OS version: {:?}", ua.os.version); // -> Some("10.15")
}

Features

  • serde: Enable serialization and deserialization derives of the structs with serde.

Documentation

See the documentation for more information.

License

Copyright © 2024-2025 Bastiaan van der Plaat

Licensed under the MIT license.

Dependencies

~2.4–4MB
~77K SLoC