Skip to content

Commit fd9e90f

Browse files
committed
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python into HEAD
2 parents 91ab6cc + 10f65bd commit fd9e90f

File tree

5,567 files changed

+374045
-808909
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,567 files changed

+374045
-808909
lines changed

.coveragerc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ exclude_lines =
2121
if headers:
2222
if response.status_code not in
2323
if TYPE_CHECKING:
24+
@overload
2425
omit =
2526
*/test*
2627
env*

.github/CODEOWNERS

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
###########
2020

2121
# Catch all
22-
/sdk/ @lmazuel
22+
/sdk/ @lmazuel @lirenhe
2323

2424
# Core
2525
# PRLabel: %Core.Http
@@ -76,12 +76,12 @@
7676
# PRLabel: %Storage
7777
/sdk/storage/ @annatisch @jalauzon-msft @vincenttran-msft @weirongw23-msft
7878

79-
# AzureSdkOwners: @YalinLi0312
79+
# AzureSdkOwners: @xiangyan99
8080
# ServiceLabel: %App Configuration
8181
# ServiceOwners: @albertofori @avanigupta @mrm9084
8282

8383
# PRLabel: %App Configuration
84-
/sdk/appconfiguration/ @YalinLi0312
84+
/sdk/appconfiguration/ @xiangyan99
8585

8686
# ServiceOwners: @mrm9084
8787
# ServiceLabel: %App Configuration Provider
@@ -162,8 +162,8 @@
162162
# PRLabel: %Defender EASM
163163
/sdk/easm/ @nathanfalke
164164

165-
# ServiceLabel: %Face
166-
# PRLabel: %Face
165+
# ServiceLabel: %FaceAPI
166+
# PRLabel: %FaceAPI
167167
/sdk/face/ @zihyunting
168168

169169
# ServiceLabel: %Cognitive - Health Insights
@@ -202,11 +202,11 @@
202202

203203
# ServiceLabel: %Monitor - Distro
204204
# PRLabel: %Monitor - Distro
205-
/sdk/monitor/azure-monitor-opentelemetry/ @lzchen @jeremydvoss
205+
/sdk/monitor/azure-monitor-opentelemetry/ @lzchen @jeremydvoss @hectorhdzg @rads-1996 @Karlie-777 @MSNev @JacksonWeber
206206

207207
# ServiceLabel: %Monitor - Exporter
208208
# PRLabel: %Monitor - Exporter
209-
/sdk/monitor/azure-monitor-opentelemetry-exporter/ @lzchen @hectorhdzg @jeremydvoss
209+
/sdk/monitor/azure-monitor-opentelemetry-exporter/ @lzchen @jeremydvoss @hectorhdzg @rads-1996 @Karlie-777 @MSNev @JacksonWeber
210210

211211
# ServiceLabel: %Consumption
212212
# PRLabel: %Consumption
@@ -216,10 +216,10 @@
216216
# PRLabel: %Container Instances
217217
/sdk/containerinstance/ @samkreter @xizhamsft
218218

219-
# AzureSdkOwners: @YalinLi0312
219+
# AzureSdkOwners: @lmazuel
220220
# ServiceLabel: %Container Registry
221221
# PRLabel: %Container Registry
222-
/sdk/containerregistry/ @YalinLi0312
222+
/sdk/containerregistry/ @lmazuel
223223

224224
# ServiceLabel: %Container Service
225225
# PRLabel: %Container Service
@@ -245,6 +245,10 @@
245245
# PRLabel: %Device Update
246246
/sdk/deviceupdate/ @dpokluda @sedols
247247

248+
# PRLabel: %Durable Task Scheduler
249+
# ServiceLabel: %Durable Task Scheduler %Service Attention
250+
/sdk/durabletask/ @berndverst @kaibocai @torosent @RyanLettieri @philliphoff @cgillum
251+
248252
# AzureSdkOwners: @kashifkhan
249253
# ServiceLabel: %Event Grid
250254
# PRLabel: %Event Grid
@@ -258,6 +262,15 @@
258262
# ServiceLabel: %AI Model Inference %Service Attention
259263
/sdk/ai/azure-ai-inference/ @dargilco @trangevi @jhakulin
260264

