--- title: Azure SDK for Python (November 2019) layout: post date: 2019-11-11 tags: python sidebar: releases_sidebar repository: azure/azure-sdk-for-python permalink: /releases/2019-11/python.html --- The Azure SDK team is pleased to announce our November 2019 client library releases. This represents the first GA release of a ground-up rewrite of our client libraries to ensure consistency, idiomatic design, productivity, and an excellent developer experience. This release includes the following: #### GA - Storage (Blobs, Queues) - Key Vault (Secrets, Keys) - Identity #### Preview - Storage (Files) - Event Hubs - Cosmos - App Configuration ## Installation Instructions To install the latest preview version of the packages, copy and paste the following commands into a terminal: ```bash pip install --pre azure-cosmos pip install --pre azure-eventhub pip install --pre azure-eventhub-checkpointstoreblob-aio pip install --pre azure-keyvault-certificates pip install azure-keyvault-keys pip install azure-keyvault-secrets pip install azure-storage-blob pip install --pre azure-storage-file-datalake pip install --pre azure-storage-file-share pip install azure-storage-queue pip install --pre azure-appconfiguration pip install azure-identity ``` ## Feedback If you have a bug or feature request for one of the libraries, please post an issue to [GitHub](https://github.com/azure/azure-sdk-for-python/issues). ## Changelog Detailed change logs are linked to in the Quick Links below. Here are some critical call outs. ### Cosmos - azure.cosmos.errors module deprecated and replaced by azure.cosmos.exceptions - The access condition parameters (`access_condition`, `if_match`, `if_none_match`) have been deprecated in favor of separate `match_condition` and `etag` parameters. - Added query Distinct, Offset and Limit support. ### Event Hubs - Added support for tracing ([issue #7153](https://github.com/Azure/azure-sdk-for-python/issues/7153)). - Added new boolean type parameter `track_last_enqueued_event_properties` in method `EventHubClient.create_consumer()`. - Added new property `last_enqueued_event_properties` of EventHubConsumer which contains `sequence_number`, `offset`, `enqueued_time` and `retrieval_time information`. - Removed support for IoT Hub direct connection. EventHubs compatible connection string of an IoT Hub can be used to create EventHubClient and read properties or events from an IoT Hub. - Removed support for sending EventData to IoT Hub. - Removed parameter exception in method `close()` of EventHubConsumer and EventHubProcuer. ### Key Vault - Restructured the `Certificate`, `Key`, and `Secret` models and renamed them to `KeyVaultCertificate`, `KeyVaultKey`, and `KeyVaultSecret`. - Renamed methods to more clearly reflect their intended uses. - Both async and sync versions of deleting and recovering keys and secrets now return pollers that can be awaited if necessary - For more specific details about these changes, see the respective [certificate](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-certificates/CHANGELOG.md), [key](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-keys/CHANGELOG.md), and [secret](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/keyvault/azure-keyvault-secrets/CHANGELOG.md) changelogs. ### Storage - The first preview for azure-storage-file-datalake has been released to allow accessing Azure Storage data with DataLake semantics when hierarchical namespace is enabled - `azure.storage.file` is now `azure.storage.fileshare`. - The package is renamed from `azure-storage-file` to `azure-storage-file-share` along with renamed client modules. - New API for stream download responses for blobs and files. This object is no longer iterable. - Client and model modules are now internal. - Changed optional params to keyword only in queues and files. - `enqueue_message` is now called `send_message` in queues. - Other breaking changes like renaming `LeaseClient` in blobs to `BlobLeaseClient`. ### App Configuration - Etag and match_condition of delete_configuration_setting are now keyword argument only ### Identity - `DefaultAzureCredential` accepts an `authority` keyword argument, enabling its use in national clouds - All credentials with `tenant_id` and `client_id` positional parameters now accept them in that order - Optional parameters for several credentials are now keyword arguments - Authenticating with a single sign-on shared with other Microsoft applications only requires a username when multiple users have signed in - Async credentials default to [aiohttp](https://pypi.org/project/aiohttp/) for transport - Known issue ([#8292](https://github.com/Azure/azure-sdk-for-python/issues/8292)): `DefaultAzureCredential` and `SharedTokenCredential` raise exceptions on Python 3.8 on Windows ## Quick Links {% include_relative python-quicklinks.md %} {% include refs.md %}