EncryptIt an OpenPGP (RFC 4880) API and CLI for Python, focusing on testing and clarity.
-
Currently it provides a debugging tool,
encryptit dumpjson
which converts OpenPGP binary messages into extremely verbose JSON. As decoders for individual packet types are added, thedumpjson
tool will become even more powerful. -
Next it will provide an API and CLI for symmetrically encrypting and decrypting files using a passphrase.
-
Eventually (and depending how it goes) we'll tackle asymmetric (public / private key) encryption.
See milestones for more detail.
It's Python, so you probably want to use a virtualenv, then:
$ pip install encryptit
# Create an encrypted file with GPG
$ echo "secret message" | gpg --symmetric /tmp/encrypted.gpg
# Decode with encryptit
$ encryptit dumpjson /tmp/encrypted.gpg
To be the cleanest, most testable OpenPGP implementation.
- Clean, helpful Pythonic API.
- Friendly and familiar command-line tools.
- CPython 2.6+, 3.2+ support, PyPy 2.7+, 3.2+ support.
- Very obvious code layout and implementation.
- Extremely high test coverage (at the expense of functionality).
- PEP8 compliant.
Copyright (C) 2015 Paul M Furley paul@paulfurley.com
GNU Affero Public License Version 3.
Proprietary re-licensing may be possible: please email me to discuss.
Currently EncryptIt sacrifices functionality in favour of testing & reliability.
For more functionality, see these other projects (my initial thoughts included alongside).
Updated 2015-05-02.
-
- lots of functionality
- TODO : look more into this one
-
- Lots of functionality.
- MIT licence.
- Quite a lot of tests, but unclear whether they're covering key things?
- How to install?
- Not PEP8 compliant.
-
- Lots of functionality - awesome!
- GPLv3 licence.
- Very sparse testing (dealbreaker).
- Existing tests currently failing on
master
- No Python 2 support.
- Not PEP8 compliant.
-
- Implements obsolete RFC 2440.
- Last updated 2005.
- "Entertainment only"
- No Python 3 support.
- Source control is mercurial.
- TODO: PEP8 compliant?