{"id":7028,"library":"azdev","title":"Microsoft Azure CLI Developer Tools","description":"azdev is a developer tool designed to assist new and experienced contributors in creating and maintaining command modules and extensions for the Azure CLI. It provides utilities for setting up development environments, running static code checks, tests, and managing CLI-related artifacts. The current version is 0.2.9, with a frequent release cadence, often introducing minor updates and bug fixes.","status":"active","version":"0.2.9","language":"en","source_language":"en","source_url":"https://github.com/Azure/azure-cli-dev-tools","tags":["azure","cli","development","tools","microsoft"],"install":[{"cmd":"pip install azdev","lang":"bash","label":"Install latest stable version"}],"dependencies":[{"reason":"Required runtime environment.","package":"python","optional":false}],"imports":[],"quickstart":{"code":"# 1. Install azdev\npip install azdev\n\n# 2. Fork and clone the Azure CLI and/or Azure CLI Extensions repositories\n# For example, to a folder like '~/azure-cli' and '~/azure-cli-extensions'\n\n# 3. Set up your development environment interactively\nazdev setup --cli ~/azure-cli --repo ~/azure-cli-extensions\n\n# 4. Run a basic linter check on a module (replace 'my-module' with an actual module or extension name)\n# cd ~/azure-cli\nazdev linter my-module","lang":"bash","description":"The `azdev` tool is primarily a command-line interface. This quickstart demonstrates how to install `azdev`, set up your local Azure CLI development environment by pointing to your cloned repositories, and run a basic linter check. Full development requires cloning the official Azure CLI and potentially `azure-cli-extensions` repositories."},"warnings":[{"fix":"Adhere strictly to its intended use case for local Azure CLI development and testing environments.","message":"azdev is explicitly designed for internal use and local machine execution only. It must NOT be used to process input from untrusted sources or deployed behind any external-facing application due to potential security risks.","severity":"gotcha","affected_versions":"All versions"},{"fix":"If encountering installation errors, ensure your `pip` and `setuptools` versions align with `azdev`'s requirements. You may need to downgrade or upgrade `pip` and `setuptools` specifically: `pip install 'pip==25.2' 'setuptools==70.0.0'` (adjust versions as per release notes).","message":"Specific versions of `pip` and `setuptools` have been pinned in `azdev` releases (e.g., pip to 25.2 in v0.2.8, setuptools to 70.0.0 in v0.2.4). This can lead to installation conflicts or `setup.py develop` issues with newer or older versions of these build tools.","severity":"breaking","affected_versions":"0.2.4 through 0.2.9 (and potentially earlier)"},{"fix":"Ensure you are running Python 3.9 or newer. If you experience unexpected behavior, cross-reference the `azdev` GitHub release notes and PyPI metadata for any specific Python version recommendations or known issues.","message":"Python version compatibility for `azdev` requires Python >=3.9. While newer Python versions (up to 3.13) are tested and supported, older documentation might mention specific Python 3.x versions (e.g., 3.6-3.8) as recommended. Always verify the `requires_python` metadata for the installed version.","severity":"gotcha","affected_versions":"All versions, especially when moving between Python environments."}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Try explicitly installing a compatible `setuptools` version before `azdev`: `pip install 'setuptools==70.0.0' && pip install azdev` (check `azdev` release notes for exact `setuptools` pin).","cause":"Often caused by outdated or conflicting `setuptools` versions, especially when `azdev` pins a specific version.","error":"error: invalid command 'bdist_wheel' or similar build-related errors during installation."},{"fix":"Pin `pip` to a compatible version as specified in `azdev`'s release notes (e.g., `pip install 'pip==25.2' && pip install azdev`).","cause":"This error, particularly after a pip upgrade, indicates that `azdev` or one of its dependencies is incompatible with the new `pip` version due to internal changes (e.g., pip 25.3 removed support for legacy `setup.py develop` editable method).","error":"pip._vendor.packaging.version.InvalidVersion: Invalid version: '25.3'"},{"fix":"Verify that you have correctly set up your `azdev` environment using `azdev setup --cli <path> --repo <path>` and that the module/extension name you are passing exists within those repositories. Run `azdev --help` or `azdev <command> --help` to check valid options.","cause":"The `azdev` command (e.g., `linter`, `test`) was invoked with a module or extension name that `azdev` cannot find in the configured Azure CLI or extension repositories.","error":"azdev: error: argument {command}: invalid choice: 'my-non-existent-module'"}]}