skillfed

backports.csv

Backport of Python 3 csv module

backports-csv v1.0.7 147.2K downloads/30d#11,075 on PyPI64
License unclear Abandoned released

What it is and what it does

backports.csv backports Python 3's csv module to Python 2, bridging a significant API gap caused by differences in how str is handled between the two versions. Python 3's csv module natively supports Unicode, while Python 2's does not; this package brings that capability to Python 2 code.

The package provides a drop-in replacement by importing from `backports.csv` instead of the standard library. It has no runtime dependencies and installs with low friction. However, it is explicitly designed for Python 2, which reached end-of-life in 2020, and the package itself has been abandoned since 2019 with no further maintenance.

Use it for:

  • Migrating Python 2 codebases to use Python 3's csv semantics while still running on Python 2.
  • Reading and writing CSV files with Unicode content in Python 2 applications.
  • Ensuring consistent CSV handling across Python 2 and Python 3 during a gradual migration.

Worth the install?

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

Provides Python 3's csv module API for Python 2, with native Unicode support and consistent behavior across Python versions.

No. This package is abandoned and designed for Python 2, which is no longer supported. If you are on Python 2, you should migrate to Python 3, where the csv module is built-in and fully featured. If you are already on Python 3, use the standard library csv module directly. There is no modern use case for this backport.

Install

backports-csv on PyPI

pip

pip install backports-csv

uv

uv add backports-csv

poetry

poetry add backports-csv

Installing backports.csv

Before you install

Installation is straightforward with no runtime dependencies. However, the package is abandoned—last commit was 2020-10-27 and no releases since 2019-03-11. Python 2 itself reached end-of-life in 2020, making this package obsolete for new projects.

License in practice

License treatment is unclear—no SPDX identifier or raw license text is provided. Verify the actual license before using in proprietary or GPL-sensitive contexts.

Quickstart

from backports import csv
import io

with io.open('data.csv', newline='', encoding='utf-8') as f:
    for row in csv.reader(f):
        print(row)

Designed for Python 2; Python 2 reached end-of-life in 2020. Modern Python 3 includes the csv module natively.

Verify before relying

  • Actual license terms—license_treatment is 'unclear' with no SPDX or raw license text provided.
  • Whether this package is still safe to use given its abandoned status and Python 2 EOL.

Package facts

License not declared (unclear)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 2,713 days since the last release
Last repo commit
First released
Downloads 147,203/month — #11,075 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: backports.csv-1.0.7-py2.py3-none-any.whl

Programming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7

Tags

python 2 csv unicodecsv module backportpython 2 3 csv compatibilityunicode csv reader writercross-version csv parsing
python-2-legacycsv-parsing

More Software Development packages