Metadata-Version: 2.1
Name: wd_fw_update
Version: 1.2.2
Summary: Updates the firmware of Western Digital SSDs on Ubuntu / Linux Mint.
Home-page: https://github.com/not-a-feature/wd_fw_update
Author: Jules Kreuer
Author-email: contact@juleskreuer.eu
License: GPL-3.0-or-later
Project-URL: Documentation, https://github.com/not-a-feature/wd_fw_update
Project-URL: Source, https://github.com/not-a-feature/wd_fw_update
Project-URL: Changelog, https://github.com/not-a-feature/wd_fw_update/releases
Project-URL: Tracker, https://github.com/not-a-feature/wd_fw_update/issues
Project-URL: Download, https://pypi.org/project/wd_fw_update/
Platform: Mac
Platform: Linux
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Requires-Dist: importlib-metadata; python_version < "3.8"
Requires-Dist: inquirer<4,>=3
Requires-Dist: tqdm<5,>=4
Requires-Dist: requests<3,>=2.2
Provides-Extra: testing
Requires-Dist: setuptools; extra == "testing"

[![ReadTheDocs](https://readthedocs.org/projects/wd_fw_update/badge/?version=latest)](https://wd-fw-update.readthedocs.io/en/stable/)
[![PyPI-Server](https://img.shields.io/pypi/v/wd_fw_update.svg)](https://pypi.org/project/wd_fw_update/)
[![Monthly Downloads](https://pepy.tech/badge/wd_fw_update/month)](https://pepy.tech/project/wd_fw_update)

# wd_fw_update
<img alt="Western Digital SSD Firmware Update Tool" src=https://github.com/not-a-feature/wd_fw_update/raw/main/logo.png height=90>

This is a firmware update tool for Western Digital SSDs on Ubuntu / Linux Mint.

It provides a user-friendly interface to select the firmware version for the update process.

It uses the Western Digital API and the NVME toolbox `nvme-cli` but is NOT associated in any case to them.

It was originally developed for Frame.Work laptops, but should work with any Ubuntu / Mint device with Western Digital NVME SSD.

See the discussion on: [community.frame.work](https://community.frame.work/t/western-digital-drive-update-guide-without-windows-wd-dashboard/20616) and [juleskreuer.eu](https://juleskreuer.eu/western-digital-firmware-update/)

<img alt="GIF" src=https://github.com/not-a-feature/wd_fw_update/raw/main/gif.gif height=250>

## Installation
### Prerequisites

Make sure the following dependencies are installed on your system:
- sudo
- nvme-cli

### Via source

Clone the repository:

```bash
git clone https://github.com/not-a-feature/wd_fw_update.git
cd wd_fw_update

pip install .
```

### Via pypi:
The newest release is published on pypi.

```bash
pip install wd-fw-update
```


## Usage

Run

```bash
wd_fw_update
```

Follow the on-screen prompts to select the appropriate options for your firmware update.
The script will guide you through the process, and once completed, it will provide a summary of the update.
Depending on the update mode, it may prompt you to reboot or switch to the new slot.


## Command-Line Options

    --version: Display the version of the firmware update tool.
    -v, --verbose: Set the log level to INFO.
    -vv, --very-verbose: Set the log level to DEBUG.

<!-- pyscaffold-notes -->

## Note

This project has been set up using PyScaffold 4.5. For details and usage
information on PyScaffold see https://pyscaffold.org/.

## Dependencies
- [nvme cli](https://github.com/linux-nvme/nvme-cli)
- [inquirer](https://pypi.org/project/inquirer/)
- [tqdm](https://pypi.org/project/tqdm/)
- [requests](https://pypi.org/project/requests/)

## License
Copyright (C) 2024 by Jules Kreuer - @not_a_feature
This piece of software is published unter the GNU General Public License v3.0
TLDR:

 | Permissions      | Conditions                   | Limitations |
 | ---------------- | ---------------------------- | ----------- |
 | ✓ Commercial use | Disclose source              | ✕ Liability |
 | ✓ Distribution   | License and copyright notice | ✕ Warranty  |
 | ✓ Modification   | Same license                 |             |
 | ✓ Patent use     | State changes                |             |
 | ✓ Private use    |                              |             |

Go to [LICENSE](https://github.com/not-a-feature/wd_fw_update/blob/main/LICENSE) to see the full version.
