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

Many people shy away from encryption keys, whatever their operating system (Linux, Windows, macOS or other), 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, make docs LANG=fr in French; 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.4.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.4.0
File Size Uploaded
pbnightingale-0.4.0.tar.gz 3.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pbnightingale 0.4.0
File Interpreter ABI Platform
pbnightingale-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.2 MB

Release files / pbnightingale-0.4.0.tar.gz

Download URL pbnightingale-0.4.0.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
53f77f14e35246bcedd4b025166fd948e3eca5455e551346fc4a95afb7288a87
BLAKE2b-256 checksum
How to use checksums
ee9596ff3498ab8fa6af0ab07aac6cbdfc582aa6977cab8e0062f6cd7a16039f
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.4.0-py3-none-any.whl

Download URL pbnightingale-0.4.0-py3-none-any.whl
Size 3.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8a4205ae0220950109283932e6574e422b835acb04bd389aa850fd17e0306b79
BLAKE2b-256 checksum
How to use checksums
1dcee39d491d0515e2891dd38df0c87881265b1c9fdae333f2ee3a10508157f7
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

This release

0.4.0 This release

2 release files

0.3.0

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