skillfed

overpunch

Overpunch Parser/Formatter

overpunch v1.1 272.0K downloads/30d#8,215 on PyPI5
Permissive license DORMANT released

What it is and what it does

Overpunch is a lightweight parser and formatter for overpunch-encoded numbers, a legacy numeric representation used primarily in mainframe and COBOL systems to store signed decimal values in fixed-width fields. The encoding embeds the sign in the final character of the number, allowing negative values to be represented without a separate sign byte.

The package provides two main functions: extract() to parse an overpunch-encoded string into a Decimal, and format() to convert a numeric value into overpunch representation. It has no external runtime dependencies and is intended for systems that need to read or generate data in this legacy format, particularly in healthcare and financial data processing where mainframe integration is still common.

Use it for:

  • Parse overpunch-encoded fields from mainframe data exports or COBOL-generated files
  • Convert legacy financial or healthcare records into standard decimal format for modern systems
  • Generate overpunch-formatted output for systems that require this encoding as input
  • Integrate with data migration pipelines that bridge legacy and modern platforms
  • Handle fixed-width record formats common in batch data processing from older systems

Worth the install?

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

Parses and formats overpunch-encoded numbers, a legacy numeric encoding used to represent signed decimal values in fixed-width fields.

Yes, but with caution. Install if you actively work with legacy mainframe data or COBOL systems that use overpunch encoding. The package is stable and has no known vulnerabilities, but it has been dormant since 2017 and may not be maintained for modern Python versions. Not recommended for new projects or systems without a specific requirement for this encoding.

Install

overpunch on PyPI

pip

pip install overpunch

uv

uv add overpunch

poetry

poetry add overpunch

Installing overpunch

Before you install

High install friction due to source-only distribution. Dormant maintenance since 2017 with no recent activity, though the repository remains unarchived. No runtime dependencies.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for commercial and private projects.

Quickstart

pip install overpunch
import overpunch
formatted = overpunch.format(123.45)  # Returns '1234E'
extracted = overpunch.extract('1234E')  # Returns Decimal('123.45')

No runtime dependencies, but package has not been updated since 2017 and may have compatibility issues with recent Python versions.

Verify before relying

  • Whether the package works reliably with modern Python 3 versions beyond those listed in classifiers
  • Current status of the GitHub repository and whether it accepts contributions or bug reports
  • Whether overpunch encoding is still in active use or primarily historical/legacy systems

Package facts

License not declared (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance dormant — 3,399 days since the last release
Last repo commit
First released
Downloads 271,984/month — #8,215 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: overpunch-1.1.tar.gz

Development Status :: 5 - Production/StableIntended Audience :: Healthcare IndustryLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Topic :: Text Processing

Tags

overpunch encoding parsersigned numeric format converterlegacy number encodingfixed-width decimal formatteroverpunch extract formatCOBOL numeric conversionmainframe data parsing
legacy-formatmainframe-integrationdata-migration

More Text Processing packages