{"id":23327,"library":"azure-devtools","title":"Azure Python DevTools","description":"Microsoft Azure Development Tools for SDK – provides utilities for CI (Git helpers, GitHub REST API wrapper, issue bot framework), scenario testing (resource management, playback support), and config management. Current version: 1.2.0. Released September 2020, low maintenance cadence.","status":"maintenance","version":"1.2.0","language":"python","source_language":"en","source_url":"https://github.com/Azure/azure-python-devtools","tags":["azure","test-utilities","sdk","scenario-tests"],"install":[{"cmd":"pip install azure-devtools","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Used by config management module","package":"configparser","optional":false},{"reason":"Used for recording/playback in scenario tests","package":"vcrpy","optional":true},{"reason":"Resource management for test cleanup","package":"azure-mgmt-resource","optional":true}],"imports":[{"wrong":"from azure_devtools.scenario_tests.preparers import ResourceGroupPreparer","symbol":"ResourceGroupPreparer","correct":"from azure_devtools.scenario_tests.preparers import ResourceGroupPreparer"}],"quickstart":{"code":"from azure_devtools.scenario_tests.preparers import ResourceGroupPreparer\nfrom azure.mgmt.resource import ResourceManagementClient\nfrom azure.identity import DefaultAzureCredential\nimport os\n\ncredential = DefaultAzureCredential()\nsubscription_id = os.environ.get('AZURE_SUBSCRIPTION_ID', '')\n\n@ResourceGroupPreparer()\ndef test_resource_group(resource_group, **kwargs):\n    client = ResourceManagementClient(credential, subscription_id)\n    rg = client.resource_groups.get(resource_group.name)\n    print(f\"Resource group {rg.name} exists in {rg.location}\")","lang":"python","description":"Example of using ResourceGroupPreparer in a test to create and clean up a resource group."},"warnings":[{"fix":"Ensure resource_group is the first parameter of your test function after self if using pytest or unittest method.","message":"ResourceGroupPreparer only works with positional arguments. If you change the function signature and the resource_group parameter is not the first argument, the preparer will fail silently.","severity":"gotcha","affected_versions":"<=1.2.0"},{"fix":"Migrate to GitHub CLI (`gh`) or Azure DevOps REST API directly.","message":"The ci_tools module (Git helpers, GitHub REST API wrapper) is no longer actively maintained and may be removed in future versions. Prefer dedicated GitHub Actions or Azure DevOps tasks.","severity":"deprecated","affected_versions":"1.1.0 - 1.2.0"},{"fix":"Check your resource cleanup logic; use ResourceGroupPreparer with 'random_name' setting to avoid dependency on deletion order.","message":"In version 1.0.0, the resource removal sequence was reversed. Tests that relied on a specific deletion order may fail or leave resources behind.","severity":"breaking","affected_versions":"<=0.5.5 -> 1.0.0"}],"env_vars":null,"search_vec":"'1.2.0':34 '2020':37 'api':18 'azur':1,5,41 'bot':21 'cadenc':40 'ci':13 'config':30 'current':32 'develop':6 'devtool':3 'framework':22 'git':14 'github':16 'helper':15 'issu':20 'low':38 'mainten':39 'manag':26,31 'microsoft':4 'playback':27 'provid':10 'python':2 'releas':35 'resourc':25 'rest':17 'scenario':23,47 'scenario-test':46 'sdk':9,45 'septemb':36 'support':28 'test':24,43,48 'test-util':42 'tool':7 'util':11,44 'version':33 'wrapper':19","created_at":"2026-05-01T08:07:10.988924+00:00","updated_at":"2026-05-01T08:07:10.988924+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'ResourceGroupPreparer' from 'azure_devtools.scenario_tests.preparers' (/tmp/tmp9mgtetz7/venv/lib/python3.12/site-packages/azure_devtools/scenario_tests/preparers.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.2.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/Azure/azure-python-devtools","docs":null,"changelog":null,"pypi":"https://pypi.org/project/azure-devtools/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["azure","devops","testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}