setup.py (59 lines of code) (raw):

#!/usr/bin/env python # coding=utf-8 # ---------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License file in the project root for license information. # ---------------------------------------------------------------------------------------------- import re import os.path from io import open from setuptools import setup, find_packages EXTENSION_REF_NAME = "azext_edge" # Version extraction inspired from 'requests' with open(os.path.join(EXTENSION_REF_NAME, "constants.py"), "r", encoding="utf-8") as fd: constants_raw = fd.read() VERSION = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', constants_raw, re.MULTILINE).group(1) PACKAGE_NAME = re.search(r'^EXTENSION_NAME\s*=\s*[\'"]([^\'"]*)[\'"]', constants_raw, re.MULTILINE).group(1) if not VERSION: raise RuntimeError("Cannot find version information") if not PACKAGE_NAME: raise RuntimeError("Cannot find package information") DEPENDENCIES = [ "rich>=13.6,<14.0", "kubernetes>=29.0,<32.0", "azure-identity>=1.14.1,<1.18.0", "protobuf~=4.25.0", "opentelemetry-proto~=1.20.0", "packaging>=23.2", "semver>=3.0.4,<4", ] CLASSIFIERS = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] short_description = "The Azure IoT Operations extension for Azure CLI." setup( name=PACKAGE_NAME, version=VERSION, python_requires=">=3.8", description=short_description, long_description="{} Intended for power users and/or automation of Azure IoT Operations solutions at scale.".format( short_description ), license="MIT", author="Microsoft", author_email="iotupx@microsoft.com", # +@digimaun url="https://github.com/azure/azure-iot-ops-cli-extension", classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests", "*.tests", "*.tests.*", "scripts"]), package_data={ EXTENSION_REF_NAME: [ "azext_metadata.json", ] }, install_requires=DEPENDENCIES, extras_require=None, zip_safe=False, )