265+
# PRLabel: %AI Agents
266+
# ServiceLabel: %AI Agents %Service Attention
267+
/sdk/ai/azure-ai-agents/ @dargilco @jhakulin
268+
269+
# PRLabel: %AI Projects
270+
# ServiceLabel: %AI Projects %Service Attention
271+
/sdk/ai/azure-ai-projects/ @dargilco @jhakulin
272+
273+
261274
# PRLabel: %HDInsight
262275
/sdk/hdinsight/ @idear1203
263276

@@ -316,9 +329,16 @@
316329
# PRLabel: %Operator Nexus - Network Cloud
317330
/sdk/networkcloud/ @Azure/azure-sdk-write-networkcloud
318331

332+
# AzureSdkOwners: @annatisch
333+
# ServiceLabel: %Azure Projects
334+
# ServiceOwners: @annatisch
335+
336+
# PRLabel: %Azure Projects
337+
/sdk/projects/ @annatisch
338+
319339
# ServiceLabel: %Purview
320340
# PRLabel: %Purview
321-
/sdk/purview/ @saxenarahulMs @adyabansal-ms
341+
/sdk/purview/ @adyabansal-ms
322342

323343
# ServiceLabel: %Recovery Services
324344
# ServiceOwners: @Daya-Patil @Sharmistha-Rai
@@ -370,12 +390,12 @@
370390
# PRLabel: %Health Deidentification
371391
/sdk/healthdataaiservices/ @alexathomases @Azure/healthdatadeidentification
372392

373-
# AzureSdkOwners: @YalinLi0312
393+
# AzureSdkOwners: @catalinaperalta
374394
# ServiceLabel: %Cognitive - Form Recognizer
375395
# ServiceOwners: @bojunehsu @vkurpad
376396

377397
# PRLabel: %Cognitive - Form Recognizer
378-
/sdk/formrecognizer/ @YalinLi0312
398+
/sdk/formrecognizer/ @catalinaperalta
379399

380400
# AzureSdkOwners: @YalinLi0312
381401
# ServiceLabel: %Document Intelligence
@@ -840,4 +860,5 @@
840860
/eng/emitter-package.json @mccoyp @catalinaperalta @kristapratico @iscai-msft
841861
/eng/emitter-package-lock.json @mccoyp @catalinaperalta @kristapratico @iscai-msft
842862

843-
/pylintrc @l0lawrence
863+
/pylintrc @l0lawrence @scbedd @mccoyp
864+
/sdk/**/ci.yml @msyyc @lmazuel

.github/workflows/scheduled-event-processor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
run: >
4040
dotnet tool install
4141
Azure.Sdk.Tools.GitHubEventProcessor
42-
--version 1.0.0-dev.20250314.4
42+
--version 1.0.0-dev.20250425.1
4343
--add-source https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json
4444
--global
4545
shell: bash

