blobfile
Read GCS, ABS and local paths with the same interface, clone of tensorflow.io.gfile
Decision gist · record as of 2026-08-14
Yes, if you work with cloud blob storage and want a simpler, provider-agnostic file interface. The low install friction, active maintenance, public domain license, and lack of known vulnerabilities make it a safe choice. Install only if you actually need multi-cloud or local-plus-cloud file abstraction; if you use only one provider, that provider's native SDK may be more direct.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Authentication to GCS or Azure requires appropriate credentials (environment variables or default application credentials).
- Low friction: pure Python wheel with four straightforward runtime dependencies (pycryptodomex, urllib3, lxml, filelock).
License · maintenance · safety
Public Domain (permissive) — Public Domain license means no restrictions on use, modification, or distribution—you can use this freely in any project without license compatibility concerns.
last release 2026-02-07 (188 days) · last repo commit 2026-03-06 · 73 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 9,649,170 downloads/mo, #1,514 on PyPI
Alternatives
Verify before relying
pip install blobfile
import blobfile as bf
with bf.BlobFile("gs://my-bucket-name/cats", "wb") as f:
f.write(b"meow!")
with bf.BlobFile("gs://my-bucket-name/cats", "rb") as f:
print(f.read())- Performance characteristics and latency overhead compared to cloud provider SDKs
- Concurrent access limits or connection pooling behavior under high load
- Compatibility with specific GCS/Azure API versions or deprecated endpoints
What it is and what it does
Blobfile abstracts away the differences between local filesystem operations and cloud blob storage by exposing a single Python interface modeled on the built-in `open()` function. You can read and write files on Google Cloud Storage (gs://), Azure Blob Storage (az:// or https://), and local paths using the same code, with optional streaming to avoid downloading entire files into memory.
The library provides both high-level file operations (BlobFile for opening, copy for remote-to-remote transfers, exists, listdir, walk, stat, remove, rmtree) and path utilities (basename, dirname, join) that work uniformly across all three backends. It handles authentication through environment variables or application default credentials, and offers configuration options for connection pooling, timeouts, chunk sizes, and caching behavior.
Use it for
- Process large datasets stored in GCS or Azure without downloading them entirely to local disk first
- Write data processing pipelines that work with both local development files and cloud-hosted production data
- Migrate file operations between cloud providers by changing only the path prefix, not the code
- Implement parallel blob processing with built-in support for concurrent operations across cloud storage
- Cache remote files locally for repeated reads while maintaining a unified file interface
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with cloud blob storage and want a simpler, provider-agnostic file interface.
The low install friction, active maintenance, public domain license, and lack of known vulnerabilities make it a safe choice. Install only if you actually need multi-cloud or local-plus-cloud file abstraction; if you use only one provider, that provider's native SDK may be more direct.
Install
blobfile on PyPI
Before you install
Low friction: pure Python wheel with four straightforward runtime dependencies (pycryptodomex, urllib3, lxml, filelock). Repository is active with recent commits and no known vulnerabilities.
Requires Python 3.10 or later. Authentication to GCS or Azure requires appropriate credentials (environment variables or default application credentials).
License in practice
Public Domain license means no restrictions on use, modification, or distribution—you can use this freely in any project without license compatibility concerns.
Quickstart
pip install blobfile
import blobfile as bf
with bf.BlobFile("gs://my-bucket-name/cats", "wb") as f:
f.write(b"meow!")
with bf.BlobFile("gs://my-bucket-name/cats", "rb") as f:
print(f.read())
Verify before relying
- Performance characteristics and latency overhead compared to cloud provider SDKs
- Concurrent access limits or connection pooling behavior under high load
- Compatibility with specific GCS/Azure API versions or deprecated endpoints
Package facts
| License | Public Domain permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagespycryptodomexurllib3lxmlfilelock |
| Maintenance | Actively maintained 188 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 9,649,170 / month, #1,514 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: blobfile-3.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cloud storage file interface”
- blobfileProvides a unified Python file interface for reading and writing to…
- boostedblobboostedblob is a command-line tool and async library for performing…
- pathyPathy provides a pathlib-compatible interface for working with cloud…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also azure-storage-blob · boostedblob · pathy · smart-open · multi-storage-client · vercel_blob · gcsfs · cloudpathlib · azure-storage-file-share · python-dxf