Thoughtful Automation BitWarden CLI installation package
Project description
Thoughtful Automation BitWarden CLI installation package
Installation
For correct work please use python virtualenv approach! Also use –no-cache-dir option. Otherwise it would cache package wheel and wont download bw CLI binary anymore
python3 -m virtualenv venv source venv/bin/activate pip install --no-cache-dir ta-bitwarden-cli
Code above will additionally install bw CLI binary to a first available folder in the $PATH
Example Usage
import os
from ta_bitwarden_cli import ta_bitwarden_cli as ta
bitwarden_credentials = {
"password": os.getenv("BW_PASSWORD"),
"client_id": os.getenv("BW_CLIENTID"),
"client_secret": os.getenv("BW_CLIENTSECRET"),
}
creds = {
"my_vault_item": "Google Maps API Key",
}
bw = ta.Bitwarden(bitwarden_credentials)
assert bw.get_credentials(creds)["my_vault_item"]["password"] == "XXXXXXX"
Troubleshooting
If you use Windows during code execution you could face with something like:
FileNotFoundError: [WinError 2] The system cannot find the file specified
This means that no binary is available. In that case please manually download BitWarden CLI binary from https://vault.bitwarden.com/download/?app=cli&platform=windows and put it to any folder from $PATH. This approach is similar to chromedriver
Development
1. Prepare local dev env
python3 -m virtualenv venv source venv/bin/activate pip install -r requirements.txt
2. Write your code
3. Test
BW_PASSWORD=YYY BW_CLIENTID=XXX BW_CLIENTSECRET=ZZZ pytest
4. Commit your code using https://www.conventionalcommits.org/en/v1.0.0/ style commit messages
5. Bump package version
# use returned value as a new tag bump2version patch
6. Create git tag for the new version
git tag YOUR_TAG
7. Generate and commit CHANGELOG
auto-changelog git add CHANGELOG.md git commit -m "Update CHANGELOG"
8. Push new tag + your branch
git push origin YOUR_TAG git push origin YOUR_BRANCH
9. Submit PR
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.