Catalog PyPI
PACKAGE EXPLORERView in registry

add-bom

PyPI

A simple utility to add a BOM to a file to ensure it opens as UTF-8 in Excel on a Mac

Versions collected1
Direct dependencies2From release 1.0.0
Last observed20 Oct, 19:16 UTC

README

Version 1.0.0 documentation

add-bom

A simple command-line utility to add a UTF-8 BOM (Byte Order Mark) to files. This is particularly useful for CSV files that need to be opened correctly in Excel on macOS, where files without a BOM might be interpreted with incorrect character encoding.

Installation

The recommended way to install this tool is using pipx:

pipx install add-bom

Usage

add-bom <file>

Options

  • --force: Force add BOM to file regardless of current encoding

Examples

Add BOM to a UTF-8 CSV file:

add-bom data.csv

Force add BOM to a file (use with caution):

add-bom data.csv --force

What is a BOM?

A BOM (Byte Order Mark) is a special character sequence at the beginning of a text file that indicates the encoding of the file. For UTF-8 files, the BOM is the sequence EF BB BF in hexadecimal.

Why is this needed?

When opening CSV files in Excel on macOS, files without a BOM might be interpreted with incorrect character encoding (like MacRoman or Windows-1252), leading to garbled text. Adding a UTF-8 BOM ensures that Excel correctly recognizes the file as UTF-8 encoded.

Safety Features

The tool includes several safety checks:

  • Verifies the file exists
  • Checks if the file already has a BOM
  • By default, only adds BOM to files that are already UTF-8 encoded
  • Requires --force flag to add BOM to files with other encodings

License

MIT License - See LICENSE file for details

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.012 May 20252

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:16 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:7d59571742d6fe16cbaea7424d97618e851f82fe0673d34c446781c1ffe08ee4