Metadata-Version: 2.4
Name: azure-iot-deviceregistrysoftwareupdate
Version: 1.0.0b1
Summary: Microsoft Corporation Azure Iot Deviceregistrysoftwareupdate Client Library for Python
Author-email: Microsoft Corporation <azpysdkhelp@microsoft.com>
License-Expression: MIT
Project-URL: repository, https://github.com/Azure/azure-sdk-for-python
Keywords: azure,azure sdk
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: isodate>=0.6.1
Requires-Dist: azure-core>=1.37.0
Requires-Dist: typing-extensions>=4.6.0
Dynamic: license-file

# Azure Device Registry Software Update client library for Python

Azure Device Registry Software Update enables you to import and manage software updates and inspect device classes for IoT devices registered with Azure Device Registry.

## Getting started

### Install the package

```bash
python -m pip install azure-iot-deviceregistrysoftwareupdate
```

#### Prerequisites

- Python 3.10 or later is required to use this package.
- You need an [Azure subscription][azure_sub] to use this package.
- An existing Azure Device Registry Software Update instance and its endpoint hostname, such as `contoso.api.adu.microsoft.com`.

### Use with AI tools

AI coding tools such as VS Code and GitHub Copilot can help you write and debug code that uses this library. See [Using the Azure SDK for Python with AI tools](https://aka.ms/azsdk/python/ai) for available integrations.

#### 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.iot.deviceregistrysoftwareupdate import DeviceRegistrySoftwareUpdateClient
>>> from azure.identity import DefaultAzureCredential
>>> client = DeviceRegistrySoftwareUpdateClient(endpoint='<endpoint>', credential=DefaultAzureCredential())
```

## Key concepts

The `DeviceRegistrySoftwareUpdateClient` provides access to two operation groups:

- `device_classes` manages device classes.
- `software_update` manages software updates and update files.

## Examples

```python
import os

from azure.core.exceptions import HttpResponseError
from azure.identity import DefaultAzureCredential
from azure.iot.deviceregistrysoftwareupdate import DeviceRegistrySoftwareUpdateClient

endpoint = os.environ["DEVICE_REGISTRY_SOFTWARE_UPDATE_ENDPOINT"]

try:
    with DeviceRegistrySoftwareUpdateClient(
        endpoint=endpoint,
        credential=DefaultAzureCredential(),
    ) as client:
        for device_class in client.device_classes.list():
            print(device_class)
except HttpResponseError as error:
    print(f"Service request failed: {error}")

```

## Troubleshooting

Service operations raise exceptions defined in
[Azure Core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md).

## Next steps

Explore the available client operations and models in the
[API reference](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/deviceregistry/azure-iot-deviceregistrysoftwareupdate/api.md).

## 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 opencode@microsoft.com 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/

# Release History

## 1.0.0b1 (2026-08-21)

### Other Changes

  - Initial version