.vscode/cspell.json

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@
105105
"sdk/eventhub/azure-eventhub-checkpointstoreblob/azure/eventhub/extensions/checkpointstoreblob/_vendor/**",
106106
"sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/azure/eventhub/extensions/checkpointstoreblobaio/_vendor/**",
107107
"sdk/storage/azure-storage-extensions/**",
108+
"sdk/projects/azure-projects/tests/test_infra/**",
109+
"sdk/projects/azure-projects/samples/**/*.html",
110+
"sdk/projects/azure-projects/azure/projects/resources/**/types.py",
108111
"sdk/ml/azure-ai-ml/azure/ai/ml/_restclient/**",
109112
"sdk/ml/azure-ai-ml/azure/ai/ml/_utils/_virtual_cluster_utils/_restclient/**",
110113
"sdk/ml/azure-ai-ml/azure/ai/ml/entities/_job/job_name_generator.py",
@@ -340,6 +343,7 @@
340343
"mynewpackage",
341344
"mypackage",
342345
"myvault",
346+
"myservice",
343347
"mytable",
344348
"nazsdk",
345349
"nbytes",
@@ -388,6 +392,8 @@
388392
"pyright",
389393
"pyrightconfig",
390394
"parameterizing",
395+
"pypirc",
396+
"pyrit",
391397
"pytyped",
392398
"pytz",
393399
"pywin",
@@ -639,6 +645,46 @@
639645
"signin"
640646
]
641647
},
648+
{
649+
"filename": "sdk/projects/azure-projects/tests/**/*.py",
650+
"words": [
651+
"tofile",
652+
"rgtest",
653+
"rgexists",
654+
"rgtag",
655+
"kvtest",
656+
"testb",
657+
"sclient",
658+
"aclient"
659+
]
660+
},
661+
{
662+
"filename": "sdk/projects/azure-projects/**",
663+
"words": [
664+
"azproj",
665+
"azproject",
666+
"azprojects",
667+
"aiservices",
668+
"aifoundry",
669+
"mcpcommand",
670+
"fastmcp",
671+
"GUNICORN",
672+
"GZRS",
673+
"RAGZRS",
674+
"nfsv",
675+
"Eloqua",
676+
"Hdfs",
677+
"Informix",
678+
"Magento",
679+
"Netezza",
680+
"Odbc",
681+
"Serp",
682+
"Sybase",
683+
"Vertica",
684+
"Xero",
685+
"redef"
686+
]
687+
},
642688
{
643689
"filename": "sdk/tables/azure-data-tables/tests/**/*.py",
644690
"words": [
@@ -1384,7 +1430,7 @@
13841430
"cómo",
13851431
"estás",
13861432
"logprobs",
1387-
"conver",
1433+
"conver"
13881434
]
13891435
},
13901436
{
@@ -1415,7 +1461,7 @@
14151461
"nbformat",
14161462
"nbconvert",
14171463
"onedp",
1418-
"azureai",
1464+
"azureai"
14191465
]
14201466
},
14211467
{

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,41 @@ Management libraries can be identified by namespaces that start with `azure-mgmt
5252
* File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-python/issues)
5353
* Check [previous questions](https://stackoverflow.com/questions/tagged/azure+python) or ask new ones on StackOverflow using `azure` and `python` tags.
5454

55+
56+
## Data Collection
57+
The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described below. You can learn more about data collection and use in the help documentation and Microsoft’s [privacy statement](https://go.microsoft.com/fwlink/?LinkID=824704). For more information on the data collected by the Azure SDK, please visit the [Telemetry Guidelines](https://azure.github.io/azure-sdk/general_azurecore.html#telemetry-policy) page.
58+
59+
### Telemetry Configuration
60+
Telemetry collection is on by default.
61+
62+
To opt out, you can disable telemetry at client construction. Define a `NoUserAgentPolicy` class that is a subclass of `UserAgentPolicy` with an `on_request` method that does nothing. Then pass instance of this class as kwargs `user_agent_policy=NoUserAgentPolicy()` during client creation. This will disable telemetry for all methods in the client. Do this for every new client.
63+
64+
The example below uses the `azure-storage-blob` package. In your code, you can replace `azure-storage-blob` with the package you are using.
65+
66+
```python
67+
import os
68+
from azure.identity import ManagedIdentityCredential
69+
from azure.storage.blob import BlobServiceClient
70+
from azure.core.pipeline.policies import UserAgentPolicy
71+
72+
73+
# Create your credential you want to use
74+
mi_credential = ManagedIdentityCredential()
75+
76+
account_url = "https://<storageaccountname>.blob.core.windows.net"
77+
78+
# Set up user-agent override
79+
class NoUserAgentPolicy(UserAgentPolicy):
80+
def on_request(self, request):
81+
pass
82+
83+
# Create the BlobServiceClient object
84+
blob_service_client = BlobServiceClient(account_url, credential=mi_credential, user_agent_policy=NoUserAgentPolicy())
85+
86+
container_client = blob_service_client.get_container_client(container=<container_name>)
87+
# TODO: do something with the container client like download blob to a file
88+
```
89+
5590
### Reporting security issues and security bugs
5691

5792
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) <[email protected]>. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the [Security TechCenter](https://www.microsoft.com/msrc/faqs-report-an-issue).

doc/deprecation_process.md

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,37 @@ Clone the `azure-sdk-for-python` repository and update the following files of yo
2929

3030
A disclaimer should be added indicating end-of-life date (EOLDate) of the package and directing to a replacement package and migration guide as necessary.
3131
- The EOLDate should be in the format `MM-DD-YYYY`.
32-
- If there is no replacement package, the package EOLDate should be the service retirement date. This does not necessarily need to be the same as the release date in the CHANGELOG.md, since the package may be deprecated before/after the service is retired.
32+
- If there is no replacement package, the package EOLDate should be the service retirement date.
3333
- If there is a replacement package (or repo), the EOLDate should be the same as the deprecation release date of the old package in the CHANGELOG.md.
3434
- Service retirement dates MAY be listed [here](https://aka.ms/servicesretirementworkbook), where retiring feature says 'Entire service'.
3535
- The link to the replacement package should be a PyPI link: `https://pypi.org/project/azure-mynewpackage/`.
3636
- The link to the migration guide should be a link in the format `https://aka.ms/azsdk/python/migrate/my-new-package`. To create this aka.ms link, follow the "How to create aka.ms links" section [here](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/233/Azure-SDK-AKA.ms-Links?anchor=how-to-create-aka.ms-links).
3737
- **NOTE**: You may decide to postpone or skip writing a migration guide based on downloads numbers (found on [pypistats](https://pypistats.org/), [pepy.tech](https://www.pepy.tech/), etc.) and internal knowledge of the usage of the package.
3838

39-
The disclaimer should be added at the very top of the README.md before any other text in the following format.
39+
Replace ALL existing text with a disclaimer in the following format.
4040

4141
- If a replacement package and migration guide exist:
4242

4343
```md
44-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/). Refer to the migration guide (https://aka.ms/azsdk/python/migrate/my-new-package) for guidance on upgrading.
44+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/). Refer to the migration guide (https://aka.ms/azsdk/python/migrate/my-new-package) for guidance on upgrading.
4545
```
4646

4747
- If a migration guide is not provided:
4848

4949
```md
50-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/).
50+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/).
5151
```
5252

5353
- If a replacement package does not exist:
5454

5555
```md
56-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>.
56+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>.
5757
```
5858

5959
- If a new service has replaced the service, and existing customers should be directed to the new service's Rest API docs/repo:
6060

6161
```md
62-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. Refer to the samples in the [My New Service repo](https://github.com/microsoft/my-new-service/tree/main) instead.
62+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. Refer to the samples in the [My New Service repo](https://github.com/microsoft/my-new-service/tree/main) instead.
6363

6464
For additional support, open a new issue in the [Issues](https://github.com/microsoft/my-new-service/issues) section of the My New Service repo.
6565
```
@@ -105,7 +105,6 @@ The disclaimer should be added at the very top of the README.md before any other
105105
safeName: azuremypackage
106106
```
107107
108-
109108
# Step 2: Resolve all open issues/PRs corresponding to the library.
110109
111110
If there is a replacement library, provide a link to the new library or an existing migration guide before closing.
@@ -167,11 +166,28 @@ You may see tests/mypy/pylint or other checks failing on other packages in the C
167166

168167
## Post-Release
169168

170-
Check to make sure that the new version of the package has been released on PyPI.
169+
Check to make sure that the new version of the package has been released on PyPI and that the release has been tagged in the `azure-sdk-for-python` repo with `azure-mypackage_<version>`.
170+
171+
**NOTE: If your package has been released, there should be a corresponding [GitHub release tag](https://github.com/Azure/azure-sdk-for-python/tags). If there is not, create a post in the [Engineering System channel](https://teams.microsoft.com/l/channel/19%3A59dbfadafb5e41c4890e2cd3d74cc7ba%40thread.skype/Engineering%20System%20%F0%9F%9B%A0%EF%B8%8F?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47) that the release tag cannot be found and add a link to the release build.**
172+
173+
Example release tag: [azure-cognitiveservices-language-spellcheck_2.0.1](https://github.com/Azure/azure-sdk-for-python/releases/tag/azure-cognitiveservices-language-spellcheck_2.0.1)
174+
175+
# Step 5: Create a new PR to remove the package from the main branch
176+
177+
Append a note to the README.md deprecation message stating the package has been removed from the main branch, a link to the latest GitHub release tag and package on PyPI, and contact info for questions. The full README text should now look like the following:
178+
179+
```md
180+
# Microsoft Azure SDK for Python
181+
182+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>.
171183
172-
# Step 5: Create a new PR to remove the package from CI
184+
Package source code and samples have been removed from the `main` branch and can be found under the release tag for the latest version. See [azure-mypackage_<version>](https://github.com/Azure/azure-sdk-for-python/tree/azure-mypackage_<version>/sdk/mypackage/azure-mypackage). The latest release can be found on [PyPI](https://pypi.org/project/azure-mypackage/).
173185

174-
- You will see an `Artifacts` parameter in the `mypackage/ci.yml`.
186+
If you have any questions, please open a [GitHub Issue](https://github.com/Azure/azure-sdk-for-python/issues) or email `[email protected]`.
187+
```
188+
189+
- Delete all files in the package directory `sdk/mypackage/azure-mypackage` EXCEPT for the README.md at the package directory root.
190+
- You will see an `Artifacts` parameter in `mypackage/ci.yml`.
175191
```yml
176192
extends:
177193
parameters:
@@ -180,29 +196,21 @@ Check to make sure that the new version of the package has been released on PyPI
180196
- name: azure-mypackage
181197
safeName: azuremypackage
182198
```
183-
- If the only package listed is `azure-mypackage`, remove the `Artifacts` section altogether.
184-
```yml
185-
extends:
186-
parameters:
187-
...
188-
```
189-
- If there are multiple packages listed, remove the `name` and corresponding `safeName` lines for only `azure-mypackage`.
199+
- If there are multiple packages listed, remove the `name` and corresponding `safeName` lines for only `azure-mypackage`.
190200
```yml
191201
extends:
192202
parameters:
193203
...
194204
Artifacts:
195205
...
196206
```
207+
- If the only package listed is `azure-mypackage`, delete `ci.yml` and all other files -- _not package subdirectories_-- in the `mypackage` service directory (i.e. `tests.yml`, `test-resources.bicep`, etc.).
197208

198-
- Add the line `ci_enabled = false` to `azure-mypackage/pyproject.toml`.
199209
- Create a new PR targeting the `main` branch of the repository.
200210
- Post the PR in the [review channel for Python](https://teams.microsoft.com/l/channel/19%3a4175567f1e154a80ab5b88cbd22ea92f%40thread.skype/Language%2520-%2520Python%2520-%2520Reviews?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47).
201211
- Once the PR has been approved by codeowner, merge.
202212
- You're responsible for fixing any CI issues related to this PR.
203213

204-
Example post-deprecation PR for azure-cognitiveservices-language-spellcheck [here](https://github.com/Azure/azure-sdk-for-python/pull/37459/files).
205-
206214
# Step 6: Update API Documentation
207215

208216
## Remove the entry in the github.io docs

0 commit comments

Comments
 (0)