skillfed

bincopy

Mangling of various file formats that conveys binary information (Motorola S-Record, Intel HEX and binary files).

bincopy v20.1.1 774.5K downloads/30d#5,093 on PyPI125
Permissive license MIT Active released

What it is and what it does

Bincopy is a Python library and command-line tool for reading, writing, and converting between multiple binary file formats commonly used in embedded systems and firmware development. It handles Motorola S-Record (.s19, .s28, .s37), Intel HEX (.hex), TI-TXT, Verilog VMEM, ELF, and raw binary formats, allowing you to load a file in one format and export it in another, inspect segments and address ranges, or manipulate binary data programmatically.

The library provides both a Python API for scripting and standalone CLI commands: `bincopy info` displays file metadata and data ranges, `bincopy convert` transforms between formats or concatenates multiple files, `bincopy fill` closes gaps between segments, and `bincopy pretty` formats files for readability. It depends on humanfriendly, argparse_addons, and pyelftools, all lightweight utilities.

Use it for:

  • Convert firmware images between formats for different embedded toolchains or programmers.
  • Inspect binary file structure and address layout before flashing to hardware.
  • Concatenate multiple binary or hex files into a single output for deployment.
  • Fill gaps in segmented binary data to create contiguous firmware images.
  • Parse and extract segments from ELF or hex files in build or CI/CD pipelines.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Converts between binary file formats (Motorola S-Record, Intel HEX, TI-TXT, Verilog VMEM, ELF, and raw binary) and provides command-line tools to inspect, convert, and manipulate them.

Yes. Bincopy is actively maintained, has no known vulnerabilities, installs with low friction, and solves a specific and well-defined problem in embedded systems workflows. The MIT license imposes no restrictions. Install it if you work with firmware files, bootloaders, or embedded binary formats.

Install

bincopy on PyPI

pip

pip install bincopy

uv

uv add bincopy

poetry

poetry add bincopy

Installing bincopy

Before you install

Low friction install with three lightweight runtime dependencies (humanfriendly, argparse_addons, pyelftools). Active maintenance with recent releases; last commit 2026-05-12 and latest release 2026-02-24.

License in practice

MIT license (permissive) places no restrictions on use, modification, or redistribution in commercial or private projects.

Quickstart

pip install bincopy

import bincopy
f = bincopy.BinFile("file.hex")
print(f.as_srec())
print(f.as_binary())

Requires Python 3.9 or later.

Verify before relying

  • Whether pyelftools dependency is optional or always required for ELF file support.
  • Performance characteristics when handling large binary files or many format conversions.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 3 — humanfriendly, argparse_addons, pyelftools
Maintenance actively maintained — 171 days since the last release
Last repo commit
First released
Downloads 774,462/month — #5,093 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: bincopy-20.1.1-py3-none-any.whl

Keywords: srecord, srec, intel hex, binary, .s19, .s28, .s37, .hex

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9

Tags

hex file convertermotorola s-record toolsintel hex manipulationbinary format conversionfirmware file formatembedded binary toolss19 s28 s37 conversion
firmware-toolsembedded-systemsbinary-format

More Build Tools packages