diff --git a/.github/workflows/twine-check.yml b/.github/workflows/twine-check.yml index 6f266786a4e..2cd4c40a082 100644 --- a/.github/workflows/twine-check.yml +++ b/.github/workflows/twine-check.yml @@ -24,10 +24,12 @@ jobs: run: | pip install --upgrade pip setuptools wheel pip install twine>=3.4.1 + # pip install build # add build when implement pyproject.toml - name: Create Source Tarball run: | python3 setup.py sdist + # TBD python3 -m build --sdist # replace with build when implement pyproject.toml - name: Twine check run: | diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000000..b29f29850bf --- /dev/null +++ b/NOTICE @@ -0,0 +1,13 @@ +Copyright 2012-2022 VMware, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/changelog/60476.removed b/changelog/60476.removed new file mode 100644 index 00000000000..e72141263e1 --- /dev/null +++ b/changelog/60476.removed @@ -0,0 +1 @@ +Removed distutils and replaced with setuptools, given distutils is deprecated and removed in Python 3.12 diff --git a/noxfile.py b/noxfile.py index b6f12cc3ab8..f6e5b4f0cec 100644 --- a/noxfile.py +++ b/noxfile.py @@ -1308,6 +1308,7 @@ def lint_salt(session): if session.posargs: paths = session.posargs else: + # TBD replace paths entries when implement pyproject.toml paths = ["setup.py", "noxfile.py", "salt/", "tasks/"] _lint(session, ".pylintrc", flags, paths) diff --git a/requirements/base.txt b/requirements/base.txt index c5da13107bb..4582b13d5b2 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -9,3 +9,10 @@ psutil>=5.0.0 # We need contextvars for salt-ssh contextvars + +# since removal of distutils support +setuptools +looseversion +# pyparsing!=3.0.5,>=2.0.2 +pyparsing==3.0.9 +packaging==21.3 diff --git a/requirements/darwin.txt b/requirements/darwin.txt index 7c3675c9d63..bc4330f0dc7 100644 --- a/requirements/darwin.txt +++ b/requirements/darwin.txt @@ -20,4 +20,4 @@ setproctitle>=1.2.3 ; python_version >= '3.10' timelib>=0.2.5 vultr>=1.0.1 -importlib_metadata>=3.3.0; python_version >= '3.6' and python_version < '3.10' +importlib_metadata>=3.3.0; python_version < '3.10' diff --git a/requirements/static/ci/py3.10/cloud.txt b/requirements/static/ci/py3.10/cloud.txt index 994737fc59d..58629bd754d 100644 --- a/requirements/static/ci/py3.10/cloud.txt +++ b/requirements/static/ci/py3.10/cloud.txt @@ -485,6 +485,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -621,8 +623,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -669,8 +673,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pypsexec==0.1.0 diff --git a/requirements/static/ci/py3.10/darwin.txt b/requirements/static/ci/py3.10/darwin.txt index 7c69329b4c3..cfe49a23097 100644 --- a/requirements/static/ci/py3.10/darwin.txt +++ b/requirements/static/ci/py3.10/darwin.txt @@ -486,6 +486,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in linode-python==1.1.1 # via -r requirements/darwin.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -620,8 +622,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 # via # junos-eznc @@ -669,8 +673,9 @@ pyopenssl==19.0.0 # via # -r requirements/darwin.txt # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -805,7 +810,6 @@ six==1.16.0 # mock # msrestazure # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.10/docs.txt b/requirements/static/ci/py3.10/docs.txt index 05799dfd659..33521800a2f 100644 --- a/requirements/static/ci/py3.10/docs.txt +++ b/requirements/static/ci/py3.10/docs.txt @@ -492,6 +492,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -620,8 +622,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==20.9 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # sphinx paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -673,8 +676,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.10/freebsd.txt b/requirements/static/ci/py3.10/freebsd.txt index 30ce0951768..41cb9b43fcc 100644 --- a/requirements/static/ci/py3.10/freebsd.txt +++ b/requirements/static/ci/py3.10/freebsd.txt @@ -483,6 +483,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -615,8 +617,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -666,8 +670,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -803,7 +808,6 @@ six==1.16.0 # more-itertools # msrestazure # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.10/lint.txt b/requirements/static/ci/py3.10/lint.txt index 7279d2d43d1..5cabb7ed4a6 100644 --- a/requirements/static/ci/py3.10/lint.txt +++ b/requirements/static/ci/py3.10/lint.txt @@ -486,6 +486,8 @@ lazy-object-proxy==1.4.3 # via astroid libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -618,8 +620,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via ansible-core +packaging==21.3 + # via + # -r requirements/base.txt + # ansible-core paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -673,8 +677,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.10/linux.txt b/requirements/static/ci/py3.10/linux.txt index 0075b2b3a0c..be581beb63f 100644 --- a/requirements/static/ci/py3.10/linux.txt +++ b/requirements/static/ci/py3.10/linux.txt @@ -500,6 +500,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -629,8 +631,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -688,8 +691,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -844,7 +848,6 @@ six==1.16.0 # mock # more-itertools # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.10/windows.txt b/requirements/static/ci/py3.10/windows.txt index cca5eef6a67..935d7a5661e 100644 --- a/requirements/static/ci/py3.10/windows.txt +++ b/requirements/static/ci/py3.10/windows.txt @@ -157,6 +157,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -190,8 +192,10 @@ multidict==6.0.2 # yarl ntlm-auth==1.5.0 # via requests-ntlm -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest passlib[bcrypt]==1.7.4 # via -r requirements/static/ci/common.in patch==1.16 @@ -237,8 +241,10 @@ pyopenssl==20.0.1 # via # -r requirements/windows.txt # etcd3-py -pyparsing==2.4.5 - # via packaging +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -358,7 +364,6 @@ six==1.15.0 # jsonschema # kubernetes # mock - # packaging # pyopenssl # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.6/cloud.txt b/requirements/static/ci/py3.6/cloud.txt index 18a7a72f756..4bf0c67bfdc 100644 --- a/requirements/static/ci/py3.6/cloud.txt +++ b/requirements/static/ci/py3.6/cloud.txt @@ -506,6 +506,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -644,8 +646,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -691,8 +695,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pypsexec==0.1.0 diff --git a/requirements/static/ci/py3.6/docs.txt b/requirements/static/ci/py3.6/docs.txt index f661829164a..0e3f45fe6a1 100644 --- a/requirements/static/ci/py3.6/docs.txt +++ b/requirements/static/ci/py3.6/docs.txt @@ -515,6 +515,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -645,8 +647,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==20.9 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # sphinx paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -695,8 +698,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.6/lint.txt b/requirements/static/ci/py3.6/lint.txt index 396699df6b9..8b32e9c5063 100644 --- a/requirements/static/ci/py3.6/lint.txt +++ b/requirements/static/ci/py3.6/lint.txt @@ -511,6 +511,8 @@ lazy-object-proxy==1.4.3 # via astroid libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -645,8 +647,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via ansible-core +packaging==21.3 + # via + # -r requirements/base.txt + # ansible-core paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -697,8 +701,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.6/linux.txt b/requirements/static/ci/py3.6/linux.txt index 295ff8fec56..c5e2ae5746e 100644 --- a/requirements/static/ci/py3.6/linux.txt +++ b/requirements/static/ci/py3.6/linux.txt @@ -521,6 +521,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -652,8 +654,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -710,8 +713,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -866,7 +870,6 @@ six==1.16.0 # mock # more-itertools # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.7/cloud.txt b/requirements/static/ci/py3.7/cloud.txt index cfe936d6428..0bcef48963b 100644 --- a/requirements/static/ci/py3.7/cloud.txt +++ b/requirements/static/ci/py3.7/cloud.txt @@ -511,6 +511,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -660,8 +662,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -711,8 +715,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pypsexec==0.1.0 diff --git a/requirements/static/ci/py3.7/docs.txt b/requirements/static/ci/py3.7/docs.txt index 31bb833d032..54209792e7f 100644 --- a/requirements/static/ci/py3.7/docs.txt +++ b/requirements/static/ci/py3.7/docs.txt @@ -516,6 +516,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -658,8 +660,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==20.9 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # sphinx paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -714,8 +717,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.7/freebsd.txt b/requirements/static/ci/py3.7/freebsd.txt index 54b93b1f703..75e9e872076 100644 --- a/requirements/static/ci/py3.7/freebsd.txt +++ b/requirements/static/ci/py3.7/freebsd.txt @@ -508,6 +508,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -650,8 +652,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -704,8 +708,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -848,7 +853,6 @@ six==1.16.0 # more-itertools # msrestazure # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.7/lint.txt b/requirements/static/ci/py3.7/lint.txt index 4f7837b2bb4..929740f0fb1 100644 --- a/requirements/static/ci/py3.7/lint.txt +++ b/requirements/static/ci/py3.7/lint.txt @@ -512,6 +512,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -658,8 +660,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via ansible-core +packaging==21.3 + # via + # -r requirements/base.txt + # ansible-core paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -716,8 +720,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.7/linux.txt b/requirements/static/ci/py3.7/linux.txt index f2ded3a0de3..b9ed99b11c0 100644 --- a/requirements/static/ci/py3.7/linux.txt +++ b/requirements/static/ci/py3.7/linux.txt @@ -523,6 +523,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -662,8 +664,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -724,8 +727,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -887,7 +891,6 @@ six==1.16.0 # mock # more-itertools # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.7/windows.txt b/requirements/static/ci/py3.7/windows.txt index 555aacb7eb7..86ca459ca46 100644 --- a/requirements/static/ci/py3.7/windows.txt +++ b/requirements/static/ci/py3.7/windows.txt @@ -173,6 +173,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -205,8 +207,10 @@ multidict==6.0.2 # yarl ntlm-auth==1.5.0 # via requests-ntlm -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest passlib[bcrypt]==1.7.4 # via -r requirements/static/ci/common.in patch==1.16 @@ -251,8 +255,10 @@ pyopenssl==20.0.1 # via # -r requirements/windows.txt # etcd3-py -pyparsing==2.4.5 - # via packaging +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -373,7 +379,6 @@ six==1.15.0 # jsonschema # kubernetes # mock - # packaging # pyopenssl # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.8/cloud.txt b/requirements/static/ci/py3.8/cloud.txt index 4dd86e7e530..fdff2b218ae 100644 --- a/requirements/static/ci/py3.8/cloud.txt +++ b/requirements/static/ci/py3.8/cloud.txt @@ -500,6 +500,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -649,8 +651,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -700,8 +704,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pypsexec==0.1.0 diff --git a/requirements/static/ci/py3.8/docs.txt b/requirements/static/ci/py3.8/docs.txt index e02b4ad7cc6..35b6ff84545 100644 --- a/requirements/static/ci/py3.8/docs.txt +++ b/requirements/static/ci/py3.8/docs.txt @@ -507,6 +507,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -649,8 +651,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==20.9 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # sphinx paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -705,8 +708,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.8/freebsd.txt b/requirements/static/ci/py3.8/freebsd.txt index 90ee48549e6..4a08ab3e5b9 100644 --- a/requirements/static/ci/py3.8/freebsd.txt +++ b/requirements/static/ci/py3.8/freebsd.txt @@ -498,6 +498,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -640,8 +642,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -694,8 +698,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -838,7 +843,6 @@ six==1.16.0 # more-itertools # msrestazure # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.8/lint.txt b/requirements/static/ci/py3.8/lint.txt index 151b1341de3..eddb9e26a2c 100644 --- a/requirements/static/ci/py3.8/lint.txt +++ b/requirements/static/ci/py3.8/lint.txt @@ -503,6 +503,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -649,8 +651,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via ansible-core +packaging==21.3 + # via + # -r requirements/base.txt + # ansible-core paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -707,8 +711,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.8/linux.txt b/requirements/static/ci/py3.8/linux.txt index b7e02ed5173..ff9e1dda0dc 100644 --- a/requirements/static/ci/py3.8/linux.txt +++ b/requirements/static/ci/py3.8/linux.txt @@ -513,6 +513,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -652,8 +654,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -714,8 +717,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -877,7 +881,6 @@ six==1.16.0 # mock # more-itertools # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.8/windows.txt b/requirements/static/ci/py3.8/windows.txt index 4129f4d2fb8..e6501e4fb50 100644 --- a/requirements/static/ci/py3.8/windows.txt +++ b/requirements/static/ci/py3.8/windows.txt @@ -161,6 +161,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -193,8 +195,10 @@ multidict==6.0.2 # yarl ntlm-auth==1.5.0 # via requests-ntlm -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest passlib[bcrypt]==1.7.4 # via -r requirements/static/ci/common.in patch==1.16 @@ -239,8 +243,10 @@ pyopenssl==20.0.1 # via # -r requirements/windows.txt # etcd3-py -pyparsing==2.4.5 - # via packaging +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -361,7 +367,6 @@ six==1.15.0 # jsonschema # kubernetes # mock - # packaging # pyopenssl # python-dateutil # pyvmomi diff --git a/requirements/static/ci/py3.9/cloud.txt b/requirements/static/ci/py3.9/cloud.txt index f0689506a51..048eb6e9d4c 100644 --- a/requirements/static/ci/py3.9/cloud.txt +++ b/requirements/static/ci/py3.9/cloud.txt @@ -500,6 +500,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -649,8 +651,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -703,8 +707,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pypsexec==0.1.0 diff --git a/requirements/static/ci/py3.9/darwin.txt b/requirements/static/ci/py3.9/darwin.txt index 22d4db17831..df2f05115d3 100644 --- a/requirements/static/ci/py3.9/darwin.txt +++ b/requirements/static/ci/py3.9/darwin.txt @@ -456,7 +456,7 @@ idna==2.8 # yarl immutables==0.15 # via contextvars -importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10" +importlib-metadata==4.6.4 ; python_version < "3.10" # via -r requirements/darwin.txt iniconfig==1.0.1 # via pytest @@ -501,6 +501,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in linode-python==1.1.1 # via -r requirements/darwin.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -645,8 +647,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 # via # junos-eznc @@ -700,8 +704,9 @@ pyopenssl==19.0.0 # via # -r requirements/darwin.txt # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -843,7 +848,6 @@ six==1.16.0 # mock # msrestazure # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.9/docs.txt b/requirements/static/ci/py3.9/docs.txt index bb93e047bf3..a53727aa4e1 100644 --- a/requirements/static/ci/py3.9/docs.txt +++ b/requirements/static/ci/py3.9/docs.txt @@ -505,6 +505,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -647,8 +649,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==20.9 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # sphinx paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -706,8 +709,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.9/freebsd.txt b/requirements/static/ci/py3.9/freebsd.txt index 1add34208e8..005159ee523 100644 --- a/requirements/static/ci/py3.9/freebsd.txt +++ b/requirements/static/ci/py3.9/freebsd.txt @@ -498,6 +498,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -640,8 +642,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -697,8 +701,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/freebsd.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -841,7 +846,6 @@ six==1.16.0 # more-itertools # msrestazure # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.9/lint.txt b/requirements/static/ci/py3.9/lint.txt index de7bd7c125b..c3ea3e154ec 100644 --- a/requirements/static/ci/py3.9/lint.txt +++ b/requirements/static/ci/py3.9/lint.txt @@ -501,6 +501,8 @@ libnacl==1.8.0 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in loguru==0.6.0 # via ciscoconfparse +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -647,8 +649,10 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.1 # via certvalidator -packaging==21.0 - # via ansible-core +packaging==21.3 + # via + # -r requirements/base.txt + # ansible-core paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" # via # -r requirements/static/ci/common.in @@ -708,8 +712,9 @@ pyopenssl==20.0.1 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.7 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.18.0 diff --git a/requirements/static/ci/py3.9/linux.txt b/requirements/static/ci/py3.9/linux.txt index bd2429f81aa..df37d7c463d 100644 --- a/requirements/static/ci/py3.9/linux.txt +++ b/requirements/static/ci/py3.9/linux.txt @@ -515,6 +515,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.7.1 ; sys_platform != "win32" and sys_platform != "darwin" # via -r requirements/static/ci/common.in +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via # junos-eznc @@ -654,8 +656,9 @@ oauthlib==3.2.1 # via requests-oauthlib oscrypto==1.2.0 # via certvalidator -packaging==19.2 +packaging==21.3 # via + # -r requirements/base.txt # ansible-core # pytest paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin" @@ -719,8 +722,9 @@ pyopenssl==19.1.0 # via # -r requirements/static/pkg/linux.in # etcd3-py -pyparsing==2.4.5 +pyparsing==3.0.9 # via + # -r requirements/base.txt # junos-eznc # packaging pyrsistent==0.17.3 @@ -882,7 +886,6 @@ six==1.16.0 # mock # more-itertools # ncclient - # packaging # paramiko # pynacl # pyopenssl diff --git a/requirements/static/ci/py3.9/windows.txt b/requirements/static/ci/py3.9/windows.txt index c7e455d0240..b296d730f90 100644 --- a/requirements/static/ci/py3.9/windows.txt +++ b/requirements/static/ci/py3.9/windows.txt @@ -161,6 +161,8 @@ kubernetes==3.0.0 # via -r requirements/static/ci/common.in libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -193,8 +195,10 @@ multidict==6.0.2 # yarl ntlm-auth==1.5.0 # via requests-ntlm -packaging==19.2 - # via pytest +packaging==21.3 + # via + # -r requirements/base.txt + # pytest passlib[bcrypt]==1.7.4 # via -r requirements/static/ci/common.in patch==1.16 @@ -240,8 +244,10 @@ pyopenssl==20.0.1 # via # -r requirements/windows.txt # etcd3-py -pyparsing==2.4.5 - # via packaging +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging pyrsistent==0.17.3 # via jsonschema pytest-custom-exit-code==0.3.0 @@ -362,7 +368,6 @@ six==1.15.0 # jsonschema # kubernetes # mock - # packaging # pyopenssl # python-dateutil # pyvmomi diff --git a/requirements/static/pkg/py3.10/darwin.txt b/requirements/static/pkg/py3.10/darwin.txt index bfa9297f65c..a439c481a7c 100644 --- a/requirements/static/pkg/py3.10/darwin.txt +++ b/requirements/static/pkg/py3.10/darwin.txt @@ -51,6 +51,8 @@ jmespath==1.0.1 # via -r requirements/base.txt linode-python==1.1.1 # via -r requirements/darwin.txt +looseversion==1.0.2 + # via -r requirements/base.txt mako==1.2.2 # via -r requirements/darwin.txt markupsafe==2.0.1 @@ -66,6 +68,8 @@ more-itertools==8.2.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.6 # via cherrypy psutil==5.8.0 @@ -80,6 +84,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.0.0 # via -r requirements/darwin.txt +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.0 # via -r requirements/darwin.txt python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.10/freebsd.txt b/requirements/static/pkg/py3.10/freebsd.txt index 946d0fb748d..5845455ba5a 100644 --- a/requirements/static/pkg/py3.10/freebsd.txt +++ b/requirements/static/pkg/py3.10/freebsd.txt @@ -41,6 +41,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -53,6 +55,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -65,6 +69,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/freebsd.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.10/linux.txt b/requirements/static/pkg/py3.10/linux.txt index 882bd8d07f6..93c296ef5ca 100644 --- a/requirements/static/pkg/py3.10/linux.txt +++ b/requirements/static/pkg/py3.10/linux.txt @@ -41,6 +41,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -53,6 +55,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -65,6 +69,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/linux.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.10/windows.txt b/requirements/static/pkg/py3.10/windows.txt index ffc449527f5..ed21f579f64 100644 --- a/requirements/static/pkg/py3.10/windows.txt +++ b/requirements/static/pkg/py3.10/windows.txt @@ -53,6 +53,8 @@ jmespath==1.0.1 # via -r requirements/base.txt libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -70,6 +72,8 @@ more-itertools==8.2.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.6 # via cherrypy psutil==5.8.0 @@ -89,6 +93,10 @@ pymysql==1.0.2 # via -r requirements/windows.txt pyopenssl==20.0.1 # via -r requirements/windows.txt +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/windows.txt python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.6/linux.txt b/requirements/static/pkg/py3.6/linux.txt index 3e46ceac4b1..796990cd0d2 100644 --- a/requirements/static/pkg/py3.6/linux.txt +++ b/requirements/static/pkg/py3.6/linux.txt @@ -45,6 +45,8 @@ jinja2==3.0.3 # via -r requirements/base.txt jmespath==0.10.0 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -57,6 +59,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -67,6 +71,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/linux.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.7/freebsd.txt b/requirements/static/pkg/py3.7/freebsd.txt index 003a3c58b83..c5432576603 100644 --- a/requirements/static/pkg/py3.7/freebsd.txt +++ b/requirements/static/pkg/py3.7/freebsd.txt @@ -43,6 +43,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -55,6 +57,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -65,6 +69,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/freebsd.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.7/linux.txt b/requirements/static/pkg/py3.7/linux.txt index a6645d4c9d1..68781678611 100644 --- a/requirements/static/pkg/py3.7/linux.txt +++ b/requirements/static/pkg/py3.7/linux.txt @@ -41,6 +41,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -53,6 +55,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -63,6 +67,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/linux.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.7/windows.txt b/requirements/static/pkg/py3.7/windows.txt index a340ae0589b..4040646d600 100644 --- a/requirements/static/pkg/py3.7/windows.txt +++ b/requirements/static/pkg/py3.7/windows.txt @@ -57,6 +57,8 @@ jmespath==1.0.1 # via -r requirements/base.txt libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -74,6 +76,8 @@ more-itertools==8.2.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.6 # via cherrypy psutil==5.8.0 @@ -93,6 +97,10 @@ pymysql==1.0.2 # via -r requirements/windows.txt pyopenssl==20.0.1 # via -r requirements/windows.txt +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/windows.txt python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.8/freebsd.txt b/requirements/static/pkg/py3.8/freebsd.txt index 632da3530b4..a7cca08b335 100644 --- a/requirements/static/pkg/py3.8/freebsd.txt +++ b/requirements/static/pkg/py3.8/freebsd.txt @@ -43,6 +43,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -55,6 +57,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -65,6 +69,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/freebsd.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.8/linux.txt b/requirements/static/pkg/py3.8/linux.txt index cc82512a6c2..1f46e0b6423 100644 --- a/requirements/static/pkg/py3.8/linux.txt +++ b/requirements/static/pkg/py3.8/linux.txt @@ -41,6 +41,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -53,6 +55,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -63,6 +67,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/linux.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.8/windows.txt b/requirements/static/pkg/py3.8/windows.txt index 1ba53adb476..d63133d7936 100644 --- a/requirements/static/pkg/py3.8/windows.txt +++ b/requirements/static/pkg/py3.8/windows.txt @@ -55,6 +55,8 @@ jmespath==1.0.1 # via -r requirements/base.txt libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -72,6 +74,8 @@ more-itertools==8.2.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.6 # via cherrypy psutil==5.8.0 @@ -91,6 +95,10 @@ pymysql==1.0.2 # via -r requirements/windows.txt pyopenssl==20.0.1 # via -r requirements/windows.txt +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/windows.txt python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.9/darwin.txt b/requirements/static/pkg/py3.9/darwin.txt index 152b63de380..ecb470038a4 100644 --- a/requirements/static/pkg/py3.9/darwin.txt +++ b/requirements/static/pkg/py3.9/darwin.txt @@ -34,7 +34,7 @@ idna==2.8 # requests immutables==0.15 # via contextvars -importlib-metadata==4.6.4 ; python_version >= "3.6" and python_version < "3.10" +importlib-metadata==4.6.4 ; python_version < "3.10" # via -r requirements/darwin.txt jaraco.classes==3.2.1 # via jaraco.collections @@ -53,6 +53,8 @@ jmespath==1.0.1 # via -r requirements/base.txt linode-python==1.1.1 # via -r requirements/darwin.txt +looseversion==1.0.2 + # via -r requirements/base.txt mako==1.2.2 # via -r requirements/darwin.txt markupsafe==2.0.1 @@ -68,6 +70,8 @@ more-itertools==8.2.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.6 # via cherrypy psutil==5.8.0 @@ -82,6 +86,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.0.0 # via -r requirements/darwin.txt +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.0 # via -r requirements/darwin.txt python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.9/freebsd.txt b/requirements/static/pkg/py3.9/freebsd.txt index 73cdf90b28d..5f8ad7335ca 100644 --- a/requirements/static/pkg/py3.9/freebsd.txt +++ b/requirements/static/pkg/py3.9/freebsd.txt @@ -43,6 +43,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -55,6 +57,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -67,6 +71,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/freebsd.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/freebsd.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.9/linux.txt b/requirements/static/pkg/py3.9/linux.txt index 6012fdd037b..5c299b2b4cc 100644 --- a/requirements/static/pkg/py3.9/linux.txt +++ b/requirements/static/pkg/py3.9/linux.txt @@ -41,6 +41,8 @@ jinja2==3.1.0 # via -r requirements/base.txt jmespath==1.0.1 # via -r requirements/base.txt +looseversion==1.0.2 + # via -r requirements/base.txt markupsafe==2.0.1 # via # -r requirements/base.txt @@ -53,6 +55,8 @@ more-itertools==5.0.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.4 # via cherrypy psutil==5.8.0 @@ -65,6 +69,10 @@ pycryptodomex==3.9.8 # via -r requirements/crypto.txt pyopenssl==19.1.0 # via -r requirements/static/pkg/linux.in +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/static/pkg/linux.in python-gnupg==0.4.8 diff --git a/requirements/static/pkg/py3.9/windows.txt b/requirements/static/pkg/py3.9/windows.txt index c3bda5be3c4..9f959df3c19 100644 --- a/requirements/static/pkg/py3.9/windows.txt +++ b/requirements/static/pkg/py3.9/windows.txt @@ -55,6 +55,8 @@ jmespath==1.0.1 # via -r requirements/base.txt libnacl==1.8.0 # via -r requirements/windows.txt +looseversion==1.0.2 + # via -r requirements/base.txt lxml==4.9.1 # via -r requirements/windows.txt mako==1.2.2 @@ -72,6 +74,8 @@ more-itertools==8.2.0 # jaraco.functools msgpack==1.0.2 # via -r requirements/base.txt +packaging==21.3 + # via -r requirements/base.txt portend==2.6 # via cherrypy psutil==5.8.0 @@ -91,6 +95,10 @@ pymysql==1.0.2 # via -r requirements/windows.txt pyopenssl==20.0.1 # via -r requirements/windows.txt +pyparsing==3.0.9 + # via + # -r requirements/base.txt + # packaging python-dateutil==2.8.1 # via -r requirements/windows.txt python-gnupg==0.4.8 diff --git a/salt/modules/debuild_pkgbuild.py b/salt/modules/debuild_pkgbuild.py index b34dd030fd5..b63f0b3f183 100644 --- a/salt/modules/debuild_pkgbuild.py +++ b/salt/modules/debuild_pkgbuild.py @@ -408,7 +408,7 @@ def make_src_pkg(dest_dir, spec, sources, env=None, saltenv="base", runas="root" return ret - # obtain name of 'python setup.py sdist' generated tarball, extract the version + # obtain name of 'sdist' generated tarball, extract the version # and manipulate the name for debian use (convert minix and add '+ds') salttarball = None for afile in os.listdir(tree_base): diff --git a/salt/modules/virtualenv_mod.py b/salt/modules/virtualenv_mod.py index a94a22b00eb..c82f8722731 100644 --- a/salt/modules/virtualenv_mod.py +++ b/salt/modules/virtualenv_mod.py @@ -347,9 +347,11 @@ def get_site_packages(venv): """ bin_path = _verify_virtualenv(venv) + # note: platlib and purelib could differ ret = __salt__["cmd.exec_code_all"]( bin_path, - "from distutils import sysconfig; print(sysconfig.get_python_lib())", + ## DGM "from distutils import sysconfig; print(sysconfig.get_python_lib())", + 'import sysconfig; print(sysconfig.get_path("purelib"))', ) if ret["retcode"] != 0: diff --git a/salt/utils/pkg/win.py b/salt/utils/pkg/win.py index 954dda1fb79..42e095f5bfb 100644 --- a/salt/utils/pkg/win.py +++ b/salt/utils/pkg/win.py @@ -75,8 +75,8 @@ except ImportError: try: from salt.utils.versions import LooseVersion except ImportError: - from distutils.version import LooseVersion # pylint: disable=blacklisted-module - + ## DGM from distutils.version import LooseVersion # pylint: disable=blacklisted-module + from looseversion import LooseVersion # pylint: disable=too-many-instance-attributes diff --git a/setup.py b/setup.py old mode 100755 new mode 100644 index ec62c2ff8c3..92c18dc80bf --- a/setup.py +++ b/setup.py @@ -12,6 +12,7 @@ import glob import os import platform import sys +import warnings from ctypes.util import find_library from datetime import datetime @@ -224,14 +225,22 @@ class WriteSaltVersion(Command): salt_version = ( __saltstack_version__ # pylint: disable=undefined-variable ) + ## print( + ## f"DGM setup write_salt_version a salt_version '{salt_version}', __saltstack_version__ '{__saltstack_version__}'" + ## ) else: from salt.version import SaltStackVersion salt_version = SaltStackVersion.parse( self.distribution.with_salt_version ) + ## print(f"DGM setup write_salt_version b salt_version '{salt_version}'") # pylint: disable=E0602 + print( + f"DGM setup write_salt_version all versions '{salt_version.full_info_all_versions}'" + ) + open(self.distribution.salt_version_hardcoded_path, "w").write( INSTALL_VERSION_TEMPLATE.format( date=DATE, full_version_info=salt_version.full_info_all_versions @@ -906,6 +915,7 @@ class SaltDistribution(distutils.dist.Distribution): ) def __init__(self, attrs=None): + print(f"DGM setup __init__ attrs'{attrs}'") distutils.dist.Distribution.__init__(self, attrs) self.ssh_packaging = PACKAGED_FOR_SALT_SSH @@ -935,6 +945,7 @@ class SaltDistribution(distutils.dist.Distribution): self.with_salt_version = None self.name = "salt-ssh" if PACKAGED_FOR_SALT_SSH else "salt" + ## print(f"DGM setup __init__ __version__ '{__version__}'") self.salt_version = __version__ # pylint: disable=undefined-variable self.description = ( "Portable, distributed, remote execution and configuration management" @@ -943,17 +954,16 @@ class SaltDistribution(distutils.dist.Distribution): with open(SALT_LONG_DESCRIPTION_FILE, encoding="utf-8") as f: self.long_description = f.read() self.long_description_content_type = "text/x-rst" - self.python_requires = ">=3.5" + self.python_requires = ">=3.7" self.classifiers = [ "Programming Language :: Python", "Programming Language :: Cython", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", @@ -1366,6 +1376,8 @@ class SaltDistribution(distutils.dist.Distribution): # <---- Custom Distribution Class ------------------------------------------------------------------------------------ - if __name__ == "__main__": + warnings.warn( + "Warning: distutils is deprecated and shall be removed in Python 3.12, advise migrate to using setuptools" + ) setup(distclass=SaltDistribution) diff --git a/tests/buildpackage.py b/tests/buildpackage.py index d6dd901f7ff..108cd729a0b 100644 --- a/tests/buildpackage.py +++ b/tests/buildpackage.py @@ -211,6 +211,8 @@ def _run_command(args): def _make_sdist(opts, python_bin="python"): os.chdir(opts.source_dir) + + # TBD replace with build when implement pyproject.toml stdout, stderr, rcode = _run_command([python_bin, "setup.py", "sdist"]) if rcode == 0: # Find the sdist with the most recently-modified metadata diff --git a/tests/kitchen/test_kitchen.py b/tests/kitchen/test_kitchen.py index 8479867fff4..d4c285d7b42 100644 --- a/tests/kitchen/test_kitchen.py +++ b/tests/kitchen/test_kitchen.py @@ -29,6 +29,8 @@ class KitchenTestCase(TestCase): cls.topdir = "/" + os.path.join(*CURRENT_DIR.split("/")[:-2]) cls.use_vt = int(os.environ.get("TESTS_LOG_LEVEL")) >= 5 cmd.run("python setup.py sdist", cwd=cls.topdir) + # TBD cmd.run("python -m pip install --upgrade build") # add build when implement pyproject.toml + # TBD cmd.run("python -m build --sdist {}".format(cls.topdir)) # replace with build when implement pyproject.toml cmd.run("bundle install", cwd=CURRENT_DIR) cls.env = { "KITCHEN_YAML": os.path.join(CURRENT_DIR, ".kitchen.yml"), diff --git a/tests/pytests/functional/states/pkgrepo/test_debian.py b/tests/pytests/functional/states/pkgrepo/test_debian.py index dee1d745fce..adbea008951 100644 --- a/tests/pytests/functional/states/pkgrepo/test_debian.py +++ b/tests/pytests/functional/states/pkgrepo/test_debian.py @@ -4,6 +4,7 @@ import os import pathlib import shutil import sys +from sysconfig import get_path import _pytest._version import attr @@ -12,11 +13,6 @@ import pytest import salt.utils.files from tests.conftest import CODE_DIR -try: - from sysconfig import get_python_lib # pylint: disable=no-name-in-module -except ImportError: - from distutils.sysconfig import get_python_lib - PYTEST_GE_7 = getattr(_pytest._version, "version_tuple", (-1, -1)) >= (7, 0) @@ -139,7 +135,9 @@ def system_aptsources(request, grains): "{}".format(*sys.version_info), "{}.{}".format(*sys.version_info), ] - session_site_packages_dir = get_python_lib() + session_site_packages_dir = get_path( + "purelib" + ) # note: platlib and purelib could differ session_site_packages_dir = os.path.relpath( session_site_packages_dir, str(CODE_DIR) ) diff --git a/tests/pytests/scenarios/setup/test_install.py b/tests/pytests/scenarios/setup/test_install.py index 6c416870006..3e5d211ac37 100644 --- a/tests/pytests/scenarios/setup/test_install.py +++ b/tests/pytests/scenarios/setup/test_install.py @@ -273,6 +273,7 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir): # Setuptools installs pre-release packages if we don't pin to an exact version # Let's download and install requirements before, running salt's install test + print(f"DGM test_sdist cache_dir '{cache_dir}', src_dir '{src_dir}'") venv.run( venv.venv_python, "-m", @@ -296,6 +297,7 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir): fname.unlink() continue packages.append(fname) + print(f"DGM test_sdist packages '{packages}'") venv.install(*[str(pkg) for pkg in packages]) for package in packages: package.unlink() @@ -307,6 +309,7 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir): # pre-installed before installing salt venv.install("pycurl==7.43.0.5") + print(f"DGM test_sdist for sdist cache_dir '{cache_dir}', src_dir '{src_dir}'") venv.run( venv.venv_python, "setup.py", @@ -315,9 +318,21 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir): str(cache_dir), cwd=src_dir, ) + + ## dgm_dir = "/home/david/tmp_salt_gen" + ## print(f"DGM test_sdist for sdist dgm_dir '{dgm_dir}', src_dir '{src_dir}'") + ## venv.run( + ## venv.venv_python, + ## "setup.py", + ## "sdist", + ## "--dist-dir", + ## dgm_dir, + ## cwd=src_dir, + ## ) venv.run(venv.venv_python, "setup.py", "clean", cwd=src_dir) salt_generated_package = list(cache_dir.glob("*.tar.gz")) + print(f"DGM test_sdist salt_generated_package '{salt_generated_package}'") if not salt_generated_package: pytest.fail("Could not find the generated sdist file") salt_generated_package = salt_generated_package[0] @@ -327,12 +342,25 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir): sdist_ver_cmp = salt_generated_package.name.split(".tar.gz")[0].split("salt-")[ -1 ] + dgm_version = dir(salt.version) + print( + f"DGM test_sdist dgm_version '{dgm_version}', sdist_ver_cmp '{sdist_ver_cmp}', salt.version.__version__ '{salt.version.__version__}'" + ) assert sdist_ver_cmp == salt.version.__version__, "{} != {}".format( sdist_ver_cmp, salt.version.__version__ ) + print( + f"DGM test_sdist venv.install salt_generated_package '{salt_generated_package}'" + ) + cmd = venv.run(venv.venv_python, "-m", "pip", "list", "--format", "json") + print(f"DGM test_sdist pre-install pip3 list output '{cmd}'") venv.install(str(salt_generated_package)) + ## dgm_abspath = "/home/david/tmp_salt_manual/salt-3005.1+1561.g7e544dd3bd.tar.gz" + ## print(f"DGM test_sdist attempting install with dgm_abspath '{dgm_abspath}'") + ## venv.install(dgm_abspath) + # Let's also ensure we have a salt/_version.py from the installed salt wheel subdir = [ "lib", @@ -347,12 +375,17 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir): installed_salt_path = installed_salt_path.joinpath(*subdir) assert installed_salt_path.is_dir() salt_generated_version_file_path = installed_salt_path / "_version.py" + print( + f"DGM test_sdist salt_generated_version_file_path '{salt_generated_version_file_path}'" + ) assert salt_generated_version_file_path.is_file() with salt_generated_version_file_path.open() as rfh: + print("DGM _version.py contents to follow:") log.debug("_version.py contents:\n >>>>>>\n%s\n <<<<<<", rfh.read()) # Let's ensure the version is correct cmd = venv.run(venv.venv_python, "-m", "pip", "list", "--format", "json") + print(f"DGM test_sdist pip3 list output '{cmd.stdout}'") for details in json.loads(cmd.stdout): if details["name"] != "salt": continue @@ -362,6 +395,10 @@ def test_sdist(virtualenv, cache_dir, use_static_requirements, src_dir): pytest.fail("Salt was not found installed") # Let's compare the installed version with the version salt reports + dgm_version = dir(salt.version) + print( + f"DGM test_sdist dgm_version '{dgm_version}', installed_version '{installed_version}', salt.version.__version__ '{salt.version.__version__}'" + ) assert installed_version == salt.version.__version__, "{} != {}".format( installed_version, salt.version.__version__ ) diff --git a/tests/support/helpers.py b/tests/support/helpers.py index 024bedb129f..8274edac5ae 100644 --- a/tests/support/helpers.py +++ b/tests/support/helpers.py @@ -1605,6 +1605,7 @@ class VirtualEnv: setuptools_requirement = attr.ib( default="setuptools!=50.*,!=51.*,!=52.*", repr=False ) + # TBD build_requirement = attr.ib(default="build!=0.6.*", repr=False) # add build when implement pyproject.toml environ = attr.ib(init=False, repr=False) venv_python = attr.ib(init=False, repr=False) venv_bin_dir = attr.ib(init=False, repr=False) @@ -1642,7 +1643,18 @@ class VirtualEnv: shutil.rmtree(str(self.venv_dir), ignore_errors=True) def install(self, *args, **kwargs): - return self.run(self.venv_python, "-m", "pip", "install", *args, **kwargs) + print(f"DGM helper install args '{args}, kwargs '{kwargs}'") + return self.run( + self.venv_python, + "-m", + "pip", + "-vvv", + "install", + "--ignore-installed", + "--force-reinstall", + *args, + **kwargs, + ) def uninstall(self, *args, **kwargs): return self.run( @@ -1741,7 +1753,12 @@ class VirtualEnv: cmd.append("--system-site-packages") cmd.append(str(self.venv_dir)) self.run(*cmd, cwd=str(self.venv_dir.parent)) - self.install("-U", self.pip_requirement, self.setuptools_requirement) + self.install( + "-U", + self.pip_requirement, + self.setuptools_requirement, + # TBD self.build_requirement, # add build when implement pyproject.toml + ) log.debug("Created virtualenv in %s", self.venv_dir)