skillfed

smart-open

Utils for streaming large files (S3, HDFS, GCS, SFTP, Azure Blob Storage, gzip, bz2, zst...)

smart-open Permissive license Active 3,456 v8.0.1 released

Install

smart-open on PyPI

pip

pip install smart-open

uv

uv add smart-open

poetry

poetry add smart-open

Package facts

License not declared (permissive)
Python support supports the current Python release (<4.0,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — wrapt
Maintenance actively maintained — 29 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: smart_open-8.0.1-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Database :: Front-EndsTopic :: System :: Distributed Computing

About smart-open

from the package's own PyPI description — quoted content, verbatim

smart_open — utils for streaming large files in Python

License (image) CI (image) Coveralls (image) Version (image) Python (image) Downloads (image)

What?

smart_open is a Python 3 library for efficient streaming of very large files from/to storages such as S3, GCS, Azure Blob Storage, HDFS, WebHDFS, HTTP, HTTPS, SFTP, or local filesystem. It supports transparent, on-the-fly (de-)compression for a variety of different...

Read as markdown · JSON record · Source repository

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

smart_open provides a unified, drop-in replacement for Python's built-in open() that streams large files efficiently from remote storage (S3, GCS, Azure, HDFS, SFTP, HTTP) and local filesystems, with transparent compression support.

Minimal friction: pure Python wheel with only wrapt as a runtime dependency. Active maintenance (29 days since last release) and 3456 GitHub stars signal solid community trust. Optional extras for specific transports (s3, gcs, azure, etc.) keep base install lightweight.

Permissive license treatment allows use in commercial and proprietary projects without copyleft obligations, though the exact license text is not present in the fact sheet.

Usage

pip install smart_open

from smart_open import open

for line in open('s3://bucket/key'):
    print(line)

Optional transport dependencies (boto3 for S3, google-cloud-storage for GCS, etc.) must be installed separately if accessing non-local storage; HDFS requires the Hadoop command-line client on $PATH.

Verdict: Production-ready streaming library with low install friction, active maintenance, and no known vulnerabilities. Permissive licensing and broad Python 3.10+ support make it suitable for data pipelines and cloud-native applications. Choose this if you need a clean, unified API for remote file access across multiple storage backends.

Needs verification

  • Whether the permissive license is MIT specifically (license_raw and license_spdx are null in the fact sheet)
  • Performance characteristics and memory footprint compared to direct storage client libraries
  • Compatibility guarantees for future versions of storage provider SDKs (boto3, google-cloud-storage, etc.)
stream large files S3remote file access Pythoncloud storage streamingefficient file I/O cloudS3 GCS Azure streamingtransparent compression filesdistributed file reading

Similar packages