1
0
Fork
You've already forked libpass-rs
0
[Mirror of https://git.hanse.de/lilly/libpass-rs] rust library for interacting with a pass data store
  • Rust 100%
Finn Sell ddbb74265d
Merge pull request #3 from ftsell/renovate/thiserror-1.x
Update Rust crate thiserror to 1.0.48
2023年09月05日 23:30:37 +02:00
.github/workflows Update actions/checkout action to v4 2023年09月05日 02:46:20 +00:00
src remove obsolete borrow as suggested by clippy 2023年09月05日 23:13:51 +02:00
tests rework tests to work not only on my machine 2022年06月16日 16:46:23 +02:00
.gitignore remove Cargo.lock because this is a library crate 2022年06月16日 17:43:18 +02:00
.pre-commit-config.yaml setup pre-commit 2022年06月16日 12:59:39 +02:00
Cargo.toml Update Rust crate thiserror to 1.0.48 2023年09月05日 21:28:45 +00:00
changelog.md reset changelog for new development iteration 2022年06月30日 21:37:24 +00:00
LICENSE setup project 2022年06月15日 16:53:55 +02:00
README.md add note about gpgme to installation instructions 2022年06月18日 13:22:28 +02:00
renovate.json disable renovate dependency dashboard 2022年06月21日 11:51:12 +02:00

libpass-rs

crates.io version Docs Maintenance Status

A library for interacting with pass managed data

Pass is a password manager popular on unix systems because of its simple design and ease of use. This library exists to further simplify interactions with a password store that is managed by pass by exposing common interactions as safe rust functions.

Roadmap

This library is currently very minimal and only supports the features that I needed for my own use cases. Additional features are planned to support most reasonable use cases.

In detail, the following describes the state of each feature:

  • Initializing a password store or a subfolder of an existing password store with a set of given keys While doing so, also re-encrypt all stored passwords for the given and only the given keys.
  • Listing contents of a password store
  • Retrieving information about a certain entry in a password store
  • Retrieving the content of an encrypted entry (meaning the actual password)
  • Searching inside all decrypted files for a given string
  • Updating the content of a given entry
  • Generating a new password and save it
  • Removing a given entry from the store (whole directories as well as single files)
  • Moving a given entry to a new location in the store, re-encrypting it if the new destination necessitates it
  • Copying a given entry to another location, re-encrypting it if the new destination necessitates it

Note: Most of these feature descriptions mirror how pass itself behaves during these operations (See pass documentation).

Installation and Usage

This library can be used like any other rust library. Check its crates.io page and documentation at docs.rs. Examples are also available in the documentation.

This means that you should depend on this library via your Cargo.toml like this:

[dependencies]
libpass = "*" # or a more specific version

Additionally, we depend on gpgme-rs which require the gpgme library and its development files (e.g., headers, gpgme-config) to be installed during the build process which you should install using your operating systems package manager.