| Crates.io | kpx |
| lib.rs | kpx |
| version | 0.0.1 |
| created_at | 2025-11-09 01:03:37.610742+00 |
| updated_at | 2025-11-09 01:03:37.610742+00 |
| description | Pure Rust KeePassXC browser integration client with a simple synchronous API |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1923461 |
| size | 66,156 |
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.
[dependencies]
kpx = "0.1.0"
No optional features are exposed – every consumer gets the full transport, crypto, and serialization stack.
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(())
}
You can supply your own transport by implementing the Transport trait and constructing KeePassXcClient::new(custom_transport).
Licensed under MIT – see the workspace LICENSE file for details.