bincopy
Mangling of various file formats that conveys binary information (Motorola S-Record, Intel HEX and binary files).
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 bincopyuv
uv add bincopypoetry
poetry add bincopyInstalling 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
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
hexdumpConverts binary data to hexadecimal text…
permissive · top 15,000 on PyPI
hexrecLoads, edits, and saves hexadecimal record…
permissive · top 15,000 on PyPI
intelhexRead, write, and manipulate Intel HEX files, a…
permissive · top 5,000 on PyPI
RoffIORoffio reads and writes Roxar Open File Format…
copyleft · top 15,000 on PyPI
cleCLE loads binary executables and shared…
permissive · top 5,000 on PyPI
membrowseAnalyzes binary size and memory footprint of…
unclear · top 15,000 on PyPI
pyexcel-xlsReads, manipulates, and writes data in xls…
permissive · top 5,000 on PyPI
bitstringbitstring provides Python classes and functions…
permissive · top 5,000 on PyPI
base58checkEncodes and decodes byte arrays using the…
permissive · top 15,000 on PyPI
uefi-firmwareParses, extracts, and recreates UEFI firmware…
permissive · top 15,000 on PyPI