#client #password #keepassxc

kpx

Pure Rust KeePassXC browser integration client with a simple synchronous API

1 unstable release

Uses new Rust 2024

new 0.0.1 Nov 9, 2025

#318 in #password


Used in kpx-cli

MIT license

55KB
1.5K SLoC

kpx

High-level Rust client for the KeePassXC browser integration protocol. The crate mirrors the native messaging API that the official browser extensions speak and exposes a strongly typed, synchronous abstraction.

Installation

[dependencies]
kpx = "0.1.0"

No optional features are exposed – every consumer gets the full transport, crypto, and serialization stack.

Usage

use kpx::{KpxClient, LoginQuery};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut client = KpxClient::connect()?;
    let associations = client.associations().to_vec();
    let query = LoginQuery::new("https://example.com", associations);
    let logins = client.get_logins(&query)?;
    println!("Entries: {:?}", logins.entries);
    Ok(())
}

Custom transports

You can supply your own transport by implementing the Transport trait and constructing KeePassXcClient::new(custom_transport).

License

Licensed under MIT – see the workspace LICENSE file for details.

Dependencies

~3–5.5MB
~106K SLoC