storage3
Supabase Storage client for Python.
Install
storage3 on PyPI
pip
pip install storage3uv
uv add storage3poetry
poetry add storage3Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — httpx, deprecation, pydantic, yarl |
| Maintenance | actively maintained — 70 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: storage3-2.31.0-py3-none-any.whl
About storage3
from the package's own PyPI description — quoted content, verbatim
Storage-py
Python Client library to interact with Supabase Storage.
How to use
As it takes some effort to get the headers. We suggest that you use the storage functionality through the main Supabase Python Client
from storage3 import AsyncStorageClient
url = "https://<your_supabase_id>.supabase.co/storage/v1"
key = "<your api key>"
headers = {"apiKey": key, "Authorization": f"Bearer {key}"}
storage_client = AsyncStorageClient(url, headers)
async def get_buckets():
await storage_client.list_buckets()
Uploading files
When uploading files, make sure to set the correct mimetype by using the file_options argument:
async def file_upload():
await storage_client.from_("bucket").upload("/folder/file.png", file_object, {"content-type": "image/png"})
If no mime type is given, the default text/plain will be used.
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
storage3 is an async Python client library for interacting with Supabase Storage, enabling you to upload, download, and manage files in Supabase buckets through a simple API.
Low install friction with a pure-Python wheel and four lightweight runtime dependencies (httpx, deprecation, pydantic, yarl). The package is actively maintained with a recent release (70 days old) and steady repository activity.
MIT license (permissive) allows commercial and private use with minimal restrictions, making it safe for most projects.
Usage
pip install storage3
from storage3 import AsyncStorageClient
url = "https://<your_supabase_id>.supabase.co/storage/v1"
key = "<your api key>"
headers = {"apiKey": key, "Authorization": f"Bearer {key}"}
storage_client = AsyncStorageClient(url, headers)
await storage_client.list_buckets()
Requires Python 3.9+; AsyncStorageClient methods must be called within an async context (e.g., inside an async function or event loop).
Verdict: storage3 is a well-maintained, actively developed async client for Supabase Storage with no known vulnerabilities, permissive licensing, and low installation friction. It is suitable for production use if you are already using Supabase and need programmatic file management from Python.
Needs verification
- Whether the package is recommended for direct use or primarily intended as a dependency of the main supabase-py client (the description suggests the latter).
- Performance characteristics and rate-limiting behavior when handling large files or high-volume uploads.
Similar packages
permissive · top 1,000 on PyPI
supabasepermissive · top 1,000 on PyPI
supabase-functionspermissive · top 1,000 on PyPI
realtimepermissive · top 1,000 on PyPI
gcsfspermissive · top 1,000 on PyPI
smart-openpermissive · top 1,000 on PyPI
postgrestpermissive · top 1,000 on PyPI
rsapermissive · top 1,000 on PyPI
google-cloud-storagepermissive · top 1,000 on PyPI
aiobotocorepermissive · top 100 on PyPI