Azure / Azure/azure-cli-extensions

arcdata extension 1.5.27 fails to install on Azure CLI 2.82.0 (Python 3.13) due to regex build / setuptools.build_meta error

Open
#9,528 2 comments 0 reactions 0 assignees View on GitHub
arcdata bug customer-reported Service Attention
Dominant language
Python
Stars
454
Forks
1.7k
Avg merge
2d 19h
Merged PRs (30d)
64

Description

### Describe the bug

# Description

Installing the arcdata Azure CLI extension fails on Azure CLI 2.82.0, which bundles Python 3.13, due to a dependency build failure when installing regex==2023.10.3.

The extension installation attempts to build regex from source (sdist), and the pip build isolation environment fails with:

```
pip._vendor.pyproject_hooks._impl.BackendUnavailable:
Cannot import 'setuptools.build_meta'
```

This appears to be a compatibility issue between:

- arcdata 1.5.27 (current/latest version in the extension index),
- pinned dependency regex==2023.10.3,
- and Azure CLI’s embedded Python 3.13.

# Observed Behavior

During extension installation, pip attempts to install dependencies and falls back to building regex==2023.10.3 from source:

```
Collecting regex==2023.10.3
Downloading regex-2023.10.3.tar.gz
Installing build dependencies: done
Getting requirements to build wheel: done
BackendUnavailable: Cannot import 'setuptools.build_meta'
```

The failure occurs inside pip’s PEP517 isolated build environment, even though setuptools.build_meta is importable in the base Azure CLI Python environment.

### Related command

# Steps to Reproduce

1. Install Azure CLI 2.82.0 on Windows
2. Run:
```powershell
az extension add -n arcdata --debug
```
3. Observe failure during dependency installation

### Errors

```powershell
az extension add --name arcdata
An error occurred. Pip failed with status code 2. Use --debug for more information.
```

### Issue script & Debug output

```powershell
az extension add -n arcdata --debug
```

