Microsoft Azure Storage namespace package enabling unified namespace organization for Azure Storage services
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Microsoft Azure Storage namespace package that provides the infrastructure to extend the azure.storage namespace, enabling other Azure Storage packages (blob, file, queue, common) to coexist under a unified namespace hierarchy.
Important: This package is not intended for direct installation by end users. It serves as internal infrastructure automatically installed as a dependency by other Azure Storage packages.
azure-nspkg>=2.0.0This package provides no direct imports for end users. It works automatically as namespace infrastructure when other Azure Storage packages are installed.
No direct imports from this package:
# This package provides no importable functionality
# It only contains namespace extension infrastructureThis package has no direct usage - it works automatically as infrastructure. When you install any Azure Storage service package, this namespace package is automatically installed and configured.
# Install any Azure Storage service package
# pip install azure-storage-blob
# The azure-storage-nspkg is automatically installed as a dependency
# and enables the namespace imports to work:
from azure.storage.blob import BlobServiceClient
# No direct interaction with azure-storage-nspkg is needed or recommendedUser workflow:
The package uses pkgutil-style namespace extension for Python 2/3 compatibility:
azure module: Extends the base azure namespace using pkgutil.extend_pathazure.storage module: Extends the azure.storage namespace for storage-related packagesThis design follows PEP 420-based namespace packages and ensures proper integration with the broader Azure SDK ecosystem.
Other Azure Storage packages depend on this package to contribute to the same namespace:
# After installing azure-storage-blob (which automatically installs azure-storage-nspkg)
from azure.storage.blob import BlobServiceClient # Works due to namespace extension
# After installing azure-storage-file (which automatically installs azure-storage-nspkg)
from azure.storage.file import FileService # Coexists in same namespace
# After installing azure-storage-queue (which automatically installs azure-storage-nspkg)
from azure.storage.queue import QueueService # All share azure.storage namespaceNote: The imports above work because each Azure Storage service package automatically installs this namespace package as a dependency. Users never directly import from azure-storage-nspkg itself.
Provides the technical infrastructure that allows multiple Azure Storage packages to extend the azure.storage namespace without conflicts.
Key Features:
Legacy Compatibility:
Runtime Dependencies:
azure-nspkg>=2.0.0 - Provides base azure namespace infrastructureInstallation Context:
This package becomes relevant when:
This package is not relevant for:
The package includes built-in validation that prevents installation conflicts:
# Built-in compatibility check
try:
import azure
try:
ver = azure.__version__ # Only exists in legacy v0.x
raise Exception(
'This package is incompatible with azure=={}. '.format(ver) +
'Uninstall it with "pip uninstall azure".'
)
except AttributeError:
pass # Expected for modern azure packages
except ImportError:
pass # No azure package installed yet# azure module at azure/__init__.py
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
# azure.storage module at azure/storage/__init__.py
__path__ = __import__('pkgutil').extend_path(__path__, __name__)These are the only code components in the package - pure namespace extension infrastructure with no classes, functions, or constants for end-user consumption.
Install with Tessl CLI
npx tessl i tessl/pypi-azure-storage-nspkg