Interact easily with Bitwarden client
Project description
s6r-bitwarden-cli
Interact easily with Bitwarden client.
Overview
s6r-bitwarden-cli is a Python script designed to provide a convenient interface for interacting with the Bitwarden command-line interface (CLI) tool. It allows users to perform various Bitwarden actions, such as logging in, searching for items, retrieving item details, collections, organizations, directly from within a Python script.
Table of Contents
Installation
pip install s6r-bitwarden-cli
Make sure you have already logged for the first time with bw
:
bw login
Install Bitwarden CLI
Make sure to install the Bitwarden CLI tool on your system. You can download it from the official Bitwarden website or use your package manager.
Usage
from s6r_bitwarden_cli import BitwardenCli
bw_cli = BitwardenCli()
password = bw_cli.get_item_password('Staging', collection_name='My collection')
The get_item_password
method, when used with correctly set environment variables, abstracts the complexities of
Bitwarden authentication and CLI interactions, providing a seamless way to retrieve passwords for specified items.
Login to Bitwarden Vault
To log in to your Bitwarden Vault, you have multiple options based on your preferred authentication method.
Login with Username and Password
Set the following environment variables to log in using your Bitwarden username and password:
BITWARDEN_USERNAME
: Your Bitwarden username.BITWARDEN_PASSWORD
: Your Bitwarden password.
export BITWARDEN_USERNAME=your_username
export BITWARDEN_PASSWORD=your_password
Login with API Key
If you prefer to use an API key for authentication, set the following environment variables:
BITWARDEN_API_CLIENT_ID
: Your Bitwarden API client ID.BITWARDEN_API_CLIENT_SECRET
: Your Bitwarden API client secret.
Note: The BITWARDEN_PASSWORD
environment variable is still required to unlock the vault, even when using API key
authentication.
export BITWARDEN_API_CLIENT_ID=your_api_client_id
export BITWARDEN_API_CLIENT_SECRET=your_api_client_secret
Unlock with Session Key
If you are already logged in and have a session key, set the BITWARDEN_SESSION_KEY environment variable to unlock the vault.
This method allows you to bypass the username and password or API key authentication if you have an active session.
export BITWARDEN_SESSION_KEY=your_session_key
Examples
# Initialize Bitwarden CLI
from s6r_bitwarden_cli import BitwardenCli
bw = BitwardenCli(username='your_username', password='your_password', verbose=True)
# Check Bitwarden session status
status = bw.get_status()
# Perform login
bw.login()
# Unlock Bitwarden vault
bw.unlock()
# Search for Bitwarden items
items = bw.search_objects(objects='items', search='keyword')
# Retrieve details of a Bitwarden item
item_details = bw.get_item(name='item_name')
# Get username of a Bitwarden item
username = bw.get_item_username(name='item_name')
# Get value of a custom field of a Bitwarden item
my_custom_field = bw.get_item_field(name='item_name', field_name='my_custom_field')
# Get a list of Bitwarden organizations
organizations = bw.get_organizations()
# Get the default organization
default_organization = bw.get_default_organization()
# Get the ID of the default organization
default_organization_id = bw.get_default_organization_id()
# Get organization collections
org_collections = bw.get_org_collections(search='collection_name', organization_id='organization_id')
# Get an organization collection
org_collection = bw.get_org_collection(search='collection_name', organization_id='organization_id')
# Get the ID of an organization collection
org_collection_id = bw.get_org_collection_id(search='collection_name', organization_id='organization_id')
# logout from Bitwarden
bw.logout()
License
This project is licensed under the GNU Lesser General Public License (LGPL) Version 3.
Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
- GitHub Repository: ScalizerOrg/s6r-bitwarden-cli
Contributors
- Michel Perrocheau - Github
Maintainer
This software is maintained by Scalizer.
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
Built Distribution
File details
Details for the file s6r_bitwarden_cli-1.0.7.tar.gz
.
File metadata
- Download URL: s6r_bitwarden_cli-1.0.7.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 650d343af075dfe07f6fd3fbc97f8850d1b0204fac407a546ceb63af973f2f79 |
|
MD5 | 4882640ab57f574eb0b7c1dcc6c30e02 |
|
BLAKE2b-256 | 6c4fe53b1e79c21b7f271f277e29e49a544a6aea58961ef95d7f32d3b08e3ed7 |
File details
Details for the file s6r_bitwarden_cli-1.0.7-py3-none-any.whl
.
File metadata
- Download URL: s6r_bitwarden_cli-1.0.7-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f44d7b85be693309c669286963f77e63613ac697aeb7d387096295d2f68be4ef |
|
MD5 | 293d7975c781d51bc4449f027a189793 |
|
BLAKE2b-256 | 3a51a99d729cd1f7daa425ff9a5b3bba69e29d53a6a69c28fbb1cdc6c2b258e3 |