skillfed

storage3

Supabase Storage client for Python.

storage3 Permissive license MIT Active 2,557 v2.31.0 released

Install

storage3 on PyPI

pip

pip install storage3

uv

uv add storage3

poetry

poetry add storage3

Package 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

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

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.

Read as markdown · JSON record · Source repository · Docs

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.
supabase storage python clientasync file upload supabasepython cloud storage sdksupabase bucket managementasync file operations pythonsupabase python library

Similar packages