Fully featured Bemenu/Dmenu/Wmenu/Fuzzel/Rofi//Wofi/Yofi frontend for autotype and managing of Keepass databases.
Inspired in part by Passhole, but more dmenu and less command line focused.
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].
Installation - Configuration - Usage
- Python 3.7+
- Pykeepass >= 4.0.0 and pynput
- Bemenu, Dmenu, Wmenu, Fuzzel, Rofi, Wofi, or Yofi
- xsel or wl-copy
- (optional) Pinentry
- (optional) xdotool (for X), ydotool or wtype(for Wayland), dotool (X or Wayland).
- Supports .kdbx databases, not .kdb.
- Auto-type username and/or password on selection. Select to clipboard if desired (clears clipboard after 30s).
- 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.
- GPLv3
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.
To run tests in a venv: make test
-
To install keepmenu in a venv:
make
-
Build man page from Markdown source:
make man
-
Using
hatch
:hatch shell
: provies venv with editable installation.hatch build
&&hatch publish
: build and publish to Pypi.
-
Using
nix
:nix develop path:.
: Provides development shell with all dependencies. Edit and run similar topip install -e .
orhatch shell
.