Metadata-Version: 2.1
Name: USB-Imager
Version: 2.1.0
Summary: GUI-Application to write bootable disk images to USB key.
Author-email: Skynet-Devel <skynet-devel.tech@secu-design.com>
Project-URL: GitLab, https://gitlab.com/secu-design/usb-imager
Project-URL: PyPI, https://pypi.org/project/usb-imager
Keywords: usb,image,img,iso,write,writer,dd,flash,boot
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: System
Classifier: Topic :: Utilities
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Natural Language :: English
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: PySide6
Requires-Dist: PyGObject

# USB-Imager

[USB-Imager] is a GUI tool to write bootable disk images to USB key.

|[License]   | GPLv3
|--------    | --------
|*Copyright* | **&copy; 2021-2022 by Secu-Design&reg;**
- - - - - - -

![Screenshot]

## 1. Features

- Very fast writing by using linux system call `sendfile()` and large write buffers
- Writing an image to multiple USB sticks at once
- Optional validation after writing
- Adjustable write buffer between 4 KiB and 8 MiB
- Automatic device detection
- Detection and elimination of the following states of a device before writing:
    - Mounted
- Writing support for hybrid ISOs by checking the MBR signature
- Shows stats about writing time and overall speed

Planned:

- Deactivation of LVM2 volumes before writing
- Multilanguage support
- Distribution package support (DEB, RPM, Arch-Linux PKG)
- Redesign with own dark/light theme


## 2. Installation

- **pip / pipenv:**

    If the distribution's own package manager is not supported yet, the USB-Imager can alternatively be installed via the Python package manager `pip`.

    ```bash
    $ pip install usb-imager
    $ pip uninstall usb-imager
    ```

    or [pipenv]:

    ```bash
    $ pipenv install usb-imager
    $ pipenv run usb-imager
    $ pipenv uninstall usb-imager
    ```


## 3. Usage

Start USB-Imager via the desktop icon or just type `usb-imager` in your terminal window.


## 4. Troubleshooting:

On some Linux distributions `USB-Imager` cannot be started from the command line or from a desktop icon after installation via `pip`.

- Suggested solution for command line::

    ~/.local/bin may not be included in the executable search path due to a [bug], you have to manually add the directory to the PATH environment variable by adding it to ~/.profile in this case.

    ```bash
    $ PATH=~/.local/bin:$PATH
    ```


## 5. Support

If you want to report a bug or request a feature, you can do so [here].
You can also write an email to [Skynet-Devel].

## 6. Acknowledgements

Thanks to:

- My loved ones for their almost infinite patience.



[USB-Imager]: https://pypi.org/project/usb-imager/
[License]: https://www.gnu.org/licenses/gpl-3.0-standalone.html
[Screenshot]: https://gitlab.com/secu-design/usb-imager/-/raw/master/Screenshot.webp
[Skynet-Devel]: mailto:skynet-devel.tech@secu-design.com

[pipenv]: https://pypi.org/project/pipenv/
[here]: https://gitlab.com/secu-design/usb-imager/issues

[bug]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820856

- - - - - - -

# Changelog:

#### Version 2.1.0
- UI redesign
- 'Lock crypted device if unlocked' temporarily removed
- Added stats about writing time and overall speed
- Added optional validation after writing
- Added simultaneous writing of an image to multiple USB sticks
- Changed adjustable write buffer between 4 KiB and 8 MiB
- Many code improvements and bug fixes

#### Version 2.0.1

- Code improvements

#### Version 2.0.0

- Remove `usb-imager-git` from Arch-Linux `AUR` repository
- python min version >= 3.9
- Replace PySide2 with PySide6
- Code improvements and bug fixes

#### Version 1.1

- `usb-imager-git` is now available in the Arch-Linux `AUR` repository
- Writing buffer values changed
- Improve error detection and error messages in case of missing dependencies
- Code improvements and minor bug fixes

#### Version 1.0

- Initial version
