# Bitwarden-menu
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bitwarden-menu)
![PyPI](https://img.shields.io/pypi/v/bitwarden-menu)
![GitHub contributors](https://img.shields.io/github/contributors/firecat53/bitwarden-menu)
Dmenu/Rofi frontend for managing Bitwarden vaults. Uses the [Bitwarden CLI][2]
tool to interact with the Bitwarden database.
This project is not associated with the Bitwarden project nor 8bit Solutions
LLC.
## Installation
`pip install --user bitwarden-menu`
Ensure `~/.local/bin` is in your `$PATH`. Run `bwm` and enter your database
path, keyfile path, and password.
**NOTE:** _Initial login to some servers, including vault.bitwarden.com, will
require the `client_secret` from your account settings page. Ensure this is in
your clipboard and ready to paste prior to first run. Once logged in for the
first time, you will not need this value again._
For full installation documention see the [installation docs][docs/install.md].
## Full Documentation
[Installation](docs/install.md) - [Configuration](docs/configure.md) - [Usage](docs/usage.md)
## Requirements
1. Python 3.7+
2. [Bitwarden CLI][2]. Ensure the `bw` command is in `$PATH`
3. [Pynput][1] and [Xdg][6]
4. Dmenu, [Rofi][3], [Wofi][7] or [Bemenu][4]
5. xsel or wl-copy
6. (optional) Pinentry.
7. (optional) xdotool, ydotool(>= 1.0.0)/wtype (for Wayland).
## Features
- Supports multiple [bitwarden.com](https://bitwarden.com) and self-hosted
[Vaultwarden][5] accounts. Accounts can be switched on the fly.
- Auto-type username and/or password on selection. Select to clipboard if
desired (clipboard clears after 30 sec on X11 or after 1 paste on Wayland).
- Supports login with 2FA code from Authenticator(TOTP), Email, or Yubikey.
- Background process allows selectable time-out for locking the database.
- Use a custom [Keepass 2.x style auto-type sequence][6].
- Type, view or edit any field.
- Open the URL in the default web browser.
- Non U.S. English keyboard languages and layouts supported via xdotool or
ydotool/wtype (for Wayland).
- Edit notes using terminal or gui editor.
- Add and Delete entries
- Rename, move, delete and add folders and collections
- Move any item to or from an organization, including support for multiple
collections.
- Hide selected folders 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.
- Add, edit and type TOTP codes.
## License
- MIT
## Usage
`bwm [-h] [-v VAULT] [-l LOGIN] [-k] [-a AUTOTYPE] [-C]`
- Run `bwm` or bind to keystroke combination.
- Enter account URL on first run.
- Start typing to match entries.
- [Configure](docs/configure.md) ~/.config/bwm/config.ini as desired.
- More detailed [usage information](docs/usage.md).
- Screencast (Using Bemenu on Sway):
![Screencast](docs/short.gif)
## Tests
To run tests in a venv: `make test` (not implemented yet)
## Development
- To install bitwarden-menu 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`: Provides development shell with all dependencies.
- `make test` and `hatch build/publish` work as usual.
- GitHub Action will upload to TestPyPi on each push to `main`. To create a
GitHub and PyPi release, create a new tag (formatting below) and push tags.
<tag name on first line>
* Release note 1
* Release note 2
* ...
## Planned features
- Unit tests
- Notifications for syncing status (e.g. when a sync is complete)
[1]: https://github.com/moses-palmer/pynput "Pynput"
[2]: https://github.com/bitwarden/cli "Bitwarden CLI"
[3]: https://davedavenport.github.io/rofi/ "Rofi"
[4]: https://github.com/Cloudef/bemenu "Bemenu"
[5]: https://github.com/dani-garcia/vaultwarden "Vaultwarden"
[6]: https://pypi.org/project/xdg/ "Xdg"
[7]: https://hg.sr.ht/~scoopta/wofi "Wofi"
Raw data
{
"_id": null,
"home_page": null,
"name": "bitwarden-menu",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "bitwarden, bitwarden-menu, bwm, dmenu, rofi, wofi",
"author": null,
"author_email": "Scott Hansen <tech@firecat53.net>",
"download_url": "https://files.pythonhosted.org/packages/68/d5/54ec95b459c798111889ce3c96a0e403f65a407299ca1020a563505350db/bitwarden_menu-0.4.5.tar.gz",
"platform": null,
"description": "# Bitwarden-menu\n\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bitwarden-menu)\n![PyPI](https://img.shields.io/pypi/v/bitwarden-menu)\n![GitHub contributors](https://img.shields.io/github/contributors/firecat53/bitwarden-menu)\n\nDmenu/Rofi frontend for managing Bitwarden vaults. Uses the [Bitwarden CLI][2]\ntool to interact with the Bitwarden database.\n\nThis project is not associated with the Bitwarden project nor 8bit Solutions\nLLC.\n\n## Installation\n\n`pip install --user bitwarden-menu`\n\nEnsure `~/.local/bin` is in your `$PATH`. Run `bwm` and enter your database\npath, keyfile path, and password.\n\n**NOTE:** _Initial login to some servers, including vault.bitwarden.com, will\nrequire the `client_secret` from your account settings page. Ensure this is in\nyour clipboard and ready to paste prior to first run. Once logged in for the\nfirst time, you will not need this value again._\n \nFor full installation documention see the [installation docs][docs/install.md].\n\n## Full Documentation\n\n[Installation](docs/install.md) - [Configuration](docs/configure.md) - [Usage](docs/usage.md)\n\n## Requirements\n\n1. Python 3.7+\n2. [Bitwarden CLI][2]. Ensure the `bw` command is in `$PATH`\n3. [Pynput][1] and [Xdg][6]\n4. Dmenu, [Rofi][3], [Wofi][7] or [Bemenu][4]\n5. xsel or wl-copy\n6. (optional) Pinentry.\n7. (optional) xdotool, ydotool(>= 1.0.0)/wtype (for Wayland).\n\n## Features\n\n- Supports multiple [bitwarden.com](https://bitwarden.com) and self-hosted\n [Vaultwarden][5] accounts. Accounts can be switched on the fly.\n- Auto-type username and/or password on selection. Select to clipboard if\n desired (clipboard clears after 30 sec on X11 or after 1 paste on Wayland).\n- Supports login with 2FA code from Authenticator(TOTP), Email, or Yubikey.\n- Background process allows selectable time-out for locking the database.\n- Use a custom [Keepass 2.x style auto-type sequence][6].\n- Type, view or edit any field.\n- Open the URL in the default web browser.\n- Non U.S. English keyboard languages and layouts supported via xdotool or\n ydotool/wtype (for Wayland).\n- Edit notes using terminal or gui editor.\n- Add and Delete entries\n- Rename, move, delete and add folders and collections\n- Move any item to or from an organization, including support for multiple\n collections.\n- Hide selected folders from the default and 'View/Type Individual entries'\n views.\n- Configure the characters and groups of characters used during password\n generation.\n- Optional Pinentry support for secure passphrase entry.\n- Add, edit and type TOTP codes.\n\n## License\n\n- MIT\n\n## Usage\n\n`bwm [-h] [-v VAULT] [-l LOGIN] [-k] [-a AUTOTYPE] [-C]`\n\n- Run `bwm` or bind to keystroke combination.\n- Enter account URL on first run.\n- Start typing to match entries.\n- [Configure](docs/configure.md) ~/.config/bwm/config.ini as desired.\n- More detailed [usage information](docs/usage.md).\n- Screencast (Using Bemenu on Sway):\n\n![Screencast](docs/short.gif)\n\n## Tests\n\nTo run tests in a venv: `make test` (not implemented yet)\n\n## Development\n\n- To install bitwarden-menu in a venv: `make`\n- Build man page from Markdown source: `make man`\n- Using `hatch`:\n - `hatch shell`: provies venv with editable installation.\n - `hatch build` && `hatch publish`: build and publish to Pypi.\n- Using `nix`:\n - `nix develop`: Provides development shell with all dependencies.\n - `make test` and `hatch build/publish` work as usual.\n- GitHub Action will upload to TestPyPi on each push to `main`. To create a\n GitHub and PyPi release, create a new tag (formatting below) and push tags.\n\n <tag name on first line>\n\n * Release note 1\n * Release note 2\n * ...\n\n## Planned features\n\n- Unit tests\n- Notifications for syncing status (e.g. when a sync is complete)\n\n[1]: https://github.com/moses-palmer/pynput \"Pynput\"\n[2]: https://github.com/bitwarden/cli \"Bitwarden CLI\"\n[3]: https://davedavenport.github.io/rofi/ \"Rofi\"\n[4]: https://github.com/Cloudef/bemenu \"Bemenu\"\n[5]: https://github.com/dani-garcia/vaultwarden \"Vaultwarden\"\n[6]: https://pypi.org/project/xdg/ \"Xdg\"\n[7]: https://hg.sr.ht/~scoopta/wofi \"Wofi\"\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Dmenu/Rofi frontend for Bitwarden CLI tool",
"version": "0.4.5",
"project_urls": {
"Homepage": "https://github.com/firecat53/bitwarden-menu"
},
"split_keywords": [
"bitwarden",
" bitwarden-menu",
" bwm",
" dmenu",
" rofi",
" wofi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a38fb412762817f199f8cda1f1f965ade92011330ecc10de623d138ae729d26e",
"md5": "019d1547a5e13927b758e0a349584f49",
"sha256": "5ba31ea4a677a33639e1c2f736dbc834fc4ad2680588163d8da266ded8152595"
},
"downloads": -1,
"filename": "bitwarden_menu-0.4.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "019d1547a5e13927b758e0a349584f49",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 254096,
"upload_time": "2024-11-22T18:35:47",
"upload_time_iso_8601": "2024-11-22T18:35:47.014725Z",
"url": "https://files.pythonhosted.org/packages/a3/8f/b412762817f199f8cda1f1f965ade92011330ecc10de623d138ae729d26e/bitwarden_menu-0.4.5-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "68d554ec95b459c798111889ce3c96a0e403f65a407299ca1020a563505350db",
"md5": "182e3e412ae9e7dea4b59a96f2faf940",
"sha256": "bd494da9255d1a17cde568c38dfd6e6f7d98d96a019dd21d1737c2370a39f958"
},
"downloads": -1,
"filename": "bitwarden_menu-0.4.5.tar.gz",
"has_sig": false,
"md5_digest": "182e3e412ae9e7dea4b59a96f2faf940",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27678,
"upload_time": "2024-11-22T18:35:48",
"upload_time_iso_8601": "2024-11-22T18:35:48.963855Z",
"url": "https://files.pythonhosted.org/packages/68/d5/54ec95b459c798111889ce3c96a0e403f65a407299ca1020a563505350db/bitwarden_menu-0.4.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-22 18:35:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "firecat53",
"github_project": "bitwarden-menu",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pynput",
"specs": []
},
{
"name": "xdg-base-dirs",
"specs": []
}
],
"lcname": "bitwarden-menu"
}