Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Azure AI Projects Python SDK #38338

Open
wants to merge 146 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
e119c2d
First version of client with endpoint operations
dargilco Sep 25, 2024
5edce71
Make Endpoints sample work
dargilco Sep 25, 2024
7f17e49
Create EndpointProperties class. Implement client.endpoints.get_default
dargilco Sep 26, 2024
f41ae25
Support AzureAIClient.from_connection_string()
dargilco Sep 26, 2024
ee2aad6
Make default input argument for .endpoints.get
dargilco Sep 26, 2024
1619243
Re-emit from latest TypeSpec. First attempt to support 3 different en…
dargilco Oct 3, 2024
5b9ecad
Fix construction of the three endpoints
dargilco Oct 3, 2024
8d33253
Re-emit from TypeSpec. Rename host_name to endpoint
dargilco Oct 3, 2024
4640714
Bug fix
dargilco Oct 3, 2024
9fdbccb
Add methods ai_client.inference.get_chat_completions_client() and ai_…
dargilco Oct 4, 2024
a719078
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 4, 2024
b1a9215
Adding sample and changing client name (#37724)
singankit Oct 4, 2024
6b53fc6
Add .inference.get_embeddings_client() method
dargilco Oct 5, 2024
3043ab1
Jhakulin/azure ai client agents (#37748)
jhakulin Oct 7, 2024
dfbcb3c
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 7, 2024
f237671
Create seperate inference samples
dargilco Oct 8, 2024
367f88b
Move SASTokenCredential into .models
dargilco Oct 8, 2024
7bcf705
Add more agents samples (#37777)
jhakulin Oct 8, 2024
ae5a0af
Update _patch.py (#37760)
singankit Oct 8, 2024
b540375
Online Evaluation changes (#37794)
singankit Oct 8, 2024
72cadc3
Patch constructor for async AzureAIClient (#37804)
dargilco Oct 9, 2024
8805675
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 9, 2024
8935a4d
Users/singankit/evaluation add data mapping (#37824)
singankit Oct 9, 2024
c4d3540
Fix .inference.get_azure_openai_client() for the async AzureAIClient …
dargilco Oct 10, 2024
a0d1232
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 10, 2024
37405e0
migrate async, poll functions, and samples from assistant to agent (#…
howieleung Oct 10, 2024
b2fa08e
[AI Client] adapt Sophia's assistant tests to client repo (#37819)
glharper Oct 11, 2024
1eea304
Took out streaming from create_run, create_and_process_run, and submi…
howieleung Oct 11, 2024
e204002
Miscellaneous updates (#37852)
dargilco Oct 11, 2024
d9f5c3a
Jhakulin/azure ai client pylance (#37887)
jhakulin Oct 14, 2024
d8d3a16
Use List instead of Sequence and fixed samples (#37898)
howieleung Oct 15, 2024
3bf1321
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 15, 2024
e672df7
fixed warning for aio and get call function tools for stream within t…
howieleung Oct 16, 2024
e231bc5
Evaluation API Review Feedback (#37915)
singankit Oct 16, 2024
a0db3a8
Fixed poll while loop and sample (#37922)
howieleung Oct 16, 2024
5e48c75
Jhakulin/azure ai client agents updates2 (#37937)
jhakulin Oct 16, 2024
ea5cf16
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 17, 2024
4b38a6f
create_vector_store_file_batch_and_poll + samples and update aio usin…
howieleung Oct 17, 2024
0b2a410
Clean up on the Optional (#37971)
howieleung Oct 17, 2024
306cb0e
Switch from .endpoints to .connection (re-emit from latest TypeSpec)
dargilco Oct 18, 2024
879ffe8
updates and minor fixes (#37984)
jhakulin Oct 18, 2024
f3aa098
Clean up (#37985)
howieleung Oct 18, 2024
e69d662
Rename connection string environment variables
dargilco Oct 18, 2024
715c96e
updated codeinterpreter attachment sample (#37990)
jhakulin Oct 18, 2024
7fa5125
Filter parameters, returned by SSE event (#37991)
nick863 Oct 18, 2024
ecd9d80
Evaluation data set id change revert (#38007)
singankit Oct 21, 2024
7cc54a7
Updates to .connection operators (#38024)
dargilco Oct 22, 2024
065849b
Users/singankit/ai project utils (#38033)
singankit Oct 22, 2024
325b965
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 22, 2024
99e8ecd
First emit of azure-ai-project (_patch.py, samples and test not yet c…
dargilco Oct 22, 2024
6b38bd9
Copy _patch.py, samples, test, update names
dargilco Oct 22, 2024
a8fe986
Fix wrong import
dargilco Oct 22, 2024
78e6894
M hietala/agent tools updates (#38031)
M-Hietala Oct 22, 2024
5eae9e6
add changes to latest typespec and ai-project changes (#38051)
saikmicro Oct 23, 2024
1282a64
Move agents test to agents folder (#38055)
nick863 Oct 23, 2024
4e950c7
Prep for connection tests. (#38060)
dargilco Oct 23, 2024
6e50ef0
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 23, 2024
dfbaaf5
Create azure-ai-projects folder
dargilco Oct 23, 2024
0f9dc5c
Add Inference tests (#38069)
dargilco Oct 24, 2024
01eafd6
re-doing the agent toolu updates after package changes (#38078)
M-Hietala Oct 24, 2024
216258c
Add .diagnostics.enable() method to fetch App Insights connection str…
dargilco Oct 26, 2024
46e18c3
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Oct 28, 2024
557f406
Users/singankit/evaluation async samples (#38104)
singankit Oct 28, 2024
cdc3ffb
Fix sphinx docstring and cSpell (#38125)
nick863 Oct 28, 2024
f9967f6
Disable evaluation schedule and remove sampling rate (#38161)
saikmicro Oct 29, 2024
f780407
Add tests for Connection operations (#38156)
dargilco Oct 29, 2024
222a07d
update to get file content (#38165)
jhakulin Oct 29, 2024
83dbacf
Jhakulin/parse messages (#38167)
jhakulin Oct 29, 2024
b5744a7
Update README.md (#38173)
howieleung Oct 30, 2024
42a4c8e
update to get file content (#38192)
jhakulin Oct 30, 2024
147e7fa
Enable tracing (#38185)
dargilco Oct 30, 2024
3ed16a7
added validation to tools and tools_resources, added update agent (#3…
howieleung Oct 30, 2024
a395f29
Rename `.diagnostics` to `.telemetry` (#38209)
dargilco Oct 30, 2024
e659c51
Jhakulin/agents get file content async (#38201)
jhakulin Oct 30, 2024
5b4b1b9
Fixed test (#38222)
howieleung Oct 31, 2024
5445d74
Support the new unified models deployed to the AIServices connection
dargilco Oct 31, 2024
9f9b12f
Fixed validation to put AyncFunctionTool into ToolSet and FunctionToo…
howieleung Oct 31, 2024
595ec6d
adding ai agents instrumentor (#38200)
M-Hietala Oct 31, 2024
6c3da41
Jhakulin/user functions updates (#38248)
jhakulin Oct 31, 2024
40f27f1
Connections & Inference test updates to support new unified models
dargilco Nov 1, 2024
a73fd8b
Improve tracing samples and add docs on telemetry.enable (#38257)
lmolkova Nov 1, 2024
59a3228
Jhakulin/user functions optional (#38261)
jhakulin Nov 1, 2024
99b5b9f
adding content recording control to agents instrumentor api (#38268)
M-Hietala Nov 4, 2024
139ca5d
Howie/save file test (#38306)
howieleung Nov 4, 2024
904c9ef
Mypy fixes for instrumentor (#38302)
nick863 Nov 4, 2024
b8ba93e
Fix handling of SAS token and fix mypy (#38312)
nick863 Nov 4, 2024
a1b6f46
Glharper/ai client new tools (#38202)
glharper Nov 4, 2024
e3a2600
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Nov 5, 2024
9328ea6
Merge remote-tracking branch 'origin/main' into dargilco/azure-ai-client
dargilco Nov 5, 2024
4cc537c
Use 'Union' insted of '|' to make it run on Pyton 3.8 and up (#38344)
dargilco Nov 5, 2024
3085358
Fix mypy issues and re generate the code. (#38340)
nick863 Nov 6, 2024
8b6e88f
Use DefaultAzureCredential from azure.identity.aio for async samples …
dargilco Nov 6, 2024
eadeb59
Rename AAD to ENTRA_ID (#38363)
dargilco Nov 6, 2024
cab8379
added agents example section in readme and added tags to samples (#38…
howieleung Nov 7, 2024
a4f0b1d
Fix mypy and do not scan examples (#38375)
nick863 Nov 7, 2024
0fe5ad8
Connections APIs throw instead of returning None if a connection name…
dargilco Nov 7, 2024
2c28298
Add code interpreter file attachment sample and link to readme. Add…
howieleung Nov 7, 2024
b27a145
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Nov 7, 2024
f867954
Fix broken async .telemetry.enable() method, when you don't pass in "…
dargilco Nov 7, 2024
50f8aa1
Sample for thread with resource and document it in readme (#38393)
howieleung Nov 7, 2024
e8e8677
Users/singankit/evaluation test (#38402)
singankit Nov 7, 2024
4479f12
Update how the inference URL is constructed (#38409)
dargilco Nov 8, 2024
c88ab42
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Nov 8, 2024
60ada67
Fix some cspell errors, and link errors (#38420)
dargilco Nov 8, 2024
75a5354
cspell lint --config .vscode/cspell.json --no-summary "sdk/ai/azure-a…
dargilco Nov 8, 2024
267c0f7
Resolved comments from Krista (#38405)
howieleung Nov 8, 2024
db34c99
Add support of Azure asset IDs for the vector store. (#38066)
nick863 Nov 8, 2024
3e48384
Fix PR comment by Krista on async credential in ConnectionProperties …
dargilco Nov 8, 2024
ad6cddf
Black
dargilco Nov 8, 2024
1722934
User/singankit/evaluation spellcheck (#38427)
singankit Nov 8, 2024
f4eb82b
Fix doc string errors
dargilco Nov 8, 2024
c6edff5
Fix typing in samples (#38354)
nick863 Nov 8, 2024
131554f
Run "black" (again)
dargilco Nov 8, 2024
0008861
Fix a few pyright errors, and address a comment in the Python PR (#38…
dargilco Nov 9, 2024
5762680
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Nov 11, 2024
9369a5d
Address some of Krista's PR comments (#38444)
dargilco Nov 11, 2024
2a7d1eb
sdk changes for name change for provisioning state and isEnabled onli…
saikmicro Nov 11, 2024
b31889f
azure-ai-projects: configure otel logging in telemetry.enable() helpe…
lmolkova Nov 11, 2024
a204c17
[ai] fix(pylint): Resolve `W1309`, `W0107`, `W0707`, `R1705`, `W0401`…
kdestin Nov 11, 2024
4ae547e
Add readme for get_message, save_file, get_file_content, tracing, Bin…
howieleung Nov 11, 2024
7a1de64
More fixes to mypy (#38446)
nick863 Nov 11, 2024
d920d44
agents telemetry pyright fixes (#38457)
M-Hietala Nov 11, 2024
7a66f7e
Fix pyright for agents. (#38464)
nick863 Nov 12, 2024
a629bfa
fix pip install instruction (#38480)
glharper Nov 12, 2024
80f7311
[ai] fix(pylint): Resolve `C0301`, `C4739`, `C4740`, `C4741`, `C4742`…
kdestin Nov 12, 2024
78d345d
Enable test recordings for tests\inference, tests\telemetry and tests…
dargilco Nov 12, 2024
fc77caa
Update cspell.json
dargilco Nov 12, 2024
90e27d4
Removed enterprise and add installation for tracing (#38483)
howieleung Nov 12, 2024
a06c0cc
Fix mypy errors (#38487)
dargilco Nov 12, 2024
6573482
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Nov 12, 2024
4cd7be7
Run black --config ../../../eng/black-pyproject.toml
dargilco Nov 12, 2024
fb046e2
agents tracing pylint fixes (#38496)
M-Hietala Nov 12, 2024
723c59b
Remove premature adding of asserts.json file
dargilco Nov 12, 2024
b0ec1ed
[ai] fix(pylint): Resolving remaining pylint errors (#38500)
kdestin Nov 13, 2024
64fadfe
Disable all agents tests. Push recordings for all other tests to the …
dargilco Nov 13, 2024
6465546
run "black --config ../../../eng/black-pyproject.toml ."
dargilco Nov 13, 2024
b210645
Fix pylint and new mypy issues (#38503)
nick863 Nov 13, 2024
e807234
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Nov 13, 2024
bc0c788
Remove async from .telemetry.enable (#38514)
dargilco Nov 13, 2024
fad94f9
Fix pylint
dargilco Nov 13, 2024
f6dc205
Rename `with_credentials` to `include_credentials` per apiview.dev re…
dargilco Nov 13, 2024
4e018c4
Try to fix test issues on Python 3.13. Run black
dargilco Nov 13, 2024
5fe839c
Try again to fix Python 3.13 test failure
dargilco Nov 13, 2024
355e68b
Attempt to fix azure-ai-projects not showing up in the release pipeline
dargilco Nov 13, 2024
83a4fa5
Fix release date in CHANGELOG.md
dargilco Nov 13, 2024
a201c19
Fix CHANGELOG.md
dargilco Nov 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -158,3 +158,8 @@ sdk/cosmos/azure-cosmos/test/test_config.py

# temporary folder to refresh SDK with cadl
TempTypeSpecFiles/

# Eclipse project files
dargilco marked this conversation as resolved.
Show resolved Hide resolved
**/.project
**/.pydevproject
**/.settings
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# ------------------------------------
dargilco marked this conversation as resolved.
Show resolved Hide resolved
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# ------------------------------------

"""
FILE: sample_endpoints_async.py

DESCRIPTION:
Given an asynchronous AzureAIClient, this sample demonstrates how to enumerate endpoints
and get endpoint properties.

USAGE:
python sample_endpoints_async.py

Before running the sample:

pip install azure.ai.client aiohttp azure-identity
dargilco marked this conversation as resolved.
Show resolved Hide resolved

Set the environment variables with your own values:
1) AI_CLIENT_CONNECTION_STRING - the Azure AI Project connection string, as found in your AI Studio Project.
"""

import asyncio
import os
from azure.ai.client.aio import AzureAIClient
from azure.ai.client.models import ConnectionType, AuthenticationType
from azure.identity import DefaultAzureCredential
dargilco marked this conversation as resolved.
Show resolved Hide resolved


async def sample_endpoints_async():

# Create an Azure AI Client from a connection string, copied from your AI Studio project.
# It should be in the format "<Endpoint>;<AzureSubscriptionId>;<ResourceGroup>;<WorkspaceName>"
async with AzureAIClient.from_connection_string(
credential=DefaultAzureCredential(),
conn_str=os.environ["AI_CLIENT_CONNECTION_STRING"],
dargilco marked this conversation as resolved.
Show resolved Hide resolved
) as ai_client:

# List all endpoints of a particular "type", with or without their credentials:
print("====> Listing of all Azure Open AI endpoints:")
async for endpoint in ai_client.endpoints.list(
endpoint_type=ConnectionType.AZURE_OPEN_AI, # Optional. Defaults to all types.
populate_secrets=True, # Optional. Defaults to "False"
):
print(endpoint)

# Get the default endpoint of a particular "type" (note that since at the moment the service
# does not have a notion of a default endpoint, this will return the first endpoint of that type):
endpoint = await ai_client.endpoints.get_default(
endpoint_type=ConnectionType.AZURE_OPEN_AI,
populate_secrets=True, # Required. # Optional. Defaults to "False"
)
print("====> Get default Azure Open AI endpoint:")
print(endpoint)

# Get an endpoint by its name:
endpoint = await ai_client.endpoints.get(
endpoint_name=os.environ["AI_CLIENT_ENDPOINT_NAME"], populate_secrets=True # Required.
)
print("====> Get endpoint by name:")
print(endpoint)

# Examples of how you would create Inference client
if endpoint.endpoint_type == ConnectionType.AZURE_OPEN_AI:

from openai import AsyncAzureOpenAI

if endpoint.authentication_type == AuthenticationType.API_KEY:
print("====> Creating AzureOpenAI client using API key authentication")
client = AsyncAzureOpenAI(
api_key=endpoint.key,
azure_endpoint=endpoint.endpoint_url,
api_version="2024-06-01", # See "Data plane - inference" row in table https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs
)
elif endpoint.authentication_type == AuthenticationType.AAD:
dargilco marked this conversation as resolved.
Show resolved Hide resolved
print("====> Creating AzureOpenAI client using Entra ID authentication")
from azure.identity import get_bearer_token_provider
dargilco marked this conversation as resolved.
Show resolved Hide resolved

client = AsyncAzureOpenAI(
# See https://learn.microsoft.com/en-us/python/api/azure-identity/azure.identity?view=azure-python#azure-identity-get-bearer-token-provider
azure_ad_token_provider=get_bearer_token_provider(
endpoint.token_credential, "https://cognitiveservices.azure.com/.default"
),
azure_endpoint=endpoint.endpoint_url,
api_version="2024-06-01", # See "Data plane - inference" row in table https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs
)
else:
raise ValueError(f"Authentication type {endpoint.authentication_type} not supported.")

response = await client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": "How many feet are in a mile?",
},
],
)
print(response.choices[0].message.content)

elif endpoint.endpoint_type == ConnectionType.SERVERLESS:

from azure.ai.inference.aio import ChatCompletionsClient
from azure.ai.inference.models import UserMessage

if endpoint.authentication_type == AuthenticationType.API_KEY:
print("====> Creating ChatCompletionsClient using API key authentication")
from azure.core.credentials import AzureKeyCredential

client = ChatCompletionsClient(endpoint=endpoint.endpoint_url, credential=AzureKeyCredential(endpoint.key))
elif endpoint.authentication_type == AuthenticationType.AAD:
# MaaS models do not yet support EntraID auth
print("====> Creating ChatCompletionsClient using Entra ID authentication")
client = ChatCompletionsClient(
endpoint=endpoint.endpoint_url, credential=endpoint.properties.token_credential
)
else:
raise ValueError(f"Authentication type {endpoint.authentication_type} not supported.")

response = await client.complete(messages=[UserMessage(content="How many feet are in a mile?")])
await client.close()
print(response.choices[0].message.content)


async def main():
await sample_endpoints_async()


if __name__ == "__main__":
asyncio.run(main())

5 changes: 5 additions & 0 deletions sdk/ai/azure-ai-projects/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Release History

## 1.0.0b1 (1970-01-01)

- Initial version
21 changes: 21 additions & 0 deletions sdk/ai/azure-ai-projects/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Copyright (c) Microsoft Corporation.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
7 changes: 7 additions & 0 deletions sdk/ai/azure-ai-projects/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
include *.md
include LICENSE
include azure/ai/projects/py.typed
recursive-include tests *.py
recursive-include samples *.py *.md
include azure/__init__.py
include azure/ai/__init__.py
80 changes: 80 additions & 0 deletions sdk/ai/azure-ai-projects/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@


# Azure Ai Projects client library for Python
<!-- write necessary description of service -->

## Getting started

### Install the package

```bash
python -m pip install azure-ai-projects
```

#### Prequisites

- Python 3.8 or later is required to use this package.
- You need an [Azure subscription][azure_sub] to use this package.
- An existing Azure Ai Projects instance.
#### Create with an Azure Active Directory Credential
To use an [Azure Active Directory (AAD) token credential][authenticate_with_token],
provide an instance of the desired credential type obtained from the
[azure-identity][azure_identity_credentials] library.

To authenticate with AAD, you must first [pip][pip] install [`azure-identity`][azure_identity_pip]

After setup, you can choose which type of [credential][azure_identity_credentials] from azure.identity to use.
As an example, [DefaultAzureCredential][default_azure_credential] can be used to authenticate the client:

Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables:
`AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`

Use the returned token credential to authenticate the client:

```python
>>> from azure.ai.projects import AIProjectClient
>>> from azure.identity import DefaultAzureCredential
>>> client = AIProjectClient(endpoint='<endpoint>', credential=DefaultAzureCredential())
```

## Examples

```python
>>> from azure.ai.projects import AIProjectClient
>>> from azure.identity import DefaultAzureCredential
>>> from azure.core.exceptions import HttpResponseError

>>> client = AIProjectClient(endpoint='<endpoint>', credential=DefaultAzureCredential())
>>> try:
<!-- write test code here -->
except HttpResponseError as e:
print('service responds error: {}'.format(e.response.json()))

```

## Contributing

This project welcomes contributions and suggestions. Most contributions require
you to agree to a Contributor License Agreement (CLA) declaring that you have
the right to, and actually do, grant us the rights to use your contribution.
For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether
you need to provide a CLA and decorate the PR appropriately (e.g., label,
comment). Simply follow the instructions provided by the bot. You will only
need to do this once across all repos using our CLA.

This project has adopted the
[Microsoft Open Source Code of Conduct][code_of_conduct]. For more information,
see the Code of Conduct FAQ or contact [email protected] with any
additional questions or comments.

<!-- LINKS -->
[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/
[authenticate_with_token]: https://docs.microsoft.com/azure/cognitive-services/authentication?tabs=powershell#authenticate-with-an-authentication-token
[azure_identity_credentials]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#credentials
[azure_identity_pip]: https://pypi.org/project/azure-identity/
[default_azure_credential]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#defaultazurecredential
[pip]: https://pypi.org/project/pip/
[azure_sub]: https://azure.microsoft.com/free/

1 change: 1 addition & 0 deletions sdk/ai/azure-ai-projects/azure/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
1 change: 1 addition & 0 deletions sdk/ai/azure-ai-projects/azure/ai/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
32 changes: 32 additions & 0 deletions sdk/ai/azure-ai-projects/azure/ai/projects/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wrong-import-position

from typing import TYPE_CHECKING

if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._client import AIProjectClient # type: ignore
from ._version import VERSION

__version__ = VERSION

try:
from ._patch import __all__ as _patch_all
from ._patch import *
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk

__all__ = [
"AIProjectClient",
]
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore

_patch_sdk()
Loading
Loading