Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Johnny can encrypt

CircleCI branch

Johnnycanencrypt aka jce is a Python module written in Rust to do basic encryption and decryption, and detached signing operations. It uses amazing sequoia-pgp library for the actual OpenPGP operations.

You can also use Yubikeys for the private key operations using this module.

How to build?

First install Rustup toolchain for your user.

Build dependencies in Fedora

sudo dnf install nettle clang clang-devel nettle-devel python3-devel pcsc-lite-devel

Build dependencies in Debian Bullseye

sudo apt install -y python3-dev libnettle8 nettle-dev libhogweed6 python3-pip python3-venv clang libpcsclite-dev libpcsclite1 libclang-9-dev pkg-config

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -U pip setuptools
python3 -m pip install -r requirements-dev.txt
python develop

For a release build use the following command.

python bdist_wheel


Please read the Introduction documentation.

API documentation

Please go through the full API documentation for detailed descriptions.

LICENSE: GPL-3.0-or-later