Skip to content

[Storage] Refactor extensions packaging + other misc changes#47092

Open
jalauzon-msft wants to merge 3 commits into
Azure:mainfrom
jalauzon-msft:extensions-refactor
Open

[Storage] Refactor extensions packaging + other misc changes#47092
jalauzon-msft wants to merge 3 commits into
Azure:mainfrom
jalauzon-msft:extensions-refactor

Conversation

@jalauzon-msft
Copy link
Copy Markdown
Member

This change applies a few changes to azure-storage-extensions ahead of release:

  • Adds the checksums module and convert azure.storage.extensions to purely namespace packages for future expansion.
  • Remove Python 3.9 support
  • Add typing information to extensions

Copilot AI review requested due to automatic review settings May 22, 2026 22:41
@github-actions github-actions Bot added the Storage Storage Service (Queues, Blobs, Files) label May 22, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the azure-storage-extensions package layout to introduce a checksums subpackage and updates Azure Storage clients to use the new import path and an ext-checksums extra for installing the native extensions ahead of release.

Changes:

  • Add a new azure.storage.extensions.checksums package (including crc64 extension wiring) and update azure-storage-extensions packaging/build config (including dropping Python 3.9).
  • Add ext-checksums extras to azure-storage-blob, azure-storage-file-share, and azure-storage-file-datalake to pull in azure-storage-extensions.
  • Update shared validation helpers in storage libraries to import azure.storage.extensions.checksums and call checksums.crc64.compute.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
sdk/storage/azure-storage-queue/azure/storage/queue/_shared/validation.py Switch extension presence check and CRC64 calls to azure.storage.extensions.checksums.
sdk/storage/azure-storage-file-share/setup.py Add ext-checksums extra to install azure-storage-extensions.
sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/validation.py Update extension import/check and CRC64 usage to checksums subpackage.
sdk/storage/azure-storage-file-datalake/setup.py Add ext-checksums extra to install azure-storage-extensions.
sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/validation.py Update extension import/check and CRC64 usage to checksums subpackage.
sdk/storage/azure-storage-extensions/tests/test_crc64.py Update tests to import CRC64 via azure.storage.extensions.checksums.
sdk/storage/azure-storage-extensions/setup.py Adjust packaging to ship checksums package and build the crc64 extension under it; raise minimum Python to 3.10.
sdk/storage/azure-storage-extensions/README.md Update installation guidance to recommend installing via storage SDK extras and reflect Python 3.10+ support.
sdk/storage/azure-storage-extensions/pyproject.toml Update cibuildwheel build targets to drop CPython 3.9.
sdk/storage/azure-storage-extensions/MANIFEST.in Include native sources/headers and typing artifacts in source distributions.
sdk/storage/azure-storage-extensions/azure/storage/extensions/checksums/py.typed Mark checksums as a typed package.
sdk/storage/azure-storage-extensions/azure/storage/extensions/checksums/crc64/helpers.h Make constants/functions static in header to avoid multiple-definition/linkage issues.
sdk/storage/azure-storage-extensions/azure/storage/extensions/checksums/crc64/crc64module.c Add the C extension module implementation under the new checksums/crc64 path.
sdk/storage/azure-storage-extensions/azure/storage/extensions/checksums/crc64.pyi Provide typing stubs for the crc64 extension module.
sdk/storage/azure-storage-extensions/azure/storage/extensions/checksums/init.py Expose crc64 from the checksums package.
sdk/storage/azure-storage-blob/setup.py Add ext-checksums extra to install azure-storage-extensions.
sdk/storage/azure-storage-blob/azure/storage/blob/_shared/validation.py Update extension import/check and CRC64 usage to checksums subpackage.

Comment thread sdk/storage/azure-storage-extensions/setup.py Outdated
Comment thread sdk/storage/azure-storage-extensions/tests/test_crc64.py Outdated
Comment thread sdk/storage/azure-storage-extensions/tests/test_crc64.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Storage Storage Service (Queues, Blobs, Files)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants