base64io
What it is and what it does
base64io provides a streaming wrapper around input/output streams that transparently applies Base64 encoding or decoding as data passes through. Unlike Python's built-in base64 module, which requires complete streams in memory, base64io lets you transform large files or live streams in chunks, holding only a small buffer at any time. It implements the standard io interface with context manager support, making it a drop-in wrapper for file handles or other stream objects.
The package is designed for scenarios where you need to encode or decode Base64 data without materializing the full content in memory—for example, uploading an encoded file to a remote service, or decoding a streamed response. It has no external dependencies and works with the standard library alone, though it does not support seek, tell, fileno, or truncate operations because the encoded and decoded stream positions diverge.
Use it for:
- Encode large files to Base64 for transmission or storage without loading them entirely into memory.
- Decode Base64-encoded streams in a pipeline, processing chunks as they arrive.
- Wrap file handles or network streams to transparently apply Base64 transformation during read/write operations.
- Transform data in a loop without buffering the entire result, suitable for memory-constrained environments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a streaming interface for Base64 encoding and decoding that processes data without loading entire files into memory.
Yes, if you need streaming Base64 encoding/decoding and can work within its constraints (no seek/tell support, must close after write). Low install friction, no dependencies, permissive license, and no known vulnerabilities make it a safe choice. Dormant maintenance is a minor concern only if you require active bug fixes for modern Python versions beyond 3.7.
Install
base64io on PyPI
pip
pip install base64iouv
uv add base64iopoetry
poetry add base64ioInstalling base64io
Before you install
Low install friction with no runtime dependencies beyond the standard library. Dormant since late 2018 but repo remains active; last commit January 2025 suggests maintenance monitoring rather than active development.
License in practice
Licensed under Apache License 2.0 (permissive), imposing no restrictions on use or distribution in most contexts.
Quickstart
from base64io import Base64IO
with open("source_file", "rb") as source, open("encoded_file", "wb") as target:
with Base64IO(target) as encoded_target:
for line in source:
encoded_target.write(line)
Must close the stream (or use context manager) after final write to flush internal buffer and write padded result.
Verify before relying
- Whether the package is actively maintained or only monitored; last commit date does not clarify development intent.
- Performance characteristics on very large files compared to standard library alternatives.
- Compatibility with modern Python versions beyond 3.7 (classifiers list only up to 3.7).
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 2,804 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 352,576/month — #7,313 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: base64io-1.0.3-py2.py3-none-any.whl
Keywords: base64, stream
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
base2048Encodes and decodes binary data using Base2048,…
permissive · top 15,000 on PyPI
jsonseqEncodes and decodes JSON text sequences…
permissive · top 15,000 on PyPI
py-multibaseEncodes and decodes data using the Multibase…
permissive · top 15,000 on PyPI
unpaddedbase64Encodes and decodes Base64 data without RFC…
permissive · top 5,000 on PyPI
pybase64Fast base64 encoding and decoding via a C…
permissive · top 1,000 on PyPI
ecojiEncodes and decodes binary data as sequences of…
permissive · top 15,000 on PyPI
python-baseconvConverts integers to and from strings in…
permissive · top 15,000 on PyPI
python-subunitSubunit is a streaming protocol library for…
permissive · top 5,000 on PyPI
pybase62Encodes and decodes integers and byte sequences…
unclear · top 5,000 on PyPI
PyByteBufferPyByteBuffer provides Java ByteBuffer-style…
copyleft · top 5,000 on PyPI