A Python library and command line interface for 1Password
Project description
A command line interface (and Python library) for reading passwords from 1Password.
Command line usage
To get a password:
1pass mail.google.com
By default this will look in ~/Dropbox/1Password.agilekeychain. If that’s not where you keep your keychain:
1pass --path ~/whatever/1Password.agilekeychain mail.google.com
Or, you can set your keychain path as an enviornment variable:
export ONEPASSWORD_KEYCHAIN=/path/to/keychain 1pass mail.google.com
By default, the name you pass on the command line must match the name of an item in your 1Password keychain exactly. To avoid this, fuzzy matching is made possible with the --fuzzy flag:
1pass --fuzzy mail.goog
If you don’t want to be prompted for your password, you can use the --no-prompt flag and provide the password via standard input instead:
emit_master_password | 1pass --no-prompt mail.google.com
Python usage
The interface is very simple:
from onepassword import Keychain my_keychain = Keychain(path="~/Dropbox/1Password.agilekeychain") my_keychain.unlock("my-master-password") my_keychain.item("An item's name").password
An example of real-world use
I wrote this so I could add the following line to my .muttrc file:
set imap_pass = "`1pass 'Google: personal'`"
Now, whenever I start mutt, I am prompted for my 1Password Master Password and not my Gmail password.
The --no-prompt flag is very useful when configuring mutt and PGP. mutt passes the PGP passphrase via standard in, so by inserting 1pass into this pipline I can use my 1Password master password when prompted for my PGP keyphrase:
set pgp_decrypt_command="1pass --no-prompt pgp-passphrase | gpg --passphrase-fd 0 ..."
Contributors
Pip Taylor <https://github.com/pipt>
Adam Coddington <https://github.com/latestrevision>
Ash Berlin <https://github.com/ashb>
Zach Allaun <https://github.com/zachallaun>
Eric Mika <https://github.com/kitschpatrol>
License
1pass is licensed under the MIT license. See the license file for details.
While it is designed to read .agilekeychain bundles created by 1Password, 1pass isn’t officially sanctioned or supported by AgileBits. I do hope they like it though.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file 1pass-0.2.1.tar.gz
.
File metadata
- Download URL: 1pass-0.2.1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0542ce118e2adbb203db70d1ab685e3902de474d5a26040f322ab98f000c524a |
|
MD5 | cf47104095a3f3c8dc0242fe8be1f39c |
|
BLAKE2b-256 | 9452256afae40ca6b8083c13165a5068d848844709c928302efaacaeb9e361c7 |