```
cli.knack.cli: Command arguments: ['extension', 'add', '-n', 'arcdata', '--debug']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [, , ]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'extension': ['azure.cli.command_modules.extension']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: extension 0.002 1 7
cli.azure.cli.core: Total (1) 0.002 1 7
cli.azure.cli.core: Loaded 1 groups, 7 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : extension add
cli.azure.cli.core: Command table: extension add
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate []
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\gé\.azure\commands\2026-01-15.21-21-46.extension_add.27256.log'.
az_command_data_logger: command args: extension add -n {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [.add_subscription_parameter at 0x000001844EB628E0>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [.add_ids_arguments at 0x000001844EC00C20>, .add_cache_arguments at 0x000001844EC00E00>, .update_breaking_change_info at 0x000001844EC00EA0>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [, , .parse_ids_arguments at 0x000001844EC00CC0>]
urllib3.connectionpool: Starting new HTTPS connection (1): aka.ms:443
urllib3.connectionpool: https://aka.ms:443 "GET /azure-cli-extension-index-v1 HTTP/1.1" 301 0
urllib3.connectionpool: Starting new HTTPS connection (1): azcliextensionsync.blob.core.windows.net:443
urllib3.connectionpool: https://azcliextensionsync.blob.core.windows.net:443 "GET /index1/index.json HTTP/1.1" 200 4464127
cli.azure.cli.core.extension._resolve: Candidates ['arcdata-1.5.27-py2.py3-none-any.whl', 'arcdata-1.5.26-py2.py3-none-any.whl', 'arcdata-1.5.25-py2.py3-none-any.whl', 'arcdata-1.5.24-py2.py3-none-any.whl', 'arcdata-1.5.23-py2.py3-none-any.whl', 'arcdata-1.5.22-py2.py3-none-any.whl', 'arcdata-1.5.21-py2.py3-none-any.whl', 'arcdata-1.5.20-py2.py3-none-any.whl', 'arcdata-1.5.19-py2.py3-none-any.whl', 'arcdata-1.5.18-py2.py3-none-any.whl', 'arcdata-1.5.17-py2.py3-none-any.whl', 'arcdata-1.5.16-py2.py3-none-any.whl', 'arcdata-1.5.15-py2.py3-none-any.whl', 'arcdata-1.5.13-py2.py3-none-any.whl', 'arcdata-1.5.12-py2.py3-none-any.whl', 'arcdata-1.5.11-py2.py3-none-any.whl', 'arcdata-1.5.10-py2.py3-none-any.whl', 'arcdata-1.5.9-py2.py3-none-any.whl', 'arcdata-1.5.8-py2.py3-none-any.whl', 'arcdata-1.5.7-py2.py3-none-any.whl', 'arcdata-1.5.6-py2.py3-none-any.whl', 'arcdata-1.5.5-py2.py3-none-any.whl', 'arcdata-1.5.4-py2.py3-none-any.whl', 'arcdata-1.5.3-py2.py3-none-any.whl', 'arcdata-1.5.2-py2.py3-none-any.whl', 'arcdata-1.5.1-py2.py3-none-any.whl', 'arcdata-1.5.0-py2.py3-none-any.whl', 'arcdata-1.4.13-py2.py3-none-any.whl', 'arcdata-1.4.12-py2.py3-none-any.whl', 'arcdata-1.4.11-py2.py3-none-any.whl', 'arcdata-1.4.10-py2.py3-none-any.whl', 'arcdata-1.4.9-py2.py3-none-any.whl', 'arcdata-1.4.8-py2.py3-none-any.whl', 'arcdata-1.4.7-py2.py3-none-any.whl', 'arcdata-1.4.6-py2.py3-none-any.whl', 'arcdata-1.4.5-py2.py3-none-any.whl', 'arcdata-1.4.4-py2.py3-none-any.whl', 'arcdata-1.4.3-py2.py3-none-any.whl', 'arcdata-1.4.2-py2.py3-none-any.whl', 'arcdata-1.4.1-py2.py3-none-any.whl', 'arcdata-1.4.0-py2.py3-none-any.whl', 'arcdata-1.3.1-py2.py3-none-any.whl', 'arcdata-1.3.0-py2.py3-none-any.whl', 'arcdata-1.2.3-py2.py3-none-any.whl', 'arcdata-1.2.2-py2.py3-none-any.whl', 'arcdata-1.2.1-py2.py3-none-any.whl', 'arcdata-1.2.0-py2.py3-none-any.whl', 'arcdata-1.1.3-py2.py3-none-any.whl', 'arcdata-1.1.2-py2.py3-none-any.whl', 'arcdata-1.1.1-py2.py3-none-any.whl', 'arcdata-1.1.0-py2.py3-none-any.whl', 'arcdata-1.0.0-py2.py3-none-any.whl', 'arcdata-0.0.2-py2.py3-none-any.whl', 'arcdata-0.0.1-py2.py3-none-any.whl']
cli.azure.cli.core.extension._resolve: Candidates ['arcdata-1.5.27-py2.py3-none-any.whl', 'arcdata-1.5.26-py2.py3-none-any.whl', 'arcdata-1.5.25-py2.py3-none-any.whl', 'arcdata-1.5.24-py2.py3-none-any.whl', 'arcdata-1.5.23-py2.py3-none-any.whl', 'arcdata-1.5.22-py2.py3-none-any.whl', 'arcdata-1.5.21-py2.py3-none-any.whl', 'arcdata-1.5.20-py2.py3-none-any.whl', 'arcdata-1.5.19-py2.py3-none-any.whl', 'arcdata-1.5.18-py2.py3-none-any.whl', 'arcdata-1.5.17-py2.py3-none-any.whl', 'arcdata-1.5.16-py2.py3-none-any.whl', 'arcdata-1.5.15-py2.py3-none-any.whl', 'arcdata-1.5.13-py2.py3-none-any.whl', 'arcdata-1.5.12-py2.py3-none-any.whl', 'arcdata-1.5.11-py2.py3-none-any.whl', 'arcdata-1.5.10-py2.py3-none-any.whl', 'arcdata-1.5.9-py2.py3-none-any.whl', 'arcdata-1.5.8-py2.py3-none-any.whl', 'arcdata-1.5.7-py2.py3-none-any.whl', 'arcdata-1.5.6-py2.py3-none-any.whl', 'arcdata-1.5.5-py2.py3-none-any.whl', 'arcdata-1.5.4-py2.py3-none-any.whl', 'arcdata-1.5.3-py2.py3-none-any.whl', 'arcdata-1.5.2-py2.py3-none-any.whl', 'arcdata-1.5.1-py2.py3-none-any.whl', 'arcdata-1.5.0-py2.py3-none-any.whl', 'arcdata-1.4.13-py2.py3-none-any.whl', 'arcdata-1.4.12-py2.py3-none-any.whl', 'arcdata-1.4.11-py2.py3-none-any.whl', 'arcdata-1.4.10-py2.py3-none-any.whl', 'arcdata-1.4.9-py2.py3-none-any.whl', 'arcdata-1.4.8-py2.py3-none-any.whl', 'arcdata-1.4.7-py2.py3-none-any.whl', 'arcdata-1.4.6-py2.py3-none-any.whl', 'arcdata-1.4.5-py2.py3-none-any.whl', 'arcdata-1.4.4-py2.py3-none-any.whl', 'arcdata-1.4.3-py2.py3-none-any.whl', 'arcdata-1.4.2-py2.py3-none-any.whl', 'arcdata-1.4.1-py2.py3-none-any.whl', 'arcdata-1.4.0-py2.py3-none-any.whl', 'arcdata-1.3.1-py2.py3-none-any.whl', 'arcdata-1.3.0-py2.py3-none-any.whl', 'arcdata-1.2.3-py2.py3-none-any.whl', 'arcdata-1.2.2-py2.py3-none-any.whl', 'arcdata-1.2.1-py2.py3-none-any.whl', 'arcdata-1.2.0-py2.py3-none-any.whl', 'arcdata-1.1.3-py2.py3-none-any.whl', 'arcdata-1.1.2-py2.py3-none-any.whl', 'arcdata-1.1.1-py2.py3-none-any.whl', 'arcdata-1.1.0-py2.py3-none-any.whl', 'arcdata-1.0.0-py2.py3-none-any.whl', 'arcdata-0.0.2-py2.py3-none-any.whl', 'arcdata-0.0.1-py2.py3-none-any.whl']
cli.azure.cli.core.extension._resolve: Candidates ['arcdata-1.5.27-py2.py3-none-any.whl', 'arcdata-1.5.26-py2.py3-none-any.whl', 'arcdata-1.5.25-py2.py3-none-any.whl', 'arcdata-1.5.24-py2.py3-none-any.whl', 'arcdata-1.5.23-py2.py3-none-any.whl', 'arcdata-1.5.22-py2.py3-none-any.whl', 'arcdata-1.5.21-py2.py3-none-any.whl', 'arcdata-1.5.20-py2.py3-none-any.whl', 'arcdata-1.5.19-py2.py3-none-any.whl', 'arcdata-1.5.18-py2.py3-none-any.whl', 'arcdata-1.5.17-py2.py3-none-any.whl', 'arcdata-1.5.16-py2.py3-none-any.whl', 'arcdata-1.5.15-py2.py3-none-any.whl', 'arcdata-1.5.13-py2.py3-none-any.whl', 'arcdata-1.5.12-py2.py3-none-any.whl', 'arcdata-1.5.11-py2.py3-none-any.whl', 'arcdata-1.5.10-py2.py3-none-any.whl', 'arcdata-1.5.9-py2.py3-none-any.whl', 'arcdata-1.5.8-py2.py3-none-any.whl', 'arcdata-1.5.7-py2.py3-none-any.whl', 'arcdata-1.5.6-py2.py3-none-any.whl', 'arcdata-1.5.5-py2.py3-none-any.whl', 'arcdata-1.5.4-py2.py3-none-any.whl', 'arcdata-1.5.3-py2.py3-none-any.whl', 'arcdata-1.5.2-py2.py3-none-any.whl', 'arcdata-1.5.1-py2.py3-none-any.whl', 'arcdata-1.5.0-py2.py3-none-any.whl', 'arcdata-1.4.13-py2.py3-none-any.whl', 'arcdata-1.4.12-py2.py3-none-any.whl', 'arcdata-1.4.11-py2.py3-none-any.whl', 'arcdata-1.4.10-py2.py3-none-any.whl', 'arcdata-1.4.9-py2.py3-none-any.whl', 'arcdata-1.4.8-py2.py3-none-any.whl', 'arcdata-1.4.7-py2.py3-none-any.whl', 'arcdata-1.4.6-py2.py3-none-any.whl', 'arcdata-1.4.5-py2.py3-none-any.whl', 'arcdata-1.4.4-py2.py3-none-any.whl', 'arcdata-1.4.3-py2.py3-none-any.whl', 'arcdata-1.4.2-py2.py3-none-any.whl', 'arcdata-1.4.1-py2.py3-none-any.whl', 'arcdata-1.4.0-py2.py3-none-any.whl', 'arcdata-1.3.1-py2.py3-none-any.whl', 'arcdata-1.3.0-py2.py3-none-any.whl', 'arcdata-1.2.3-py2.py3-none-any.whl', 'arcdata-1.2.2-py2.py3-none-any.whl', 'arcdata-1.2.1-py2.py3-none-any.whl', 'arcdata-1.2.0-py2.py3-none-any.whl', 'arcdata-1.1.3-py2.py3-none-any.whl', 'arcdata-1.1.2-py2.py3-none-any.whl', 'arcdata-1.1.1-py2.py3-none-any.whl', 'arcdata-1.1.0-py2.py3-none-any.whl', 'arcdata-1.0.0-py2.py3-none-any.whl', 'arcdata-0.0.1-py2.py3-none-any.whl']
cli.azure.cli.core.extension._resolve: Candidates ['arcdata-1.5.27-py2.py3-none-any.whl', 'arcdata-1.5.26-py2.py3-none-any.whl', 'arcdata-1.5.25-py2.py3-none-any.whl', 'arcdata-1.5.24-py2.py3-none-any.whl', 'arcdata-1.5.23-py2.py3-none-any.whl', 'arcdata-1.5.22-py2.py3-none-any.whl', 'arcdata-1.5.21-py2.py3-none-any.whl', 'arcdata-1.5.20-py2.py3-none-any.whl', 'arcdata-1.5.19-py2.py3-none-any.whl', 'arcdata-1.5.18-py2.py3-none-any.whl', 'arcdata-1.5.17-py2.py3-none-any.whl', 'arcdata-1.5.16-py2.py3-none-any.whl', 'arcdata-1.5.15-py2.py3-none-any.whl', 'arcdata-1.5.13-py2.py3-none-any.whl', 'arcdata-1.5.12-py2.py3-none-any.whl', 'arcdata-1.5.11-py2.py3-none-any.whl', 'arcdata-1.5.10-py2.py3-none-any.whl', 'arcdata-1.5.9-py2.py3-none-any.whl', 'arcdata-1.5.8-py2.py3-none-any.whl', 'arcdata-1.5.7-py2.py3-none-any.whl', 'arcdata-1.5.6-py2.py3-none-any.whl', 'arcdata-1.5.5-py2.py3-none-any.whl', 'arcdata-1.5.4-py2.py3-none-any.whl', 'arcdata-1.5.3-py2.py3-none-any.whl', 'arcdata-1.5.2-py2.py3-none-any.whl', 'arcdata-1.5.1-py2.py3-none-any.whl', 'arcdata-1.5.0-py2.py3-none-any.whl', 'arcdata-1.4.13-py2.py3-none-any.whl', 'arcdata-1.4.12-py2.py3-none-any.whl', 'arcdata-1.4.11-py2.py3-none-any.whl', 'arcdata-1.4.10-py2.py3-none-any.whl', 'arcdata-1.4.9-py2.py3-none-any.whl', 'arcdata-1.4.8-py2.py3-none-any.whl', 'arcdata-1.4.7-py2.py3-none-any.whl', 'arcdata-1.4.6-py2.py3-none-any.whl', 'arcdata-1.4.5-py2.py3-none-any.whl', 'arcdata-1.4.4-py2.py3-none-any.whl', 'arcdata-1.4.3-py2.py3-none-any.whl', 'arcdata-1.4.2-py2.py3-none-any.whl', 'arcdata-1.4.1-py2.py3-none-any.whl', 'arcdata-1.4.0-py2.py3-none-any.whl', 'arcdata-1.3.1-py2.py3-none-any.whl', 'arcdata-1.3.0-py2.py3-none-any.whl', 'arcdata-1.2.3-py2.py3-none-any.whl', 'arcdata-1.2.2-py2.py3-none-any.whl', 'arcdata-1.2.1-py2.py3-none-any.whl', 'arcdata-1.2.0-py2.py3-none-any.whl', 'arcdata-1.1.3-py2.py3-none-any.whl', 'arcdata-1.1.2-py2.py3-none-any.whl', 'arcdata-1.1.1-py2.py3-none-any.whl', 'arcdata-1.1.0-py2.py3-none-any.whl', 'arcdata-1.0.0-py2.py3-none-any.whl', 'arcdata-0.0.1-py2.py3-none-any.whl']
cli.azure.cli.core.extension._resolve: Candidates ['arcdata-1.5.27-py2.py3-none-any.whl', 'arcdata-1.5.26-py2.py3-none-any.whl', 'arcdata-1.5.25-py2.py3-none-any.whl', 'arcdata-1.5.24-py2.py3-none-any.whl', 'arcdata-1.5.23-py2.py3-none-any.whl', 'arcdata-1.5.22-py2.py3-none-any.whl', 'arcdata-1.5.21-py2.py3-none-any.whl', 'arcdata-1.5.20-py2.py3-none-any.whl', 'arcdata-1.5.19-py2.py3-none-any.whl', 'arcdata-1.5.18-py2.py3-none-any.whl', 'arcdata-1.5.17-py2.py3-none-any.whl', 'arcdata-1.5.16-py2.py3-none-any.whl', 'arcdata-1.5.15-py2.py3-none-any.whl', 'arcdata-1.5.13-py2.py3-none-any.whl', 'arcdata-1.5.12-py2.py3-none-any.whl', 'arcdata-1.5.11-py2.py3-none-any.whl', 'arcdata-1.5.10-py2.py3-none-any.whl', 'arcdata-1.5.9-py2.py3-none-any.whl', 'arcdata-1.5.8-py2.py3-none-any.whl', 'arcdata-1.5.7-py2.py3-none-any.whl', 'arcdata-1.5.6-py2.py3-none-any.whl', 'arcdata-1.5.5-py2.py3-none-any.whl', 'arcdata-1.5.4-py2.py3-none-any.whl', 'arcdata-1.5.3-py2.py3-none-any.whl', 'arcdata-1.5.2-py2.py3-none-any.whl', 'arcdata-1.5.1-py2.py3-none-any.whl', 'arcdata-1.5.0-py2.py3-none-any.whl', 'arcdata-1.4.13-py2.py3-none-any.whl', 'arcdata-1.4.12-py2.py3-none-any.whl', 'arcdata-1.4.11-py2.py3-none-any.whl', 'arcdata-1.4.10-py2.py3-none-any.whl', 'arcdata-1.4.9-py2.py3-none-any.whl', 'arcdata-1.4.8-py2.py3-none-any.whl', 'arcdata-1.4.7-py2.py3-none-any.whl', 'arcdata-1.4.6-py2.py3-none-any.whl', 'arcdata-1.4.5-py2.py3-none-any.whl', 'arcdata-1.4.4-py2.py3-none-any.whl', 'arcdata-1.4.3-py2.py3-none-any.whl', 'arcdata-1.4.2-py2.py3-none-any.whl', 'arcdata-1.4.1-py2.py3-none-any.whl', 'arcdata-1.4.0-py2.py3-none-any.whl', 'arcdata-1.3.1-py2.py3-none-any.whl', 'arcdata-1.3.0-py2.py3-none-any.whl', 'arcdata-1.2.3-py2.py3-none-any.whl', 'arcdata-1.2.2-py2.py3-none-any.whl', 'arcdata-1.2.1-py2.py3-none-any.whl', 'arcdata-1.2.0-py2.py3-none-any.whl', 'arcdata-1.1.3-py2.py3-none-any.whl', 'arcdata-1.1.2-py2.py3-none-any.whl', 'arcdata-1.1.1-py2.py3-none-any.whl', 'arcdata-1.1.0-py2.py3-none-any.whl', 'arcdata-1.0.0-py2.py3-none-any.whl', 'arcdata-0.0.1-py2.py3-none-any.whl']
cli.azure.cli.core.extension._resolve: Chosen {'downloadUrl': 'https://azcliprod.blob.core.windows.net/cli-extensions/arcdata-1.5.27-py2.py3-none-any.whl', 'filename': 'arcdata-1.5.27-py2.py3-none-any.whl', 'metadata': {'azext.isExperimental': False, 'azext.minCliCoreVersion': '2.3.1', 'classifiers': ['Development Status :: 1 - Beta', 'Intended Audience :: Developers', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'License :: OSI Approved :: MIT License'], 'extensions': {'python.details': {'contacts': [{'email': 'dpgswdist@microsoft.com', 'name': 'Microsoft Corporation', 'role': 'author'}], 'document_names': {'description': 'DESCRIPTION.rst'}, 'project_urls': {'Home': 'https://docs.microsoft.com/en-us/azure/azure-arc/data/'}}}, 'extras': [], 'generator': 'bdist_wheel (0.30.0)', 'license': 'MIT', 'license_file': 'LICENSE', 'metadata_version': '2.0', 'name': 'arcdata', 'run_requires': [{'requires': ['colorama (==0.4.4)', 'colorama==0.4.4', 'jinja2 (==3.1.6)', 'jinja2==3.1.6', 'jsonpatch (==1.24)', 'jsonpatch==1.24', 'jsonpath-ng (==1.4.3)', 'jsonpath_ng==1.4.3', 'jsonschema (==3.2.0)', 'jsonschema==3.2.0', 'kubernetes (==31.0.0)', 'kubernetes==31.0.0', 'msrestazure (==0.6.4.post1)', 'msrestazure==0.6.4.post1', 'ndjson (==0.3.1)', 'ndjson==0.3.1', 'pem (==21.2.0)', 'pem==21.2.0', 'pydash (==7.0.6)', 'pydash==7.0.6', 'regex (==2023.10.3)', 'regex==2023.10.3']}], 'summary': 'Tools for managing ArcData.', 'version': '1.5.27'}, 'sha256Digest': 'd6d7bbb42ebab4ae6586f0a7ec59acc3b529cf1185b506f543a68e9828c69937'}
cli.azure.cli.core.extension.operations: Extension source is url? True
cli.azure.cli.core.extension.operations: Downloading https://azcliprod.blob.core.windows.net/cli-extensions/arcdata-1.5.27-py2.py3-none-any.whl to C:\Users\C~1\AppData\Local\Temp\tmp3hy3k4al\arcdata-1.5.27-py2.py3-none-any.whl
urllib3.connectionpool: Starting new HTTPS connection (1): azcliprod.blob.core.windows.net:443
urllib3.connectionpool: https://azcliprod.blob.core.windows.net:443 "GET /cli-extensions/arcdata-1.5.27-py2.py3-none-any.whl HTTP/1.1" 200 1764865
cli.azure.cli.core.extension.operations: Downloaded to C:\Users\C~1\AppData\Local\Temp\tmp3hy3k4al\arcdata-1.5.27-py2.py3-none-any.whl
cli.azure.cli.core.extension.operations: Validating the extension C:\Users\C~1\AppData\Local\Temp\tmp3hy3k4al\arcdata-1.5.27-py2.py3-none-any.whl
cli.azure.cli.core.extension.operations: Checksum of C:\Users\C~1\AppData\Local\Temp\tmp3hy3k4al\arcdata-1.5.27-py2.py3-none-any.whl is OK
cli.azure.cli.core.extension.operations: Validation successful on C:\Users\C~1\AppData\Local\Temp\tmp3hy3k4al\arcdata-1.5.27-py2.py3-none-any.whl
cli.azure.cli.core.extension.operations: Executing pip with args: ['install', '--target', 'C:\\azext\\arcdata', 'C:\\Users\\C~1\\AppData\\Local\\Temp\\tmp3hy3k4al\\arcdata-1.5.27-py2.py3-none-any.whl']
cli.azure.cli.core.extension.operations: Running: ['C:\\Program Files\\Microsoft SDKs\\Azure\\CLI2\\python.exe', '-m', 'pip', 'install', '--target', 'C:\\azext\\arcdata', 'C:\\Users\\C~1\\AppData\\Local\\Temp\\tmp3hy3k4al\\arcdata-1.5.27-py2.py3-none-any.whl', '--disable-pip-version-check', '--no-cache-dir']
cli.azure.cli.core.extension.operations: Processing c:\users\c~1\appdata\local\temp\tmp3hy3k4al\arcdata-1.5.27-py2.py3-none-any.whl
Collecting colorama==0.4.4 (from arcdata==1.5.27)
Downloading colorama-0.4.4-py2.py3-none-any.whl.metadata (14 kB)
Collecting kubernetes==31.0.0 (from arcdata==1.5.27)
Downloading kubernetes-31.0.0-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting pydash==7.0.6 (from arcdata==1.5.27)
Downloading pydash-7.0.6-py3-none-any.whl.metadata (45 kB)
Collecting jinja2==3.1.6 (from arcdata==1.5.27)
Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
Collecting jsonpath_ng==1.4.3 (from arcdata==1.5.27)
Downloading jsonpath_ng-1.4.3-py2.py3-none-any.whl.metadata (16 kB)
Collecting jsonpatch==1.24 (from arcdata==1.5.27)
Downloading jsonpatch-1.24-py2.py3-none-any.whl.metadata (3.1 kB)
Collecting jsonschema==3.2.0 (from arcdata==1.5.27)
Downloading jsonschema-3.2.0-py2.py3-none-any.whl.metadata (7.8 kB)
Collecting ndjson==0.3.1 (from arcdata==1.5.27)
Downloading ndjson-0.3.1-py2.py3-none-any.whl.metadata (3.2 kB)
Collecting pem==21.2.0 (from arcdata==1.5.27)
Downloading pem-21.2.0-py2.py3-none-any.whl.metadata (5.7 kB)
Collecting regex==2023.10.3 (from arcdata==1.5.27)
Downloading regex-2023.10.3.tar.gz (394 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
ERROR: Exception:
Traceback (most recent call last):
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\cli\base_command.py", line 107, in _run_wrapper
status = _inner_run()
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\cli\base_command.py", line 98, in _inner_run
return self.run(options, args)
~~~~~~~~^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\cli\req_command.py", line 85, in wrapper
return func(self, options, args)
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\commands\install.py", line 388, in run
requirement_set = resolver.resolve(
reqs, check_supported_wheels=not options.target_dir
)
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 99, in resolve
result = self._result = resolver.resolve(
~~~~~~~~~~~~~~~~^
collected.requirements, max_rounds=limit_how_complex_resolution_can_be
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 601, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 513, in resolve
failure_criterion = self._attempt_to_pin_criterion(name)
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 220, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 211, in _get_updated_criteria
self._add_to_criteria(criteria, requirement, parent=candidate)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 150, in _add_to_criteria
if not criterion.candidates:
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\resolvelib\structs.py", line 194, in __bool__
return bool(self._sequence)
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 165, in __bool__
self._bool = any(self)
~~~^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 149, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 39, in _iter_built
candidate = func()
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 180, in _make_candidate_from_link
base: BaseCandidate | None = self._make_base_candidate_from_link(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
link, template, name, version
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 226, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
~~~~~~~~~~~~~^
link,
^^^^^
...<3 lines>...
version=version,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 318, in __init__
super().__init__(
~~~~~~~~~~~~~~~~^
link=link,
^^^^^^^^^^
...<4 lines>...
version=version,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 161, in __init__
self.dist = self._prepare()
~~~~~~~~~~~~~^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 238, in _prepare
dist = self._prepare_distribution()
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 329, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\operations\prepare.py", line 543, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\operations\prepare.py", line 658, in _prepare_linked_requirement
dist = _get_prepared_distribution(
req,
...<3 lines>...
self.check_build_deps,
)
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\operations\prepare.py", line 77, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
build_env_installer, build_isolation, check_build_deps
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\distributions\sdist.py", line 55, in prepare_distribution_metadata
self._install_build_reqs(build_env_installer)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\distributions\sdist.py", line 132, in _install_build_reqs
build_reqs = self._get_build_requires_wheel()
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\distributions\sdist.py", line 107, in _get_build_requires_wheel
return backend.get_requires_for_build_wheel()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_internal\utils\misc.py", line 694, in get_requires_for_build_wheel
return super().get_requires_for_build_wheel(config_settings=cs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 196, in get_requires_for_build_wheel
return self._call_hook(
~~~~~~~~~~~~~~~^
"get_requires_for_build_wheel", {"config_settings": config_settings}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 402, in _call_hook
raise BackendUnavailable(
...<4 lines>...
)
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Cannot import 'setuptools.build_meta'

cli.azure.cli.core.extension.operations: Command '['C:\\Program Files\\Microsoft SDKs\\Azure\\CLI2\\python.exe', '-m', 'pip', 'install', '--target', 'C:\\azext\\arcdata', 'C:\\Users\\C~1\\AppData\\Local\\Temp\\tmp3hy3k4al\\arcdata-1.5.27-py2.py3-none-any.whl', '--disable-pip-version-check', '--no-cache-dir']' returned non-zero exit status 2.
cli.azure.cli.core.extension.operations: Pip failed so deleting anything we might have installed at C:\azext\arcdata
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 669, in execute
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 737, in _run_jobs_serially
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 706, in _run_job
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 336, in __call__
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 120, in handler
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/extension/custom.py", line 16, in add_extension_cmd
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/extension/operations.py", line 343, in add_extension
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/extension/operations.py", line 172, in _add_whl_ext
knack.util.CLIError: An error occurred. Pip failed with status code 2. Use --debug for more information.

cli.azure.cli.core.azclierror: An error occurred. Pip failed with status code 2. Use --debug for more information.
az_command_data_logger: An error occurred. Pip failed with status code 2. Use --debug for more information.
cli.knack.cli: Event: Cli.PostExecute []
az_command_data_logger: exit code: 1
cli.__main__: Command ran in 8.505 seconds (init: 0.290, invoke: 8.216)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.client: Accumulated 0 events. Flush the clients.
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 4059 in cache file under C:\Users\gé\.azure\telemetry\20260115212154832
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry\__init__.pyc C:\Users\é\.azure C:\Users\gé\.azure\telemetry\20260115212154832"
telemetry.process: Return from creating process 16648
telemetry.main: Finish creating telemetry upload process.
```

### Expected behavior

- az extension add -n arcdata succeeds on supported Azure CLI versions
- Or, the extension is updated to:
- use dependency versions compatible with Python 3.13, or
- avoid source builds on newer Python versions

### Environment Summary

- Azure CLI version: 2.82.0
- Python version (bundled): 3.13.9
- OS: Windows 11
- Installation method: Azure CLI MSI
- Extension index: https://aka.ms/azure-cli-extension-index-v1

```
az --version
azure-cli 2.82.0
Python (Windows) 3.13.9
```

### Additional context

# Additional Notes / Analysis

- The official extension index currently only exposes arcdata 1.5.27
- There is no newer version available that relaxes or updates the regex dependency
- Installing Azure CLI LTS (Python 3.12) avoids the issue, suggesting a Python 3.13 compatibility gap
- This blocks usage of arcdata on current Azure CLI releases unless users downgrade CLI versions or manually intervene

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.