Skip to main content

A collection of utilities for interacting with Microsoft Azure

Project description


pyazureutils is a collection of utilities for interacting with Microsoft Azure.

PyPI - Format PyPI - Python Version PyPI - License


pyazureutils is available:


pyazureutils is intended as a library as well as a stand-alone CLI. Its primary consumer is iotprovision. The CLI requires that the Azure CLI ('az') is installed.

Command-line interface

pyazureutils CLI is invoked with one command, one action and optional switches. See help and examples below for more details.

Getting help:

pyazureutils --help

Getting command-specific help (iotcentral command):

pyazureutils iotcentral --help

pyazureutils can optionally select the subscription to use:


pyazureutils --subscription "My Azure" iotcentral register-device

iotcentral command

The iotcentral command supports device registration with Azure IoT Central


pyazureutils iotcentral register-device

Device registration can optionally include the switches:

--application-name <application name (URL) to register with>
--display-name <display name to use for the device registration>
--certificate-file <certificate to use for registration, if not read from a kit>
--device-template-name <device template to use for registration>


pyazureutils --subscription "My Azure" iotcentral register-device --app custom-227clcx93h8 --template "PIC-IoT WM" --display-name "My PIC-IoT Kit"


This package uses the Python logging module for publishing log messages to library users. A basic configuration can be used (see example below), but for best results a more thorough configuration is recommended in order to control the verbosity of output from dependencies in the stack which also use logging.

import logging
logging.basicConfig(format="%(levelname)s: %(message)s", level=logging.WARNING)


This package uses pyedbglib through other libraries for USB communications. For more information see:


pyazureutils version can be determined by:

from pyazureutils import __version__ as pyazureutils_version
print(f"pyazureutils version {pyazureutils_version}")


[1.1] - December 2023


  • DSG-5753 CLI catch-all and return code


  • DSG-5640 Clean up unused pyedbglib dependencies / requirements
  • DSG-5754 Removed erroneous relic: AzureCustomProvisioner

[1.0.0] - July 2022


  • DSG-4387 corrections to pyazureutils library help
  • DSG-4718 Attempt iotcentral enrollment even if app name is not visible in subscription
  • DSG-5151 Support for setting the default subscription before enrollment


  • DSG-4398 Link to github readme to github docs for pyazureutils
  • DSG-4471 Link to changelog
  • DSG-4727 Argument aliases for enrollment (--app, --application-name, --application-url)

[0.8.2] - December 2021


  • DSG-4296 Better feedback when multiple subscriptions or IoT Central applications found
  • DSG-4293 Better device template handling


  • DSG-4355 Improved help

[0.7.1] - November 2021


  • DSG-4029 Publication to GitHub + pypi
  • DSG-4001 Support for multiple subscriptions
  • DSG-3442 iotcentral enrollment


  • DSG-4004 cross-platform subprocess calls
  • DSG-4000 packages dependencies corrected


  • DSG-3363 refactored provisioning

[0.6.3] - June 2021


  • DSG-3565 pypi release

[0.5.0] - January 2021

  • First public release to PyPi

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pyazureutils- (16.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page