Skip to main content

bw-export — Export Avendesora Accounts to BitWarden

https://pepy.tech/badge/bw-export/month https://img.shields.io/pypi/v/bw-export.svg https://img.shields.io/pypi/pyversions/bw-export.svg
Authors: Ken Kundert
Version: 0.0.0
Released: 2022-06-19
Documentation: NurdleTech.
Please post all questions, suggestions, and bug reports to: Github issues.

This utility allows you to export select accounts from Avendesora in a form that can easily be imported into BitWarden. Avendesora is a very flexible and secure password manager for the Linux command line and BitWarden in an open source commercial password manager supported on a wide variety of platforms, such as Windows, Mac, IOS, and Android.

This package provides two programs. bw-csv-export is the simpler of the two, it is less capable. bw-json-export supports more BitWarden’s features and generally preferred. Both allow you to export select accounts from Avendesora into an interchange file that can be uploaded to the BitWarden Web Portal, and from there the information syncs with all of your BitWarden-linked devices. If you are not comfortable sharing your account information with BitWarden, you can install and run your own BitWarden server.

Installation

Install with:

pip install --user bw-export

It will install both bw-csv-export and bw-json-export to ~/.local/bin.

You can find the latest version of the source code on Github.

bw-json-export

Generates a JSON file (bw.json) suitable for uploading to a BitWarden Vault.

Usage:

bw-json-export

Only those accounts with “bitwarden” field are exported. The “bitwarden” field is expected to be a dictionary that contain the fields to be exported. The value may be a simple string or it may be a script, and in some cases it may be a dictionary.

A typical example is:

bitwarden = dict(
    type = "login",
    name = "The Economist",
    urls = "{urls}",
    username = "{email}",
    password = "{passcode}",
)

You can add arbitrary fields using fields as represented by a NestedText dictionary:

bitwarden = dict(
    type = "login",
    name = "Visa",
    fields = """
        holder: {name}
        ccn: {ccn}
        exp: {exp}
        cvv: {cvv}
        report: {support}
    """,
)

You can also use a Python dictionary:

bitwarden = dict(
    type = "login",
    name = "Visa",
    fields = dict(
        holder = "{name}",
        ccn = "{ccn}",
        exp = "{exp}",
        cvv = "{cvv}",
        report = "{support}",
    ),
)

There are four types of entries supported, and they accept the following fields:

1: login
    name
    username
    password
    totp
    urls
    fields
    notes

2: secureNote
    name
    notes
    fields

3: card
    name
    brand
    holder
    ccn
    exp
    cvv
    fields
    notes

4: identity
    name
    title
    names
    street
    city
    state
    zip
    country
    email
    phone
    company
    ssn
    username
    passport
    license
    fields
    notes

Running bw-json-export creates the file: bw.json.

Once created, it can be imported from the BitWarden website (vault.bitwarden.com). When importing, use “Bitwarden (json)” as the file format.

By policy, BitWarden create duplicates of any imported accounts if they were previously imported. As such, you should delete existing accounts before re-importing to avoid duplicate accounts. A convenient way of doing so would be to partition your BitWarden cards into two folders, one dedicated to accounts imported from Avendesora and one dedicated you your BitWarden native cards. Before importing, first delete all the entries in the “Avendesora” folder, and then delete the folder itself by clicking on it, a pencil icon will appear, click on that, and then click on the trash can icon. Importing will then create a new “Avendesora” folder.

After first run, a settings file is created in ~/.config/bw-json-export/settings.nt. You can use it to control the name of the “Avendesora” folder. The default value is “[Avendesora-]YYMMDD”. The characters within the brackets is output verbatim and the remaining characters are interpreted as an Arrow format.

After importing your bw.json file you must delete it as it contains your secrets in plain text.

bw-csv-export

Generates a CSV file (bw.csv) suitable for uploading to a BitWarden Vault.

Usage:

bw-csv-export

Only those accounts with “bitwarden” field are exported. The “bitwarden” field is expected to be a dictionary that may contain the following fields: folder, type, name, notes, fields, url, username, password, and totp. If not given, they are left blank. Each value may be a simple string or a script.

A typical example is:

bitwarden = dict(
    type = "login",
    name = "The Economist",
    login_uri = "{urls}",
    login_username = "{email}",
    login_password = "{passcode}",
)

You can add arbitrary name-value pairs using fields:

bitwarden = dict(
    type = "login",
    name = "Visa",
    fields = """
        holder: {name}
        number: {ccn}
        exp: {exp}
        cvv: {cvv}
        report: {support}
    """,
)

Running bw-csv-export creates the file: bw.csv.

Once created, it can be imported from the BitWarden Vault website (vault.bitwarden.com). When importing, use “Bitwarden (csv)” as the file format.

By policy, BitWarden create duplicates of any imported accounts if they were previously imported. As such, you should delete existing accounts before re-importing to avoid duplicate accounts. A convenient way of doing so would be to partition your BitWarden entries into two folders, one dedicated to accounts imported from Avendesora and one dedicated you your BitWarden native entries. Normally you would keep the “No Folder” folder empty. BitWarden places freshly imported accounts into “No Folder”. You should then delete any existing accounts in the “Avendesora” folder and move all the new accounts in “No Folder” to the “Avendesora” folder.

You must then delete the bw.csv file as it can include your secrets in plain text.

Metadata

Release files for bw-export 0.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bw-export 0.0.0
File Size Uploaded
bw-export-0.0.0.tar.gz 8.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bw-export 0.0.0
File Interpreter ABI Platform
bw_export-0.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.0 kB

Release files / bw-export-0.0.0.tar.gz

Download URL bw-export-0.0.0.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0468f8290624d8a0532a0dad1b4f6ad02ddeb8a8e98c7625d376d60869ef395d
BLAKE2b-256 checksum
How to use checksums
92d242585638199529f434c4aed8fc0b5274a09b6ad66ddf424e90537516b13b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.4

Release files / bw_export-0.0.0-py3-none-any.whl

Download URL bw_export-0.0.0-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c64eb4a6b1d5d98f1f6c218d83aebfa4b8fb1586e74f929da8fde1b1412e594
BLAKE2b-256 checksum
How to use checksums
fedf7680b7b7f5db9cf1cd7722f5db77a5d26faa2a70ccb67ac86408da0e0c32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page