Skip to main content

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

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.

Download and install

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

Contributors

Maintainer

This software is maintained by Scalizer.

Scaliser

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

s6r-bitwarden-cli-1.0.5.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

s6r_bitwarden_cli-1.0.5-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file s6r-bitwarden-cli-1.0.5.tar.gz.

File metadata

  • Download URL: s6r-bitwarden-cli-1.0.5.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for s6r-bitwarden-cli-1.0.5.tar.gz
Algorithm Hash digest
SHA256 5471dcd605f7bf3cfa589cf7f581eb858225a2931447cdd41eb87326f3066b02
MD5 25b72ba2b54dd2648041d4adb98da3d3
BLAKE2b-256 1a9f150517bc78cd7bafb89c3f5895e3a7fd00de3abdaf6a9f8a427df1e5ea88

See more details on using hashes here.

File details

Details for the file s6r_bitwarden_cli-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for s6r_bitwarden_cli-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 09ece5a82dd4ea358f95ebf4d177200ddbfc1422a282903236e3c2eda02243b0
MD5 47cf126d24e553cb5b7036c1a106ec8d
BLAKE2b-256 bc775f2a45b9832b64b6ea038094b64e6a5e8f1bae9b038cba249053bc7a59b6

See more details on using hashes here.

Supported by

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