Skip to main content

Dmenu frontend for Keepass databases

Project description

Keepmenu

PyPI - Python Version PyPI GitHub contributors

Fully featured Bemenu/Dmenu/Wmenu/Fuzzel/Rofi/Tofi/Wofi/Yofi frontend for autotype and managing of Keepass databases.

Inspired in part by Passhole, but more dmenu and less command line focused.

Installation

pip install --user keepmenu

Ensure ~/.local/bin is in your $PATH. Run keepmenu and enter your database path, keyfile path, and password.

For full installation documention see the [installation docs][docs/install.md].

Full Documentation

Installation - Configuration - Usage

Requirements

  1. Python 3.7+
  2. Pykeepass >= 4.0.0 and pynput
  3. Bemenu, Dmenu, Wmenu, Fuzzel, Rofi, Tofi, Wofi, or Yofi
  4. xsel or wl-copy
  5. (optional) Pinentry
  6. (optional) xdotool (for X), ydotool or wtype(for Wayland), dotool (X or Wayland).

Features

  • Supports .kdbx databases, not .kdb.
  • Auto-type username and/or password on selection. Select to clipboard if desired (clears clipboard after 30s on X11 or after 1 paste on Wayland).
  • Background process allows selectable time-out for locking the database.
  • Multiple databases can be unlocked and switched on the fly.
  • Use a custom Keepass 2.x style auto-type sequence.
  • Type, view or edit any field.
  • Open the URL in the default web browser.
  • Edit notes using terminal or gui editor.
  • Add and Delete entries.
  • Add, delete, rename and move groups.
  • Hide selected groups from the default and 'View/Type Individual entries' views.
  • Configure the characters and groups of characters used during password generation.
  • Optional Pinentry support for secure passphrase entry.
  • Keepass field references are supported.
  • Display and manage expired passwords.
  • Add, edit and type TOTP codes.
  • Add, edit, type and delete custom attributes.

License

  • GPLv3

Usage

keepmenu [-h] [-a AUTOTYPE] [-c CONF_FILE] [-C] [-d DATABASE] [-k KEY_FILE] [-t]

  • Run keepmenu or bind to keystroke combination.
  • Enter database path on first run.
  • Start typing to match entries.
  • Configure config.ini as desired.
  • More detailed usage information.

Tests

To run tests in a venv: make test

Development

  • To install keepmenu in a venv: make
  • Build man page from Markdown source: make man
  • Using hatch:
    • hatch shell: provides venv with editable installation.
    • hatch build && hatch publish: build and publish to Pypi.
  • Using nix:
    • nix develop: Provides development shell/venv with all dependencies.
    • make test and hatch build/publish work as usual.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keepmenu-1.4.3.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

keepmenu-1.4.3-py2.py3-none-any.whl (66.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file keepmenu-1.4.3.tar.gz.

File metadata

  • Download URL: keepmenu-1.4.3.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for keepmenu-1.4.3.tar.gz
Algorithm Hash digest
SHA256 111250a7e3ec4d1458e4f839f0adad4c7c93efa2c6908c98e1dc2d2ee4c92d0d
MD5 4ae4e2219d4743e662b27bd60a20dbf7
BLAKE2b-256 de4167f57d4c18bb0f8650a515b13a0e33c893c124e45b89717c82cc0caf955c

See more details on using hashes here.

Provenance

The following attestation bundles were made for keepmenu-1.4.3.tar.gz:

Publisher: main.yml on firecat53/keepmenu

Attestations:

File details

Details for the file keepmenu-1.4.3-py2.py3-none-any.whl.

File metadata

  • Download URL: keepmenu-1.4.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 66.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for keepmenu-1.4.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 56cbeb5936041e96ca73c1b27a19272899dffd0a5815f6ad8b845e1245f35ed1
MD5 a0ad9a295d41716f032c29bdeb405992
BLAKE2b-256 e281340c18efab7def220fddd3f161caf387008dd45737d08d09b0c7e25e8d92

See more details on using hashes here.

Provenance

The following attestation bundles were made for keepmenu-1.4.3-py2.py3-none-any.whl:

Publisher: main.yml on firecat53/keepmenu

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page