Skip to main content

PBNightingale

Release CI Coverage PyPI Documentation Status

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)

Source distribution for pbnightingale 0.3.0
File Size Uploaded
pbnightingale-0.3.0.tar.gz 3.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pbnightingale 0.3.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page