Microsoft Azure CLI Developer Tools
Microsoft Azure CLI Dev Tools (azdev)
The azdev tool is designed to aid new and experienced developers in contributing to Azure CLI command modules and extensions.
Setting up your development environment
Install Python 3.6+ from http://python.org. Please note that the version of Python that comes preinstalled on OSX is 2.7.
Create a new virtual environment for Python in the root of your clone. You can do this by running:
Python 3.6+ (all platforms):
python -m venv env
python3 -m venv env
Activate the env virtual environment by running:
Install azdev by running:
pip install azdev
Complete setup by running:
This will launch the interactive setup process. To see non-interactive options run azdev setup -h.
Reporting issues and feedback
If you encounter any bugs with the tool please file an issue in the Issues section of our GitHub repo.
This project has adopted the Microsoft Open Source Code of Conduct.
If you would like to become an active contributor to this project please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.
Azure CLI Dev Tools (azdev) Copyright (c) Microsoft Corporation All rights reserved. MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.::
- azdev verify license: Support license for CodeGen V2 (#334)
- azdev test: Revert integrate pytest-cov (#327)
- Remove colorama reference (#321)
- Support Python 3.10 (#319)
- Replace master branch by main branch (#315)
- Drop mock library (#313)
- Add extension repo missing error (#309)
- azdev linter: support to detect commmand groups which are missing in command_group_table (#308)
- Bump pylint to 2.8.2 and move –ignore to pylintrc file (#301)
- Bump pylint to 2.8.0 (#295)
- azdev style: Fix pylint by pinning astroid to 2.4.2 (#294)
- Fix _copy_vendored_sdk for Track 2 SDK (#293)
- Change azure-storage-blob dependency (#290)
- azdev linter: Remove the prefix dashes in option length calculation (#284)
- azdev setup: Show error if pip command fails (#281)
- Support Python 3.9 (#280)
- [Linter] Fix minor display issue in azdev linter.
- [Linter] “Show” command should use show_command or custom_show_command.
- Support PEP420 package
- azdev test: new parameter –mark
- Update the way invoking pytest
- azdev perf benchmark: refine output
- Support PEP420 package
- [Linter] Argument must have an option whose length is less than 22.
- [Linter] Argument cannot contain “_”.
- [Linter] Only violation of high severity rule would exit with 1.
- Minimal pytest version requires at least 5.0.0.
- Hornor the configuration of pylint and flake8 in Azure/azure-cli and Azure/azure-cli-extensions.
- Rename test folder to make place for unittest of other commands.
- Enable test result coverage.
- Fix isort package version to 4.3.21.
- azdev perf benchmark: support new command to calculate each command execution time.
- azdev setup: Fix missing dependencies of azure-cli-testsdk
- Downgrade parameter_should_not_end_in_resource_group’s severity to medium.
- Fix bug that azdev test could not work on Windows with Chinese system language.
Linter Rule Severity: Rules now have an associated severity level. Only high severity rules should be run in CI. All previous rules are annotated as HIGH severity.
- Note: HIGH severity rules are egregious and should generally be fixed, not excluded. LOW severity rules tend to be informational, and might raise false positives. Exclude them via linter_exclusions.yml in the CLI.
azdev linter: Expose –min-severity to support idea of rule severity. New HIGH, MEDIUM and LOW severity rules have also been added.
- azdev setup: Add option –deps-from to allow resolving dependencies from requirements.txt or setup.py. The default changes to requirements.txt.
- azdev test: Add option –no-exit-first to disable pytest exit once failure is detected
- sys.exit(0) when no tests need to run instead of raising CLIError
- Refine the logic of testing against different profiles with ProfileContext
- pytest version limit change to pytest>=4.4.0
- Use AzureDevOpsContext to apply incremental test strategy
- Refine the main flow of azdev test to be more compact and clean
- azdev verify license: fix bug that license verification will omit files while checking extensions
- azdev extension publish: fix issue when –yes if not provided
- azdev verify license: support CodeGen generated License
- Drop Python 2 and Python 3.5 support
- azdev extension build: remove –universal to respect setup.cfg
- relax version limit of microsoft/Knack
- azdev extension publish: add –storage-account-key and remove –storage-subscription
- azdev extension update-index: remove unnecessary warning that will fail this command
- CI: use pip install -e instead in ADO to fix fix import bug
- fix: azdev test cannot be used in python 3.8.1 or later
- fix: azdev test cannot find core tests
- Fix bug: azdev==0.1.5 help commands’ error
- azdev extension add/remove:
- Add ability to supply wildcard (*) to install all available dev extensions.
- Add ability to remove all installed dev extensions.
- azdev setup:
- Add ability to install all extensions using –ext/-e *.
- Add ability to install CLI edge build with –cli/-c EDGE.
- azdev style/test/linter:
- Add special names CLI and EXT to allow running on just CLI modules or just extensions. extensions which have changed based on a git diff.
- azdev linter:
- Added –include-whl-extensions flag to permit running the linter on extensions installed using the az extension add command.
- azdev verify license:
- Command will not check any dev-installed CLI and extension repos. Previously, it only checked the CLI repo.
- New Command:
- azdev cli/extension generate-docs to generate sphinx documentation.
- azdev linter: Fix issue with help example rule.
- azdev style: Omit namespace packages from core modules.
- azdev verify document-map: Updates to work correctly on Linux.
- azdev linter: Fix issue where certain installations would fail on ci_exclusions.yml not found.
- azdev setup: Fix regression where azure.cli could not be run after installation.
- azdev cli/extension create: Fix issue where supporting files were not included. Adjust generation logic.
- Update for compatability with azure-cli 2.0.68’s new package structure.
- BREAKING CHANGE: Removed azdev cli update-setup. Package changes to azure-cli no longer require this.
- BREAKING CHANGE: azdev verify history and azdev cli check-versions no longer accept any arguments. Since there are now far fewer modules, these were deemed unnecessary.
- Added new commands azdev cli create and azdev extension create to scaffold new modules/extensions.
- azdev setup: Tweaks to interactive experience.
- azdev test: Fix issue where using –profile did not use the correct index.
- Changed the behavior to switch back to the original profile upon completion of tests.
- Fix issue where azdev cli check-versions did not accept the short form of a module name.
- Update azdev cli check-versions to allow modules as a positional argument, consistent with other azdev commands.
- Fix issue where azdev test –discover could result in a stack trace when a virtual environment exists within an extensions repo.
- Fix critical bug in azdev setup.
- Adds new commands azdev extension build and azdev extension publish to simplify extension publishing.
- Updates default exclusions for azdev linter when used on extensions.
- Adds a –ci-exclusions flag to azdev linter to emulate CI mode when run locally.
- Fix issue where azdev test –discover could result in a stack trace when a virtual environment exists within a cloned repo.
- Tweaks thresholds for azdev per load-times.
- Changes the behavior of azdev test to, by default, run tests on everything to be consistent with commands like azdev style and azdev linter.
- Removes azdev verify version and splits into two commands azdev cli check-versions and azdev cli update-setup.
- Various modifications to play nicely with azure-cli’s CI build system.
- Revamps azdev perf load-times to reduce spurious failures.
- Initial release
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.