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.2.1

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.2.1
File Size Uploaded
pbnightingale-0.2.1.tar.gz 3.6 MB Details

Built distribution (wheel)

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

Total release size: 7.1 MB

Release files / pbnightingale-0.2.1.tar.gz

Download URL pbnightingale-0.2.1.tar.gz
Size 3.6 MB
Tags Source
SHA-256 checksum
How to use checksums
3e27928f4e229b4a9ec1944718607419799c62c88ce369cca38599f74d2ad000
BLAKE2b-256 checksum
How to use checksums
3b315b4f5064ff75e5372ccfe28da15109cf0b92e71aacd8d950dd02cccf1ec0
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.2.1-py3-none-any.whl

Download URL pbnightingale-0.2.1-py3-none-any.whl
Size 3.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d161064c0ec3cfc8a459578596373ec187aff83a728047e9e43819e2f929ef9a
BLAKE2b-256 checksum
How to use checksums
d34b4aefce1dc73d7a4fcb90f3d6960fc74823b05fe78aaf0cb073bb93f3fdd4
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

0.3.0

2 release files

This release

0.2.1 This release

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