Azure Storage Blob

The official Python client library for Azure Blob Storage, with sync and async APIs for containers, blobs, and access tiers.

SDK
PyPI
v12.31.0
5,621 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
98 /100 Excellent
Development Activity 100
Maintenance 96
Community 96
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
76 /100 Good
Architecture 82
Code Quality 84
Innovation 74
Learning Curve 65

Azure Storage Blob is Microsoft’s official Python SDK for Azure Blob Storage, the object-storage service behind everything from image/document serving to backup archiving and video streaming. It’s one member of the sprawling azure-sdk-for-python monorepo, but by download volume it’s the single most-used Azure Python package — the default way Python services read and write blob data on Azure.

The library exposes BlobServiceClient, ContainerClient, and BlobClient classes (each with a matching .aio async twin) for account-, container-, and blob-level operations: uploads, downloads, leases, snapshots, access tiers, and SAS-based access control. It shares Azure’s common azure-core pipeline for retries, logging, and credential handling, so authentication (connection string, SAS token, or Azure AD via azure-identity) works the same way across every other Azure SDK package.

What You Get

  • Account-, container-, and blob-level clients (BlobServiceClient, ContainerClient, BlobClient) with a full async twin under azure.storage.blob.aio
  • Chunked/parallel upload and download helpers for large blobs, including resumable transfers
  • Support for blob snapshots, versioning, soft delete, leases, and access tier management (Hot/Cool/Archive)
  • SAS token generation and Azure AD credential support via the shared azure-core/azure-identity pipeline
  • Consistent retry, logging, and tracing behavior shared with every other Azure SDK for Python package

Common Use Cases

  • Storing and serving user-uploaded files (images, documents, video) from a Python web backend
  • Backing up or archiving application data to Cool/Archive storage tiers for cost efficiency
  • Streaming large file uploads/downloads in data pipelines or ETL jobs
  • Generating time-limited SAS URLs so clients can access blobs directly without proxying through the app

Under The Hood

Architecture — The package is organized under azure/storage/blob/, split into a public API surface (BlobServiceClient, ContainerClient, BlobClient, BlobLeaseClient), a mirrored aio/ package providing async equivalents built on the same request models, a _shared/ module for utilities common across Azure Storage packages (auth, base client, response parsing), and _generated/ containing Autorest-generated low-level REST operation code that the public classes wrap in a hand-written, ergonomic layer.

Tech Stack — Pure Python, built on azure-core for the shared HTTP pipeline (retries, logging, tracing) and cryptography/isodate for supporting concerns; the async variant depends on aiohttp. Part of the broader azure-sdk-for-python monorepo, which uses Autorest to generate REST bindings from Azure’s swagger/TypeSpec definitions, then layers convenience methods on top by hand.

Code Quality — 64+ test modules cover container/blob CRUD, leases, access tiers, SAS generation, and both sync/async code paths, run against Azure’s shared test-proxy recording infrastructure (assets.json). Type hints and docstrings are consistently present across the public API, and mypy.ini enforces static typing in CI, reflecting Microsoft’s SDK-wide engineering standards.

API Design — The client hierarchy (service → container → blob) maps directly onto Azure Storage’s own resource model, so the API is predictable once you know the underlying service; every sync method has a same-named async counterpart, minimizing surprises when switching between the two. The trade-off is verbosity — parity with Azure’s full storage feature set (leases, tiers, versioning, immutability policies) means a wide surface area, and getting started requires learning the shared azure-core credential/pipeline conventions in addition to the blob-specific API.

Used by 16 apps in this directory

Python
58%
Apache 2.0

MLflow

AI Development · Monitoring

28,512

The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.

View details
96
Repo Health
86
Technical
67
Dependency
Built with
Python 58%
TypeScript 35%
Updated 5 days ago
Python
38%
Other

Open WebUI

AI Agents · AI Assistants

156,607

The extensible, privacy-first AI platform that runs Ollama, OpenAI, and any LLM backend behind a polished, feature-packed web interface.

View details
92
Repo Health
75
Technical
66
Dependency
Built with
Python 38%
Svelte 35%
JavaScript 19%
Updated 5 days ago
TypeScript
54%
Other

OpenReplay

Analytics

13,042

Self-hosted session replay and product analytics suite that lets you see exactly what users do on your web app — without sending data to third parties.

View details
91
Repo Health
77
Technical
66
Dependency
Built with
TypeScript 54%
Go 13%
Updated 6 days ago
Python
55%
Other

PostHog

Ab Testing Experimentation · Analytics · Developer Tools

40,397

The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.

View details
92
Repo Health
80
Technical
65
Dependency
Built with
Python 55%
TypeScript 36%
Updated 5 days ago
Python
99%
Apache 2.0

Rasa Open Source

AI Assistants · AI Development · Voice AI

21,353

Rasa Open Source is a Python machine learning framework for building contextual, multi-turn chatbots and voice assistants that understand natural language and maintain conversation state.

View details
62
Repo Health
78
Technical
63
Dependency
Built with
Python 99%
Updated 3 months ago
Python
79%
AGPL 3.0

Skyvern

AI Agents · Automation

23,257

Skyvern (YC S2023) automates browser-based workflows by pairing LLMs with computer vision, letting agents click, fill, and extract data on sites they've never seen, without brittle XPath selectors that break on every layout change.

View details
89
Repo Health
82
Technical
70
Dependency
Built with
Python 79%
TypeScript 19%
Updated 5 days ago
Python
71%
Apache 2.0

SurfSense

AI Assistants · Search

16,586

The open-source, unlimited NotebookLM alternative with real-time collaboration, a desktop app, and no vendor lock-in.

View details
88
Repo Health
71
Technical
66
Dependency
Built with
Python 71%
TypeScript 27%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers