obspec
Object storage interface definitions for Python.
What it is and what it does
obspec is a Python protocol library that defines a standard interface for object storage operations. Rather than treating object storage like a filesystem, it acknowledges that cloud storage has fundamentally different semantics—more similar to HTTP requests than file objects. The package provides the protocol definitions that allow different object storage backends to implement a common API.
The library is designed to work with implementations that provide the actual storage operations. By defining a generic protocol, obspec enables utilities and tools built on top of it to work with any conforming backend without needing provider-specific code. The project is in active development with planned utilities for globbing and caching built on the protocol primitives.
Use it for:
- Building storage-agnostic applications that work with multiple providers without vendor lock-in
- Creating tools and utilities that operate on object storage without reimplementing provider-specific logic
- Standardizing object storage interfaces within organizations using multiple cloud platforms
- Developing libraries that need to abstract over different object storage backends
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Defines a Python protocol for abstracting object storage operations across different providers, treating object storage as a distinct interface rather than a filesystem.
Yes, if you are building or using tools that need to work with object storage across multiple providers. The protocol is actively maintained, has no security vulnerabilities, and installs with minimal friction. However, verify that an implementation is available for your use case, as obspec alone defines the interface rather than providing storage operations.
Install
obspec on PyPI
pip
pip install obspecuv
uv add obspecpoetry
poetry add obspecInstalling obspec
Before you install
Low friction to install. The package is actively maintained with recent commits and depends only on typing-extensions, distributed as a pure Python wheel.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
Quickstart
pip install obspec
from typing import Protocol
import obspec
Requires Python 3.9 or later; obspec defines protocols but requires a backend implementation to perform actual storage operations.
Verify before relying
- Whether obspec alone provides usable storage operations or requires a separate backend implementation to be functional
- What specific object storage providers are currently supported through available implementations
- Timeline and scope of planned utilities like globbing and caching mentioned in the description
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — typing-extensions |
| Maintenance | actively maintained — 415 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 138,725/month — #11,320 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: obspec-0.1.0-py3-none-any.whl
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
obstoreobstore provides a unified Python interface to…
permissive · top 5,000 on PyPI
iopathiopath provides a unified interface for reading…
permissive · top 5,000 on PyPI
multi-storage-clientUnified Python client providing a generic…
permissive · top 15,000 on PyPI
castellanCastellan provides a unified interface for…
permissive · top 15,000 on PyPI
omnibase_spiDefines runtime-checkable Protocol contracts…
permissive · top 15,000 on PyPI
cloudbridgeCloudBridge provides a unified Python API that…
permissive · top 15,000 on PyPI
oslo.messagingOslo Messaging provides a unified API for RPC…
permissive · top 15,000 on PyPI
fsProvides a unified filesystem abstraction layer…
permissive · top 5,000 on PyPI
tensorstoreTensorStore reads and writes large…
permissive · top 5,000 on PyPI
asyauthProvides unified authentication handling across…
unclear · top 15,000 on PyPI