PBNightingale
A cross-platform graphical GPG key management utility built with Qt 6 (PySide6).
Why
People migrating to Linux tend to shy away from encryption keys because the tooling — GPG's command line in particular — is too intimidating. PBNightingale makes everyday GPG key management approachable on Linux, Windows and macOS, without hiding what it does.
This program is a legacy (heavily improved) from an older Python program, itself an evolution of an ancient (~2014) Perl program.
Features
- Personal keys: generate an RSA or ED25519 key pair, with a live passphrase strength meter
- Subkeys: add signing/encryption/authentication subkeys, revoke one (strong confirmation), export a key's public part, back up its private material, or delete a key from your keyring
- Identities: add, set primary, and revoke text user IDs (name, email, comment) and photo user IDs
- Expiration: set or clear an expiration date on the primary key or on an individual subkey
- Passphrases: change a key's passphrase; every passphrase field has a show/hide toggle and a configurable in-memory cache, with a per-key lock indicator in the key list
- Trust & signing: sign other people's keys and set owner trust to build the web of trust, see who has already signed a given key, and fetch signer keys you don't have yet
- Import & keyservers: import keys from a file or a keyserver (by fingerprint, key ID, or email address) with a review step before anything is merged into your keyring, plus search, publish, and refresh against a keyserver
- Interface: French and English, with a preferences dialog for language, preferred key algorithm, toolbar icon size, and passphrase cache duration
Quick start
make venv # create the pixi environment
make run # launch PBNightingale
New to GPG, or to PBNightingale? The user manual walks through every
feature above, starting with the underlying GPG concepts. Read it online
at pbnightingale.readthedocs.io
(also available in French), or locally under
docs/manual/ (make docs builds it as HTML; the .rst
sources are also readable as plain text).
See CODING.md for the full developer setup and workflow.
About the name
"Nightingale" translates to French as rossignol — the bird. In French slang, though, rossignol also means a lock pick (a skeleton key). Hence the name, for a program that manages keys.
Author
Marcel Spock mrspock@cardolan.net PBMou
PBMou is a cross-language pun: "PB" stands for "Poilbarbe", and "Mou" is the French translation of "Soft" — so PBMou reads like "PBSoft" half-translated into French.
License
Code: GPL-3.0-only — see LICENSE.
Icons (src/pbnightingale/resources/*.svg, *.png, *.ico, *.icns),
sourced from the PBIcons asset
repository: CC BY-NC-SA 4.0 — see LICENSE-ICONS.
Documentation (docs/, published on Read the Docs): CC BY-NC-SA 4.0 —
see LICENSE-DOCS.
Release files for pbnightingale 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pbnightingale-0.3.0.tar.gz | 3.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pbnightingale-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.2 MB
Release files / pbnightingale-0.3.0.tar.gz
| Download URL | pbnightingale-0.3.0.tar.gz |
|---|---|
| Size | 3.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d25de4d728b8fe6b3bd070a446aef3d2fe08439cc8566fdf6e4847462b11cfcf
|
|
BLAKE2b-256 checksum How to use checksums |
6f32b22413bbd97fb5c1469af8f4f145b9016996631a9fc7e091fa9825ef22e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / pbnightingale-0.3.0-py3-none-any.whl
| Download URL | pbnightingale-0.3.0-py3-none-any.whl |
|---|---|
| Size | 3.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb8d9b7ece90b24d38941a2eff2ce8031bb270e31a711d62c6f741e7f967333d
|
|
BLAKE2b-256 checksum How to use checksums |
28de637e21e5c49efeb5b1ffa6acc25607602e69b105fc46091aa9155b668b58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|