Skip to content

ealasu/onepasswordpy

 
 

Repository files navigation

Build Status

onepasswordpy is a pure-python library for manipulating 1Password's .agilekeychain files. Right now, it supports decrypting and loading all data types. Creation of new items will come in a future release. It will also support .cloudkeychain files in a future release. See TODO.markdown for other things that might come in future releases.

IMPORTANT NOTE: I am not in any way affiliated with AgileBits, the makers of 1Password. Their software is awesome and you should probably go buy it. Please don't sue me!

Dependencies

This project depends on the following upstream libraries:

  • simplejson
  • pycrypto

This is a human-readable denormalized list; for the actual list, look at setup.py.

There are three different providers for the most expensive crypto operation (key derivation via PBKDF2):

  • nettle (via ctypes): finishes test suite in 0.35s
  • openssl (via M2Crypto): finishes test suite in 1.85s
  • PyCrypto: finishes test suite in 8.08s

These will be imported in that order. If you don't have one of the faster options (nettle, M2Crypto), everything will fall back gracefully to PyCrypto (which is also used for the speedy symmetric crypto).

Unit tests are written using Yelp's testify framework; you should install it (with yum, apt-get, pip, or whatever else suits your fancy) and run testify tests to run the tests.

It also probably only runs on Python 2.6 and 2.7.

License

This work is licensed under the ISC license. The full contents of this license are available as the file LICENSE.txt

About

Python implementation of 1Password keychains

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.4%
  • JavaScript 6.6%