55
66# In all cases, whenever we install an azure-* package from a requirement (read: not a specific file), the only source will be from the dev feed.
77# once we've downloaded these dependencies, only then do we install other packages from pypi.
8-
9- # INSTALLER SELECTION:
10- # You can control which pip implementation is used by setting the TOX_PIP_IMPL environment variable:
11- # - TOX_PIP_IMPL=pip (default) - Uses standard pip for package installation
12- # - TOX_PIP_IMPL=uv - Uses uv pip for faster package installation
13- #
14- # Example usage:
15- # tox -e pylint # Use standard pip (default)
16- # TOX_PIP_IMPL=pip tox -e pylint # Use standard pip explicitly
17- # TOX_PIP_IMPL=uv tox -e pylint # Use uv for faster installation
18-
198[tox]
209requires =
2110 # Ensure that we're running a version of tox compatible with this config
@@ -24,16 +13,13 @@ requires=
2413 tox>=4.4.10
2514# note that this envlist is the default set of environments that will run if a target environment is not selected.
2615envlist = whl,sdist
27- # Environment variable controlled installer configuration
28- # Set TOX_PIP_IMPL=uv pip to use uv pip, or TOX_PIP_IMPL=pip (default) to use standard pip
29- pip_impl = {env:TOX_PIP_IMPL:python -m pip}
30- pip_command = {[tox]pip_impl}
3116
3217
3318[tools]
3419deps =
3520 -r {repository_root}/eng/test_tools.txt
3621
22+
3723[coverage:paths]
3824source =
3925 azure
@@ -55,46 +41,43 @@ deps =
5541
5642[packaging]
5743pkgs =
58- wheel ==0.45.1
59- packaging ==24.2
60- urllib3 ==2.2.3
61- tomli ==2.2.1
62- build ==1.2.2.post1
44+ wheel ==0.43.0
45+ packaging ==23.1
46+ urllib3 ==1.26.15
47+ tomli ==2.0.1
6348
6449[pytest]
65- ignore_args =--ignore =.tox --ignore =build --ignore =.eggs -- ignore =samples
50+ ignore_args =--ignore =.tox --ignore =build --ignore =.eggs
6651default_args = -rsfE --junitxml ={tox_root}/test-junit-{envname}.xml --verbose --cov-branch --durations =10 --ignore =azure {[pytest]ignore_args} --log-cli-level ={pytest_log_level}
6752
6853[testenv]
69- uv_seed = true
7054parallel_show_output =True
7155skip_install = true
7256skipsdist = true
7357usedevelop = false
7458passenv = *
7559download =true
76- # Allow both pip and uv as external commands since we support both via TOX_PIP_IMPL
77- allowlist_externals = uv,pip
7860requires =
7961 {[packaging]pkgs}
8062setenv =
8163 SPHINX_APIDOC_OPTIONS =members,undoc-members,inherited-members
64+ PIP_EXTRA_INDEX_URL =https://pypi.python.org/simple
8265 PROXY_URL =http://localhost:5000
83- VIRTUALENV_WHEEL =0.45.1
66+ VIRTUALENV_WHEEL =0.37.0
8467 VIRTUALENV_PIP =24.0
85- VIRTUALENV_SETUPTOOLS =75.3.2
86- PIP_EXTRA_INDEX_URL =https://pypi.python.org/simple
68+ VIRTUALENV_SETUPTOOLS =67.6.0
8769deps = {[base]deps}
88- install_command = {[tox]pip_command} install {opts} {packages} --cache-dir {tox_root}/../.tox_pip_cache_{envname}
70+ install_command = python -m pip install {opts} {packages} --cache-dir {tox_root}/../.tox_pip_cache_{envname}
8971commands =
72+ python -m pip --version
9073 python {repository_root}/eng/tox/create_package_and_install.py -d {envtmpdir} -p {tox_root} -w {envtmpdir}
74+ python -m pip freeze
9175 pytest {[pytest]default_args} {posargs} {tox_root}
92- python {repository_root}/eng/tox/run_coverage.py -t {tox_root} -r {repository_root}
9376
9477
9578[testenv:pylint]
9679description =Lints a package with pylint (version {[testenv:pylint]pylint_version})
97- pylint_version =3.2.7
80+ pylint_version =3.0.3
9881skipsdist = true
9982skip_install = true
10083usedevelop = false
@@ -107,8 +90,8 @@ setenv =
10790deps =
10891 -rdev_requirements.txt
10992commands =
110- {[tox]pip_command} install pylint =={[testenv:pylint]pylint_version}
111- {[tox]pip_command} install azure-pylint-guidelines-checker ==0.5.6 --index-url =" https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
93+ python -m pip install pylint =={[testenv:pylint]pylint_version}
94+ python -m pip install azure-pylint-guidelines-checker ==0.3.1 --index-url =" https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
11295 python {repository_root}/eng/tox/create_package_and_install.py \
11396 -d {envtmpdir}/dist \
11497 -p {tox_root} \
@@ -118,7 +101,7 @@ commands =
118101
119102[testenv:next-pylint]
120103description =Lints a package with pylint (version {[testenv:next-pylint]pylint_version})
121- pylint_version =3.3.6
104+ pylint_version =3.1.0
122105skipsdist = true
123106skip_install = true
124107usedevelop = false
@@ -132,8 +115,8 @@ deps =
132115 -rdev_requirements.txt
133116 PyGitHub>=1.59.0
134117commands =
135- {[tox]pip_command} install pylint =={[testenv:next-pylint]pylint_version}
136- {[tox]pip_command} install azure-pylint-guidelines-checker ==0.5.6 --index-url =" https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
118+ python -m pip install pylint =={[testenv:next-pylint]pylint_version}
119+ python -m pip install azure-pylint-guidelines-checker ==0.4.1 --index-url =" https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
137120 python {repository_root}/eng/tox/create_package_and_install.py \
138121 -d {envtmpdir}/dist \
139122 -p {tox_root} \
@@ -162,7 +145,7 @@ commands =
162145
163146[testenv:mypy]
164147description =Typechecks a package with mypy (version {[testenv:mypy]mypy_version})
165- mypy_version =1.14.1
148+ mypy_version =1.8.0
166149skipsdist = true
167150skip_install = true
168151usedevelop = true
@@ -187,7 +170,7 @@ commands =
187170
188171[testenv:next-mypy]
189172description =Typechecks a package with the latest version of mypy
190- mypy_version =1.14.1
173+ mypy_version =1.9.0
191174skipsdist = true
192175skip_install = true
193176usedevelop = true
@@ -214,7 +197,7 @@ commands =
214197
215198[testenv:pyright]
216199description =Typechecks a package with pyright (version {[testenv:pyright]pyright_version})
217- pyright_version =1.1.391
200+ pyright_version =1.1.350
218201skipsdist = true
219202skip_install = true
220203usedevelop = true
@@ -236,7 +219,7 @@ commands =
236219
237220[testenv:next-pyright]
238221description =Typechecks a package with the latest version of static type-checker pyright
239- pyright_version =1.1.391
222+ pyright_version =1.1.359
240223skipsdist = true
241224skip_install = true
242225usedevelop = true
@@ -288,10 +271,10 @@ setenv =
288271 {[testenv]setenv}
289272 PROXY_URL =http://localhost:5004
290273commands =
291- - {[tox]pip_command} uninstall aiohttp --yes
274+ - python -m pip uninstall aiohttp --yes
292275 python {repository_root}/eng/tox/create_package_and_install.py -d {envtmpdir} -p {tox_root} -w {envtmpdir}
293276 python {repository_root}/eng/tox/try_import.py aiohttp -p {tox_root}
294- {[tox]pip_command} freeze
277+ python -m pip freeze
295278 pytest {[pytest]default_args} --ignore-glob =' *async*.py' {posargs} --no-cov {tox_root}
296279
297280
@@ -313,7 +296,7 @@ commands =
313296 -p {tox_root} \
314297 -w {envtmpdir} \
315298 --package-type sdist
316- {[tox]pip_command} freeze
299+ python -m pip freeze
317300 pytest {posargs} --no-cov {[pytest]ignore_args} {tox_root}
318301
319302
@@ -341,9 +324,9 @@ setenv =
341324 PROXY_URL =http://localhost:5007
342325deps =
343326 {[base]deps}
344- sphinx ==8 .2.0
345- sphinx_rtd_theme ==3.0.2
346- myst_parser ==4 .0.1
327+ sphinx ==6 .2.1
328+ sphinx_rtd_theme ==1. 3.0
329+ myst_parser ==2 .0.0
347330 sphinxcontrib-jquery ==4.1
348331commands =
349332 python {repository_root}/eng/tox/create_package_and_install.py \
@@ -359,8 +342,8 @@ commands =
359342 -r {tox_root}
360343
361344
362- [testenv:next -sphinx]
363- description =" Builds a package's documentation with the next version of sphinx"
345+ [testenv:strict -sphinx]
346+ description =" Builds a package's documentation with strict sphinx"
364347skipsdist = true
365348skip_install = true
366349passenv = *
@@ -369,9 +352,9 @@ setenv =
369352 PROXY_URL =http://localhost:5023
370353deps =
371354 {[base]deps}
372- sphinx ==8 .2.0
373- sphinx_rtd_theme ==3.0.2
374- myst_parser ==4 .0.1
355+ sphinx ==6 .2.1
356+ sphinx_rtd_theme ==1. 3.0
357+ myst_parser ==2 .0.0
375358 sphinxcontrib-jquery ==4.1
376359 PyGitHub>=1.59.0
377360commands =
@@ -385,8 +368,8 @@ commands =
385368 python {repository_root}/eng/tox/run_sphinx_build.py \
386369 -w {envtmpdir}/dist/unzipped/docgen \
387370 -o {envtmpdir}/dist/site \
388- -r {tox_root}
389-
371+ -r {tox_root} \
372+ --strict true
390373
391374[testenv:depends]
392375description = Ensures all modules in a target package can be successfully imported
@@ -396,12 +379,12 @@ setenv =
396379deps =
397380 {[packaging]pkgs}
398381commands =
399- {[tox]pip_command} install {repository_root}/tools/azure-sdk-tools --no-deps
382+ python -m pip install {repository_root}/tools/azure-sdk-tools --no-deps
400383 python {repository_root}/eng/tox/create_package_and_install.py \
401384 -d {envtmpdir} \
402385 -p {tox_root} \
403386 -w {envtmpdir}
404- {[tox]pip_command} freeze
387+ python -m pip freeze
405388 python {repository_root}/eng/tox/import_all.py -t {tox_root}
406389
407390
@@ -415,7 +398,7 @@ setenv =
415398deps =
416399 {[packaging]pkgs}
417400commands =
418- {[tox]pip_command} install {repository_root}/tools/azure-sdk-tools --no-deps
401+ python -m pip install {repository_root}/tools/azure-sdk-tools --no-deps
419402 python {repository_root}/eng/tox/create_package_and_install.py -d {envtmpdir} -p {tox_root} --skip-install True
420403 python {repository_root}/eng/tox/verify_whl.py -d {envtmpdir} -t {tox_root}
421404
@@ -425,12 +408,13 @@ description=Verify directories included in sdist and contents in manifest file.
425408skipsdist = true
426409skip_install = true
427410setenv =
428- {[testenv]setenv} PROXY_URL =http://localhost:5010
411+ {[testenv]setenv}
412+ PROXY_URL =http://localhost:5010
429413deps =
430414 {[packaging]pkgs}
431415commands =
432- {[tox]pip_command} install {repository_root}/tools/azure-sdk-tools --no-deps
433- sdk_build_package --package_folder {tox_root} - d {envtmpdir} --package_type sdist
416+ python -m pip install {repository_root}/tools/azure-sdk-tools --no-deps
417+ python {tox_root}/setup.py --q sdist - d {envtmpdir}
434418 python {repository_root}/eng/tox/verify_sdist.py -d {envtmpdir} -t {tox_root}
435419
436420
@@ -450,7 +434,7 @@ commands =
450434commands =
451435 python {repository_root}/eng/tox/install_depend_packages.py -t {tox_root} -d {env:DEPENDENCY_TYPE:} -w {envtmpdir}
452436 python {repository_root}/eng/tox/create_package_and_install.py -d {envtmpdir} -p {tox_root} -w {envtmpdir} --pre-download-disabled
453- {[tox]pip_command} freeze
437+ python -m pip freeze
454438 python {repository_root}/eng/tox/verify_installed_packages.py --packages-file {envtmpdir}/packages.txt
455439 pytest {[pytest]default_args} {posargs} --no-cov {tox_root}
456440
@@ -499,8 +483,8 @@ deps =
499483 {[base]deps}
500484commands =
501485 # install API stub generator
502- {[tox]pip_command} install -r {repository_root}/eng/apiview_reqs.txt --index-url =" https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
503- {[tox]pip_command} freeze
486+ python -m pip install -r {repository_root}/eng/apiview_reqs.txt --index-url =" https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
487+ python -m pip freeze
504488 python {repository_root}/eng/tox/run_apistubgen.py -t {tox_root} -w {envtmpdir} {posargs}
505489
506490
@@ -515,8 +499,14 @@ setenv =
515499 PROXY_URL =http://localhost:5015
516500deps =
517501 {[base]deps}
502+ importlib-metadata<5.0
518503commands =
519- {[tox]pip_command} freeze
504+ python {repository_root}/eng/tox/create_package_and_install.py \
505+ -d {envtmpdir} \
506+ -p {tox_root} \
507+ -w {envtmpdir} \
508+ --package-type sdist
509+ python -m pip freeze
520510 python {repository_root}/eng/tox/run_bandit.py -t {tox_root}
521511
522512
@@ -533,7 +523,7 @@ deps =
533523 {[base]deps}
534524 subprocess32; python_version < '3.5'
535525commands =
536- {[tox]pip_command} freeze
526+ python -m pip freeze
537527 python {repository_root}/scripts/devops_tasks/test_run_samples.py -t {tox_root}
538528
539529
@@ -568,17 +558,17 @@ commands =
568558 -p {tox_root} \
569559 -w {envtmpdir} \
570560 --package-type sdist
571- python {repository_root}/scripts/breaking_changes_checker/detect_breaking_changes.py -t {tox_root} {posargs}
561+ python {repository_root}/scripts/breaking_changes_checker/detect_breaking_changes.py -t {tox_root}
572562
573563
574564[testenv:black]
575565description =Runs the code formatter black
576566skip_install =true
577567deps =
578568 black ==24.4.0
579- -rdev_requirements.txt
580569commands =
581- python {repository_root}/eng/tox/run_black.py -t {tox_root}
570+ black --config {repository_root}/eng/black-pyproject.toml {posargs}
571+
582572
583573[testenv:generate]
584574description =Regenerate the code
@@ -599,5 +589,5 @@ setenv =
599589 {[testenv]setenv}
600590 PROXY_URL =http://localhost:5018
601591commands =
602- {[tox]pip_command} install {toxinidir}/../../../tools/azure-sdk-tools[build]
592+ {envbindir}/python -m pip install {toxinidir}/../../../tools/azure-sdk-tools[build]
603593 python {repository_root}/eng/tox/run_optional.py -t {toxinidir} --temp ={envtmpdir} {posargs}
0 commit comments