Drop Python 3.7 support.

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
Pedro Algarvio 2023-06-03 09:26:26 +01:00 committed by Pedro Algarvio
parent d988dfb5b2
commit e18d829f36
24 changed files with 101 additions and 3622 deletions

View file

@ -50,7 +50,7 @@ jobs:
- name: Check ALL Files On Branch
if: github.event_name != 'pull_request'
env:
SKIP: lint-salt,lint-tests,remove-import-headers,rstcheck
SKIP: lint-salt,lint-tests,remove-import-headers,pyupgrade
run: |
pre-commit run --show-diff-on-failure --color=always --all-files

View file

@ -94,19 +94,6 @@ repos:
hooks:
# ----- Packaging Requirements ------------------------------------------------------------------------------------>
- id: pip-tools-compile
alias: compile-pkg-linux-3.7-zmq-requirements
name: Linux Packaging Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.7/linux\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-linux-3.8-zmq-requirements
name: Linux Packaging Py3.8 ZeroMQ Requirements
@ -159,19 +146,6 @@ repos:
- --include=requirements/zeromq.txt
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.7-zmq-requirements
name: FreeBSD Packaging Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.7/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- requirements/static/pkg/freebsd.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.8-zmq-requirements
name: FreeBSD Packaging Py3.8 ZeroMQ Requirements
@ -260,18 +234,6 @@ repos:
- --include=requirements/darwin.txt
- requirements/static/pkg/darwin.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.7-zmq-requirements
name: Windows Packaging Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.7/windows\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=windows
- --include=requirements/windows.txt
- requirements/static/pkg/windows.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.8-zmq-requirements
name: Windows Packaging Py3.8 ZeroMQ Requirements
@ -323,23 +285,6 @@ repos:
# <---- Packaging Requirements -------------------------------------------------------------------------------------
# ----- CI Requirements ------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-linux-3.7-zmq-requirements
name: Linux CI Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|pkg/py3\.7/linux\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/linux.txt
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-3.8-zmq-requirements
name: Linux CI Py3.8 ZeroMQ Requirements
@ -408,19 +353,6 @@ repos:
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/linux.txt
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.7-requirements
name: Linux CI Py3.7 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.7/linux-crypto\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=linux
- --out-prefix=linux
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/linux.txt
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.8-requirements
name: Linux CI Py3.8 Crypto Requirements
@ -475,23 +407,6 @@ repos:
- --pip-args=--constraint=requirements/static/ci/py{py_version}/linux.txt
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.7-zmq-requirements
name: FreeBSD CI Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|pkg/py3\.7/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/freebsd.in
- --include=requirements/static/ci/common.in
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/freebsd.txt
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.8-zmq-requirements
name: FreeBSD CI Py3.8 ZeroMQ Requirements
@ -560,19 +475,6 @@ repos:
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/freebsd.txt
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.7-requirements
name: FreeBSD CI Py3.7 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.7/freebsd-crypto\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=freebsd
- --out-prefix=freebsd
- --pip-args=--constraint=requirements/static/ci/py{py_version}/freebsd.txt
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.8-requirements
name: FreeBSD CI Py3.8 Crypto Requirements
@ -714,22 +616,6 @@ repos:
- --pip-args=--constraint=requirements/static/ci/py{py_version}/darwin.txt
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-3.7-zmq-requirements
name: Windows CI Py3.7 ZeroMQ Requirements
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|pkg/py3\.7/windows\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=windows
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/windows.txt
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-3.8-zmq-requirements
name: Windows CI Py3.8 ZeroMQ Requirements
@ -794,19 +680,6 @@ repos:
- --pip-args=--constraint=requirements/static/pkg/py{py_version}/windows.txt
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.7-requirements
name: Windows CI Py3.7 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.7/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=windows
- --out-prefix=windows
- --pip-args=--constraint=requirements/static/ci/py{py_version}/windows.txt
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.8-requirements
name: Windows CI Py3.8 Crypto Requirements
@ -863,22 +736,6 @@ repos:
# ----- Cloud CI Requirements ------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-cloud-3.7-requirements
name: Cloud CI Py3.7 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.7/cloud\.txt)))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --pip-args=--constraint=requirements/static/ci/py{py_version}/linux.txt
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-3.8-requirements
name: Cloud CI Py3.8 Requirements
@ -929,19 +786,6 @@ repos:
# <---- Cloud CI Requirements --------------------------------------------------------------------------------------
# ----- Doc CI Requirements --------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.7 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- requirements/static/ci/docs.in
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.8 Requirements
@ -984,23 +828,6 @@ repos:
# <---- Doc CI Requirements ----------------------------------------------------------------------------------------
# ----- Lint CI Requirements -------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-lint-3.7-requirements
name: Lint CI Py3.7 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.7/linux\.txt)))$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/linux.in
- --include=requirements/static/ci/common.in
- --pip-args=--constraint=requirements/static/ci/py{py_version}/linux.txt
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-3.8-requirements
name: Lint CI Py3.8 Requirements
@ -1093,17 +920,6 @@ repos:
# <---- Changelog --------------------------------------------------------------------------------------------------
# ----- Invoke ---------------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-invoke-3.7-requirements
name: Linux CI Py3.7 Invoke Requirements
files: ^requirements/static/ci/(invoke\.in|py3.7/(invoke|linux)\.txt)$
pass_filenames: false
args:
- -v
- --py-version=3.7
- --pip-args=--constraint=requirements/static/ci/py{py_version}/linux.txt
- requirements/static/ci/invoke.in
- id: pip-tools-compile
alias: compile-ci-invoke-3.8-requirements
name: Linux CI Py3.8 Invoke Requirements
@ -1197,8 +1013,8 @@ repos:
rev: v2.37.2
hooks:
- id: pyupgrade
name: Drop six usage and Py2 support
args: [--py3-plus, --keep-mock]
name: Upgrade code for Py3.8+
args: [--py38-plus, --keep-mock]
exclude: >
(?x)^(
salt/client/ssh/ssh_py_shim.py

View file

@ -1,27 +0,0 @@
[rstcheck]
ignore_directives=
automodule,
autoclass,
autofunction,
conf_proxy,
conf_log,
conf_master,
conf_minion,
releasestree,
jinja_ref,
salt:event
ignore_roles=
conf_master,
conf_minion,
conf_proxy,
conf_log,
formula_url,
issue,
pull,
blob,
jinja_ref
ignore_substitutions=
saltrepo,
repo_primary_branch,
windownload,
osxdownloadpy3

View file

@ -104,7 +104,7 @@ def session_warn(session, message):
try:
session.warn(message)
except AttributeError:
session.log("WARNING: {}".format(message))
session.log(f"WARNING: {message}")
def session_run_always(session, *command, **kwargs):
@ -129,15 +129,15 @@ def session_run_always(session, *command, **kwargs):
def find_session_runner(session, name, python_version, onedir=False, **kwargs):
if onedir:
name += "-onedir-{}".format(ONEDIR_PYTHON_PATH)
name += f"-onedir-{ONEDIR_PYTHON_PATH}"
else:
name += "-{}".format(python_version)
name += f"-{python_version}"
for s, _ in session._runner.manifest.list_all_sessions():
if name not in s.signatures:
continue
for signature in s.signatures:
for key, value in kwargs.items():
param = "{}={!r}".format(key, value)
param = f"{key}={value!r}"
if param not in signature:
break
else:
@ -185,10 +185,8 @@ def _get_session_python_version_info(session):
def _get_pydir(session):
version_info = _get_session_python_version_info(session)
if version_info < (3, 5):
session.error("Only Python >= 3.5 is supported")
if IS_WINDOWS and version_info < (3, 6):
session.error("Only Python >= 3.6 is supported on Windows")
if version_info < (3, 8):
session.error("Only Python >= 3.8 is supported")
return "py{}.{}".format(*version_info)
@ -203,7 +201,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
"static",
requirements_type,
pydir,
"{}-windows.txt".format(transport),
f"{transport}-windows.txt",
)
if os.path.exists(_requirements_file):
return _requirements_file
@ -217,7 +215,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
)
if os.path.exists(_requirements_file):
return _requirements_file
session.error("Could not find a windows requirements file for {}".format(pydir))
session.error(f"Could not find a windows requirements file for {pydir}")
elif IS_DARWIN:
if crypto is None:
_requirements_file = os.path.join(
@ -225,7 +223,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
"static",
requirements_type,
pydir,
"{}-darwin.txt".format(transport),
f"{transport}-darwin.txt",
)
if os.path.exists(_requirements_file):
return _requirements_file
@ -239,7 +237,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
)
if os.path.exists(_requirements_file):
return _requirements_file
session.error("Could not find a darwin requirements file for {}".format(pydir))
session.error(f"Could not find a darwin requirements file for {pydir}")
elif IS_FREEBSD:
if crypto is None:
_requirements_file = os.path.join(
@ -247,7 +245,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
"static",
requirements_type,
pydir,
"{}-freebsd.txt".format(transport),
f"{transport}-freebsd.txt",
)
if os.path.exists(_requirements_file):
return _requirements_file
@ -261,7 +259,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
)
if os.path.exists(_requirements_file):
return _requirements_file
session.error("Could not find a freebsd requirements file for {}".format(pydir))
session.error(f"Could not find a freebsd requirements file for {pydir}")
else:
if crypto is None:
_requirements_file = os.path.join(
@ -269,7 +267,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
"static",
requirements_type,
pydir,
"{}-linux.txt".format(transport),
f"{transport}-linux.txt",
)
if os.path.exists(_requirements_file):
return _requirements_file
@ -283,7 +281,7 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
)
if os.path.exists(_requirements_file):
return _requirements_file
session.error("Could not find a linux requirements file for {}".format(pydir))
session.error(f"Could not find a linux requirements file for {pydir}")
def _upgrade_pip_setuptools_and_wheel(session, upgrade=True, onedir=False):
@ -571,7 +569,7 @@ def test_parametrized(session, coverage, transport, crypto):
session.install(*install_command, silent=PIP_INSTALL_SILENT)
cmd_args = [
"--transport={}".format(transport),
f"--transport={transport}",
] + session.posargs
_pytest(session, coverage=coverage, cmd_args=cmd_args)
@ -1016,7 +1014,7 @@ def _pytest(session, coverage, cmd_args, env=None):
if arg == "--log-file" or arg.startswith("--log-file="):
break
else:
args.append("--log-file={}".format(RUNTESTS_LOGFILE))
args.append(f"--log-file={RUNTESTS_LOGFILE}")
args.extend(cmd_args)
if PRINT_SYSTEM_INFO and "--sysinfo" not in args:
@ -1358,7 +1356,7 @@ def _lint(
session.run("pylint", "--version")
pylint_report_path = os.environ.get("PYLINT_REPORT")
cmd_args = ["pylint", "--rcfile={}".format(rcfile)] + list(flags) + list(paths)
cmd_args = ["pylint", f"--rcfile={rcfile}"] + list(flags) + list(paths)
cmd_kwargs = {"env": {"PYTHONUNBUFFERED": "1"}}
@ -1433,8 +1431,8 @@ def lint(session):
"""
Run PyLint against Salt and it's test suite. Set PYLINT_REPORT to a path to capture output.
"""
session.notify("lint-salt-{}".format(session.python))
session.notify("lint-tests-{}".format(session.python))
session.notify(f"lint-salt-{session.python}")
session.notify(f"lint-tests-{session.python}")
@nox.session(python="3", name="lint-salt")
@ -1498,7 +1496,7 @@ def docs(session, compress, update, clean):
"""
Build Salt's Documentation
"""
session.notify("docs-html-{}(compress={})".format(session.python, compress))
session.notify(f"docs-html-{session.python}(compress={compress})")
session.notify(
find_session_runner(
session,

View file

@ -1,538 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/cloud.txt --pip-args='--constraint=requirements/static/ci/py3.7/linux.txt' requirements/base.txt requirements/pytest.txt requirements/static/ci/cloud.in requirements/static/ci/common.in requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.8.1
# via etcd3-py
aiosignal==1.2.0
# via aiohttp
apache-libcloud==2.5.0 ; sys_platform != "win32"
# via
# -r requirements/static/ci/cloud.in
# -r requirements/static/ci/common.in
asn1crypto==1.4.0
# via
# certvalidator
# oscrypto
async-timeout==4.0.2
# via aiohttp
asynctest==0.13.0
# via aiohttp
attrs==21.2.0
# via
# aiohttp
# jsonschema
# pytest
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
backports.entry-points-selectable==1.1.0
# via virtualenv
bcrypt==3.2.0
# via
# paramiko
# passlib
boto3==1.21.46 ; python_version >= "3.6"
# via
# -r requirements/static/ci/common.in
# moto
boto==2.49.0
# via -r requirements/static/ci/common.in
botocore==1.24.46
# via
# boto3
# moto
# s3transfer
cachetools==4.2.2
# via google-auth
cassandra-driver==3.25.0
# via -r requirements/static/ci/common.in
certifi==2022.12.7
# via
# -r requirements/static/ci/common.in
# kubernetes
# requests
certvalidator==0.11.1
# via vcert
cffi==1.14.6
# via
# -r requirements/static/ci/common.in
# bcrypt
# cryptography
# napalm
# pynacl
charset-normalizer==2.0.12
# via
# aiohttp
# requests
cheetah3==3.2.6.post1
# via -r requirements/static/ci/common.in
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via
# -r requirements/static/ci/common.in
# -r requirements/static/pkg/linux.in
ciscoconfparse==1.5.46
# via napalm
click==8.0.1
# via geomet
clustershell==1.8.3
# via -r requirements/static/ci/common.in
colorama==0.4.4
# via ciscoconfparse
contextvars==2.4
# via -r requirements/base.txt
croniter==1.0.15 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
cryptography==39.0.2
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
# moto
# paramiko
# pyopenssl
# pyspnego
# requests-ntlm
# smbprotocol
# vcert
distlib==0.3.3
# via virtualenv
distro==1.6.0
# via
# -r requirements/base.txt
# pytest-skip-markers
dnspython==2.1.0
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
# python-etcd
docker==5.0.2
# via
# -r requirements/static/ci/common.in
# pytest-salt-factories
etcd3-py==0.1.6 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
exceptiongroup==1.0.4
# via pytest
filelock==3.0.12
# via virtualenv
flaky==3.7.0
# via -r requirements/pytest.txt
frozenlist==1.3.0
# via
# aiohttp
# aiosignal
future==0.18.3
# via
# napalm
# textfsm
genshi==0.7.5
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.7
# via gitpython
gitpython==3.1.30 ; python_version >= "3.7"
# via -r requirements/static/ci/common.in
google-auth==2.1.0
# via kubernetes
idna==2.8
# via
# etcd3-py
# requests
# yarl
immutables==0.16
# via contextvars
importlib-metadata==4.8.1
# via
# -r requirements/static/pkg/linux.in
# backports.entry-points-selectable
# click
# jsonschema
# mako
# moto
# pluggy
# pytest
# virtualenv
iniconfig==1.1.1
# via pytest
ipaddress==1.0.23
# via kubernetes
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.4.0
# via cherrypy
jaraco.functools==3.3.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.1
# via jaraco.collections
jinja2==3.1.2
# via
# -r requirements/base.txt
# junos-eznc
# moto
# napalm
jmespath==0.10.0
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# boto3
# botocore
jsonschema==3.2.0
# via -r requirements/static/ci/common.in
junos-eznc==2.4.0 ; sys_platform != "win32" and python_version <= "3.10"
# via
# -r requirements/static/ci/common.in
# napalm
jxmlease==1.0.3 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
kazoo==2.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
keyring==5.7.1
# via -r requirements/static/ci/common.in
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
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
# napalm
# ncclient
mako==1.2.2
# via -r requirements/static/ci/common.in
markupsafe==2.1.2
# via
# -r requirements/base.txt
# jinja2
# mako
# moto
# werkzeug
mock==4.0.3
# via -r requirements/pytest.txt
more-itertools==8.8.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
moto==3.0.1 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
msgpack==1.0.2
# via
# -r requirements/base.txt
# pytest-salt-factories
multidict==6.0.2
# via
# aiohttp
# yarl
napalm==3.3.1 ; sys_platform != "win32" and python_version > "3.6" and python_version < "3.10"
# via -r requirements/static/ci/common.in
ncclient==0.6.12
# via
# junos-eznc
# napalm
netaddr==0.7.19
# via
# -r requirements/static/ci/cloud.in
# junos-eznc
# napalm
# pyeapi
netmiko==3.4.0
# via napalm
ntc-templates==2.3.2
# via
# junos-eznc
# netmiko
ntlm-auth==1.3.0
# via requests-ntlm
oscrypto==1.2.1
# via certvalidator
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
# junos-eznc
# napalm
# ncclient
# netmiko
# scp
passlib[bcrypt]==1.7.4
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
platformdirs==2.3.0
# via virtualenv
pluggy==1.0.0
# via pytest
portend==2.7.1
# via cherrypy
profitbricks==4.1.3
# via -r requirements/static/ci/cloud.in
psutil==5.8.0
# via
# -r requirements/base.txt
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pyasn1-modules==0.2.8
# via google-auth
pyasn1==0.4.8
# via
# pyasn1-modules
# rsa
pycparser==2.19
# via cffi
pycryptodomex==3.10.1
# via -r requirements/crypto.txt
pyeapi==0.8.4
# via napalm
pyinotify==0.9.6 ; sys_platform != "win32" and sys_platform != "darwin" and platform_system != "openbsd"
# via -r requirements/static/ci/common.in
pynacl==1.4.0
# via paramiko
pyopenssl==23.0.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==3.0.9
# via
# junos-eznc
# packaging
pypsexec==0.1.0
# via -r requirements/static/ci/cloud.in
pyrsistent==0.18.0
# via jsonschema
pyserial==3.5
# via
# junos-eznc
# netmiko
pyspnego==0.8.0
# via
# -r requirements/static/ci/cloud.in
# smbprotocol
pytest-custom-exit-code==0.3.0
# via -r requirements/pytest.txt
pytest-helpers-namespace==2021.4.29
# via
# -r requirements/pytest.txt
# pytest-salt-factories
# pytest-shell-utilities
pytest-httpserver==1.0.4
# via -r requirements/pytest.txt
pytest-salt-factories[docker]==1.0.0rc21 ; sys_platform != "win32"
# via -r requirements/pytest.txt
pytest-shell-utilities==1.6.0
# via pytest-salt-factories
pytest-skip-markers==1.2.0
# via
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pytest-subtests==0.5.0
# via -r requirements/pytest.txt
pytest-system-statistics==1.0.2
# via pytest-salt-factories
pytest-tempdir==2019.10.12
# via
# -r requirements/pytest.txt
# pytest-salt-factories
pytest-timeout==2.0.2
# via -r requirements/pytest.txt
pytest==7.2.0 ; python_version > "3.6"
# via
# -r requirements/pytest.txt
# pytest-custom-exit-code
# pytest-helpers-namespace
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-subtests
# pytest-system-statistics
# pytest-tempdir
# pytest-timeout
python-dateutil==2.8.2
# via
# -r requirements/static/pkg/linux.in
# botocore
# croniter
# kubernetes
# moto
# vcert
python-etcd==0.4.5
# via -r requirements/static/ci/common.in
python-gnupg==0.4.8
# via -r requirements/static/pkg/linux.in
pytz==2022.1
# via
# moto
# tempora
pyvmomi==7.0.2
# via -r requirements/static/ci/common.in
pywinrm==0.3.0
# via -r requirements/static/ci/cloud.in
pyyaml==5.4.1
# via
# -r requirements/base.txt
# clustershell
# junos-eznc
# kubernetes
# napalm
# yamlordereddictloader
pyzmq==23.2.0 ; python_version < "3.11"
# via
# -r requirements/zeromq.txt
# pytest-salt-factories
requests-ntlm==1.1.0
# via pywinrm
requests==2.31.0
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# apache-libcloud
# docker
# etcd3-py
# kubernetes
# moto
# napalm
# profitbricks
# pyvmomi
# pywinrm
# requests-ntlm
# responses
# vcert
responses==0.14.0
# via moto
rfc3987==1.3.8
# via -r requirements/static/ci/common.in
rpm-vercmp==0.1.2
# via -r requirements/static/pkg/linux.in
rsa==4.7.2
# via google-auth
s3transfer==0.5.0
# via boto3
scp==0.14.1
# via
# junos-eznc
# napalm
# netmiko
semantic-version==2.9.0
# via etcd3-py
setproctitle==1.3.2
# via -r requirements/static/pkg/linux.in
six==1.16.0
# via
# bcrypt
# cassandra-driver
# cheroot
# etcd3-py
# genshi
# geomet
# jsonschema
# junos-eznc
# kazoo
# kubernetes
# ncclient
# paramiko
# profitbricks
# pynacl
# pypsexec
# python-dateutil
# pyvmomi
# pywinrm
# responses
# textfsm
# transitions
# vcert
# virtualenv
# websocket-client
smbprotocol==1.10.1
# via
# -r requirements/static/ci/cloud.in
# pypsexec
smmap==4.0.0
# via gitdb
sqlparse==0.4.4
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in
tempora==4.1.1
# via portend
tenacity==8.0.1
# via netmiko
textfsm==1.1.2
# via
# napalm
# ntc-templates
timelib==0.2.5
# via -r requirements/static/pkg/linux.in
toml==0.10.2
# via -r requirements/static/ci/common.in
tomli==2.0.1
# via pytest
tornado==6.2.0 ; python_version < "3.8"
# via -r requirements/base.txt
transitions==0.8.9
# via junos-eznc
typing-extensions==3.10.0.0
# via
# aiohttp
# async-timeout
# gitpython
# immutables
# importlib-metadata
# pytest-shell-utilities
# pytest-system-statistics
# yarl
urllib3==1.26.6
# via
# botocore
# kubernetes
# python-etcd
# requests
# responses
vcert==0.7.4 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
virtualenv==20.8.0
# via
# -r requirements/static/ci/common.in
# pytest-salt-factories
watchdog==2.1.5
# via -r requirements/static/ci/common.in
websocket-client==0.40.0
# via
# docker
# kubernetes
werkzeug==2.2.3
# via
# moto
# pytest-httpserver
xmltodict==0.12.0
# via
# moto
# pywinrm
yamlordereddictloader==0.4.0
# via junos-eznc
yarl==1.7.2
# via aiohttp
zc.lockfile==2.0
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,214 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/docs.txt requirements/base.txt requirements/static/ci/docs.in requirements/zeromq.txt
#
alabaster==0.7.12
# via sphinx
babel==2.9.1
# via sphinx
certifi==2022.12.7
# via
# -c requirements/static/ci/py3.7/linux.txt
# requests
charset-normalizer==2.0.12
# via
# -c requirements/static/ci/py3.7/linux.txt
# requests
cheroot==8.5.2
# via
# -c requirements/static/ci/py3.7/linux.txt
# cherrypy
cherrypy==18.6.1
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/static/ci/docs.in
contextvars==2.4
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
distro==1.5.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
docutils==0.16
# via sphinx
idna==2.8
# via
# -c requirements/static/ci/py3.7/linux.txt
# requests
imagesize==1.2.0
# via sphinx
immutables==0.15
# via
# -c requirements/static/ci/py3.7/linux.txt
# contextvars
importlib-metadata==4.6.4
# via
# -c requirements/static/ci/py3.7/linux.txt
# sphinxcontrib-spelling
jaraco.classes==3.2.1
# via
# -c requirements/static/ci/py3.7/linux.txt
# jaraco.collections
jaraco.collections==3.4.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# cherrypy
jaraco.functools==2.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.1
# via
# -c requirements/static/ci/py3.7/linux.txt
# jaraco.collections
jinja2==3.1.2
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
# myst-docutils
# sphinx
jmespath==1.0.1
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
linkify-it-py==1.0.3
# via myst-docutils
looseversion==1.0.2
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
markdown-it-py==2.2.0
# via
# mdit-py-plugins
# myst-docutils
markupsafe==2.1.2
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
# jinja2
mdit-py-plugins==0.3.3
# via myst-docutils
mdurl==0.1.2
# via markdown-it-py
more-itertools==5.0.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
msgpack==1.0.2
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
myst-docutils[linkify]==0.18.1
# via -r requirements/static/ci/docs.in
packaging==21.3
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
# sphinx
portend==2.4
# via
# -c requirements/static/ci/py3.7/linux.txt
# cherrypy
psutil==5.8.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
pycryptodomex==3.9.8
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/crypto.txt
pyenchant==3.2.2
# via sphinxcontrib-spelling
pygments==2.8.1
# via sphinx
pyparsing==3.0.9
# via
# -c requirements/static/ci/py3.7/linux.txt
# packaging
pytz==2022.1
# via
# -c requirements/static/ci/py3.7/linux.txt
# babel
# tempora
pyyaml==5.4.1
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
# myst-docutils
pyzmq==23.2.0 ; python_version < "3.11"
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/zeromq.txt
requests==2.31.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
# sphinx
six==1.16.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# cheroot
# more-itertools
# sphinxcontrib.httpdomain
snowballstemmer==2.1.0
# via sphinx
sphinx==3.5.2 ; python_version < "3.9"
# via
# -r requirements/static/ci/docs.in
# sphinxcontrib-spelling
# sphinxcontrib.httpdomain
sphinxcontrib-applehelp==1.0.2
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==1.0.3
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.4
# via sphinx
sphinxcontrib-spelling==7.7.0
# via -r requirements/static/ci/docs.in
sphinxcontrib.httpdomain==1.8.1
# via -r requirements/static/ci/docs.in
tempora==4.1.1
# via
# -c requirements/static/ci/py3.7/linux.txt
# portend
tornado==6.2.0 ; python_version < "3.8"
# via
# -c requirements/static/ci/py3.7/linux.txt
# -r requirements/base.txt
typing-extensions==3.10.0.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# importlib-metadata
# markdown-it-py
# myst-docutils
uc-micro-py==1.0.1
# via linkify-it-py
urllib3==1.26.6
# via
# -c requirements/static/ci/py3.7/linux.txt
# requests
zc.lockfile==1.4
# via
# -c requirements/static/ci/py3.7/linux.txt
# cherrypy
zipp==3.5.0
# via
# -c requirements/static/ci/py3.7/linux.txt
# importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,10 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/freebsd-crypto.txt --pip-args='--constraint=requirements/static/ci/py3.7/freebsd.txt' requirements/static/ci/crypto.in
#
m2crypto==0.38.0
# via -r requirements/static/ci/crypto.in
pycryptodome==3.9.7
# via -r requirements/static/ci/crypto.in

View file

@ -1,513 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/freebsd.txt --pip-args='--constraint=requirements/static/pkg/py3.7/freebsd.txt' requirements/base.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/freebsd.in requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
aiohttp==3.8.1
# via etcd3-py
aiosignal==1.2.0
# via aiohttp
apache-libcloud==2.5.0 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
asn1crypto==1.3.0
# via
# certvalidator
# oscrypto
async-timeout==4.0.2
# via aiohttp
asynctest==0.13.0
# via aiohttp
attrs==20.3.0
# via
# aiohttp
# jsonschema
# pytest
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
backports.entry-points-selectable==1.1.0
# via virtualenv
bcrypt==3.1.6
# via
# paramiko
# passlib
boto3==1.21.46 ; python_version >= "3.6"
# via
# -r requirements/static/ci/common.in
# moto
boto==2.49.0
# via -r requirements/static/ci/common.in
botocore==1.24.46
# via
# boto3
# moto
# s3transfer
cachetools==3.1.0
# via google-auth
cassandra-driver==3.24.0
# via -r requirements/static/ci/common.in
certifi==2022.12.7
# via
# -r requirements/static/ci/common.in
# kubernetes
# requests
certvalidator==0.11.1
# via vcert
cffi==1.14.6
# via
# -r requirements/static/ci/common.in
# bcrypt
# cryptography
# napalm
# pygit2
# pynacl
charset-normalizer==2.0.12
# via
# aiohttp
# requests
cheetah3==3.2.6.post2
# via -r requirements/static/ci/common.in
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via
# -r requirements/static/ci/common.in
# -r requirements/static/pkg/freebsd.in
ciscoconfparse==1.5.19
# via napalm
click==7.1.2
# via geomet
clustershell==1.8.3
# via -r requirements/static/ci/common.in
colorama==0.4.3
# via ciscoconfparse
contextvars==2.4
# via -r requirements/base.txt
croniter==0.3.29 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
cryptography==39.0.2
# via
# etcd3-py
# moto
# paramiko
# pyopenssl
# vcert
distlib==0.3.2
# via virtualenv
distro==1.5.0
# via
# -r requirements/base.txt
# -r requirements/static/pkg/freebsd.in
# pytest-skip-markers
dnspython==1.16.0
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
# python-etcd
docker==5.0.3
# via
# -r requirements/static/ci/common.in
# pytest-salt-factories
etcd3-py==0.1.6 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
exceptiongroup==1.0.4
# via pytest
filelock==3.0.12
# via virtualenv
flaky==3.7.0
# via -r requirements/pytest.txt
frozenlist==1.3.0
# via
# aiohttp
# aiosignal
future==0.18.3
# via
# napalm
# textfsm
genshi==0.7.5
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.5
# via gitpython
gitpython==3.1.30 ; python_version >= "3.7"
# via -r requirements/static/ci/common.in
google-auth==1.6.3
# via kubernetes
hglib==2.6.1
# via -r requirements/static/ci/freebsd.in
idna==2.8
# via
# etcd3-py
# requests
# yarl
immutables==0.15
# via contextvars
importlib-metadata==4.6.4
# via
# -r requirements/static/pkg/freebsd.in
# backports.entry-points-selectable
# jsonschema
# mako
# moto
# pluggy
# pytest
# virtualenv
iniconfig==1.0.1
# via pytest
ipaddress==1.0.22
# via kubernetes
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.4.0
# via cherrypy
jaraco.functools==2.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.1
# via jaraco.collections
jinja2==3.1.2
# via
# -r requirements/base.txt
# junos-eznc
# moto
# napalm
jmespath==1.0.1
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# boto3
# botocore
jsonschema==3.2.0
# via -r requirements/static/ci/common.in
junos-eznc==2.4.0 ; sys_platform != "win32" and python_version <= "3.10"
# via
# -r requirements/static/ci/common.in
# napalm
jxmlease==1.0.1 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
kazoo==2.6.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
keyring==5.7.1
# via -r requirements/static/ci/common.in
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
# napalm
# ncclient
mako==1.2.2
# via -r requirements/static/ci/common.in
markupsafe==2.1.2
# via
# -r requirements/base.txt
# jinja2
# mako
# moto
# werkzeug
mercurial==6.0.1
# via -r requirements/static/ci/freebsd.in
mock==3.0.5
# via -r requirements/pytest.txt
more-itertools==5.0.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
moto==3.0.1 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
msgpack==1.0.2
# via
# -r requirements/base.txt
# pytest-salt-factories
multidict==6.0.2
# via
# aiohttp
# yarl
napalm==3.1.0 ; sys_platform != "win32" and python_version > "3.6" and python_version < "3.10"
# via -r requirements/static/ci/common.in
ncclient==0.6.4
# via junos-eznc
netaddr==0.7.19
# via
# junos-eznc
# napalm
# pyeapi
netmiko==3.2.0
# via napalm
ntc-templates==1.4.0
# via junos-eznc
oscrypto==1.2.0
# via certvalidator
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
# junos-eznc
# napalm
# ncclient
# netmiko
# scp
passlib[bcrypt]==1.7.4
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
pathspec==0.9.0
# via yamllint
pathtools==0.1.2
# via watchdog
platformdirs==2.2.0
# via virtualenv
pluggy==0.13.0
# via pytest
portend==2.4
# via cherrypy
psutil==5.8.0
# via
# -r requirements/base.txt
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pyasn1-modules==0.2.4
# via google-auth
pyasn1==0.4.8
# via
# pyasn1-modules
# rsa
pycparser==2.17
# via cffi
pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyeapi==0.8.3
# via napalm
pygit2==1.8.0 ; python_version >= "3.7"
# via -r requirements/static/ci/freebsd.in
pyinotify==0.9.6 ; sys_platform != "win32" and sys_platform != "darwin" and platform_system != "openbsd"
# via -r requirements/static/ci/common.in
pynacl==1.3.0
# via paramiko
pyopenssl==23.0.0
# via
# -r requirements/static/pkg/freebsd.in
# etcd3-py
pyparsing==3.0.9
# via
# junos-eznc
# packaging
pyrsistent==0.17.3
# via jsonschema
pyserial==3.4
# via
# junos-eznc
# netmiko
pytest-custom-exit-code==0.3.0
# via -r requirements/pytest.txt
pytest-helpers-namespace==2021.4.29
# via
# -r requirements/pytest.txt
# pytest-salt-factories
# pytest-shell-utilities
pytest-httpserver==1.0.4
# via -r requirements/pytest.txt
pytest-salt-factories[docker]==1.0.0rc21 ; sys_platform != "win32"
# via -r requirements/pytest.txt
pytest-shell-utilities==1.6.0
# via pytest-salt-factories
pytest-skip-markers==1.2.0
# via
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pytest-subtests==0.4.0
# via -r requirements/pytest.txt
pytest-system-statistics==1.0.2
# via pytest-salt-factories
pytest-tempdir==2019.10.12
# via
# -r requirements/pytest.txt
# pytest-salt-factories
pytest-timeout==1.4.2
# via -r requirements/pytest.txt
pytest==7.2.0 ; python_version > "3.6"
# via
# -r requirements/pytest.txt
# pytest-custom-exit-code
# pytest-helpers-namespace
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-subtests
# pytest-system-statistics
# pytest-tempdir
# pytest-timeout
python-dateutil==2.8.1
# via
# -r requirements/static/pkg/freebsd.in
# botocore
# croniter
# kubernetes
# moto
# vcert
python-etcd==0.4.5
# via -r requirements/static/ci/common.in
python-gnupg==0.4.8
# via -r requirements/static/pkg/freebsd.in
pytz==2022.1
# via
# moto
# tempora
pyvmomi==6.7.1.2018.12
# via -r requirements/static/ci/common.in
pyyaml==5.4.1
# via
# -r requirements/base.txt
# clustershell
# junos-eznc
# kubernetes
# napalm
# yamllint
# yamlordereddictloader
pyzmq==23.2.0 ; python_version < "3.11"
# via
# -r requirements/zeromq.txt
# pytest-salt-factories
requests==2.31.0
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# apache-libcloud
# docker
# etcd3-py
# kubernetes
# moto
# napalm
# pyvmomi
# responses
# vcert
responses==0.10.6
# via moto
rfc3987==1.3.8
# via -r requirements/static/ci/common.in
rsa==4.7.2
# via google-auth
s3transfer==0.5.2
# via boto3
scp==0.13.2
# via
# junos-eznc
# napalm
# netmiko
semantic-version==2.9.0
# via etcd3-py
setproctitle==1.3.2
# via -r requirements/static/pkg/freebsd.in
six==1.16.0
# via
# bcrypt
# cassandra-driver
# cheroot
# etcd3-py
# genshi
# geomet
# google-auth
# jsonschema
# junos-eznc
# kazoo
# kubernetes
# mock
# more-itertools
# ncclient
# paramiko
# pynacl
# python-dateutil
# pyvmomi
# responses
# textfsm
# transitions
# vcert
# virtualenv
# websocket-client
smmap==3.0.4
# via gitdb
sqlparse==0.4.4
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in
tempora==4.1.1
# via portend
terminal==0.4.0
# via ntc-templates
textfsm==1.1.0
# via
# napalm
# netmiko
# ntc-templates
timelib==0.2.5
# via -r requirements/static/pkg/freebsd.in
toml==0.10.2
# via -r requirements/static/ci/common.in
tomli==2.0.1
# via pytest
tornado==6.2.0 ; python_version < "3.8"
# via -r requirements/base.txt
transitions==0.8.1
# via junos-eznc
typing-extensions==3.10.0.0
# via
# aiohttp
# async-timeout
# gitpython
# importlib-metadata
# pytest-shell-utilities
# pytest-system-statistics
# yarl
urllib3==1.26.6
# via
# botocore
# kubernetes
# python-etcd
# requests
vcert==0.7.4 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
virtualenv==20.7.2
# via
# -r requirements/static/ci/common.in
# pytest-salt-factories
watchdog==0.10.3
# via -r requirements/static/ci/common.in
websocket-client==0.40.0
# via
# docker
# kubernetes
werkzeug==2.2.3
# via
# moto
# pytest-httpserver
xmltodict==0.12.0
# via moto
yamllint==1.26.3
# via -r requirements/static/ci/freebsd.in
yamlordereddictloader==0.4.0
# via junos-eznc
yarl==1.7.2
# via aiohttp
zc.lockfile==1.4
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,14 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/invoke.txt --pip-args='--constraint=requirements/static/ci/py3.7/linux.txt' requirements/static/ci/invoke.in
#
blessings==1.7
# via -r requirements/static/ci/invoke.in
invoke==1.4.1
# via -r requirements/static/ci/invoke.in
pyyaml==5.4.1
# via -r requirements/static/ci/invoke.in
six==1.16.0
# via blessings

View file

@ -1,513 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/lint.txt --pip-args='--constraint=requirements/static/ci/py3.7/linux.txt' requirements/base.txt requirements/static/ci/common.in requirements/static/ci/lint.in requirements/static/ci/linux.in requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.8.1
# via etcd3-py
aiosignal==1.2.0
# via aiohttp
ansible-core==2.11.4
# via ansible
ansible==4.4.0 ; python_version < "3.9"
# via -r requirements/static/ci/linux.in
apache-libcloud==3.3.1 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
apscheduler==3.6.3
# via python-telegram-bot
asn1crypto==1.4.0
# via
# certvalidator
# oscrypto
astroid==2.3.3
# via pylint
async-timeout==4.0.2
# via aiohttp
asynctest==0.13.0
# via aiohttp
attrs==21.2.0
# via
# aiohttp
# jsonschema
backports.entry-points-selectable==1.1.0
# via virtualenv
backports.zoneinfo==0.2.1
# via tzlocal
bcrypt==3.2.0
# via
# paramiko
# passlib
boto3==1.21.46 ; python_version >= "3.6"
# via
# -r requirements/static/ci/common.in
# moto
boto==2.49.0
# via -r requirements/static/ci/common.in
botocore==1.24.46
# via
# boto3
# moto
# s3transfer
cachetools==4.2.2
# via
# google-auth
# python-telegram-bot
cassandra-driver==3.25.0
# via -r requirements/static/ci/common.in
certifi==2022.12.7
# via
# -r requirements/static/ci/common.in
# kubernetes
# python-telegram-bot
# requests
certvalidator==0.11.1
# via vcert
cffi==1.14.6
# via
# -r requirements/static/ci/common.in
# bcrypt
# cryptography
# napalm
# pygit2
# pynacl
charset-normalizer==2.0.4
# via
# aiohttp
# requests
cheetah3==3.2.6.post1
# via -r requirements/static/ci/common.in
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via
# -r requirements/static/ci/common.in
# -r requirements/static/pkg/linux.in
ciscoconfparse==1.5.46
# via napalm
click==8.0.1
# via geomet
clustershell==1.8.3
# via -r requirements/static/ci/common.in
colorama==0.4.4
# via ciscoconfparse
contextvars==2.4
# via -r requirements/base.txt
croniter==1.0.15 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
cryptography==39.0.2
# via
# -r requirements/static/pkg/linux.in
# ansible-core
# etcd3-py
# moto
# paramiko
# pyopenssl
# vcert
distlib==0.3.2
# via virtualenv
distro==1.6.0
# via -r requirements/base.txt
dnspython==2.1.0
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
# python-etcd
docker==5.0.0
# via -r requirements/static/ci/common.in
etcd3-py==0.1.6 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
filelock==3.0.12
# via virtualenv
frozenlist==1.3.0
# via
# aiohttp
# aiosignal
future==0.18.3
# via
# napalm
# textfsm
genshi==0.7.5
# via -r requirements/static/ci/common.in
geomet==0.2.1.post1
# via cassandra-driver
gitdb==4.0.7
# via gitpython
gitpython==3.1.30 ; python_version >= "3.7"
# via -r requirements/static/ci/common.in
google-auth==2.0.1
# via kubernetes
hglib==2.6.1
# via -r requirements/static/ci/linux.in
idna==3.2
# via
# etcd3-py
# requests
# yarl
immutables==0.16
# via contextvars
importlib-metadata==4.6.4
# via
# -r requirements/static/pkg/linux.in
# backports.entry-points-selectable
# click
# jsonschema
# mako
# moto
# virtualenv
ipaddress==1.0.23
# via kubernetes
isort==4.3.21
# via pylint
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.4.0
# via cherrypy
jaraco.functools==3.3.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.1
# via jaraco.collections
jinja2==3.1.2
# via
# -r requirements/base.txt
# ansible-core
# junos-eznc
# moto
# napalm
jmespath==0.10.0
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# boto3
# botocore
jsonschema==3.2.0
# via -r requirements/static/ci/common.in
junos-eznc==2.4.0 ; sys_platform != "win32" and python_version <= "3.10"
# via
# -r requirements/static/ci/common.in
# napalm
jxmlease==1.0.3 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
kazoo==2.8.0 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
keyring==5.7.1
# via -r requirements/static/ci/common.in
kubernetes==3.0.0
# via -r requirements/static/ci/common.in
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
loguru==0.6.0
# via ciscoconfparse
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via
# junos-eznc
# napalm
# ncclient
mako==1.2.2
# via -r requirements/static/ci/common.in
markupsafe==2.1.2
# via
# -r requirements/base.txt
# jinja2
# mako
# moto
# werkzeug
mccabe==0.6.1
# via pylint
mercurial==6.0.1
# via -r requirements/static/ci/linux.in
modernize==0.5
# via saltpylint
more-itertools==8.8.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
moto==3.0.1 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
msgpack==1.0.2
# via -r requirements/base.txt
multidict==6.0.2
# via
# aiohttp
# yarl
napalm==3.3.1 ; sys_platform != "win32" and python_version > "3.6" and python_version < "3.10"
# via -r requirements/static/ci/common.in
ncclient==0.6.12
# via
# junos-eznc
# napalm
netaddr==0.8.0
# via
# junos-eznc
# napalm
# pyeapi
netmiko==3.4.0
# via napalm
ntc-templates==2.2.2
# via
# junos-eznc
# netmiko
oscrypto==1.2.1
# via certvalidator
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
# junos-eznc
# napalm
# ncclient
# netmiko
# scp
passlib[bcrypt]==1.7.4
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
pathspec==0.9.0
# via yamllint
platformdirs==2.2.0
# via virtualenv
portend==2.7.1
# via cherrypy
psutil==5.8.0
# via -r requirements/base.txt
pyasn1-modules==0.2.8
# via google-auth
pyasn1==0.4.8
# via
# pyasn1-modules
# rsa
pycodestyle==2.5.0
# via saltpylint
pycparser==2.20
# via cffi
pycryptodomex==3.10.1
# via -r requirements/crypto.txt
pyeapi==0.8.4
# via napalm
pygit2==1.0.3 ; python_version <= "3.8"
# via -r requirements/static/ci/linux.in
pyiface==0.0.11
# via -r requirements/static/ci/linux.in
pyinotify==0.9.6 ; sys_platform != "win32" and sys_platform != "darwin" and platform_system != "openbsd"
# via -r requirements/static/ci/common.in
pyjwt==2.4.0
# via twilio
pylint==2.4.4
# via
# -r requirements/static/ci/lint.in
# saltpylint
pymysql==1.0.2 ; python_version > "3.5"
# via -r requirements/static/ci/linux.in
pynacl==1.4.0
# via paramiko
pyopenssl==23.0.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==3.0.9
# via
# junos-eznc
# packaging
pyrsistent==0.18.0
# via jsonschema
pyserial==3.5
# via
# junos-eznc
# netmiko
python-consul==1.1.0
# via -r requirements/static/ci/linux.in
python-dateutil==2.8.2
# via
# -r requirements/static/pkg/linux.in
# botocore
# croniter
# kubernetes
# moto
# vcert
python-etcd==0.4.5
# via -r requirements/static/ci/common.in
python-gnupg==0.4.8
# via -r requirements/static/pkg/linux.in
python-telegram-bot==13.7 ; python_version > "3.5"
# via -r requirements/static/ci/linux.in
pytz==2022.1
# via
# apscheduler
# moto
# python-telegram-bot
# tempora
# twilio
pyvmomi==7.0.2
# via -r requirements/static/ci/common.in
pyyaml==5.4.1
# via
# -r requirements/base.txt
# ansible-core
# clustershell
# junos-eznc
# kubernetes
# napalm
# yamllint
# yamlordereddictloader
pyzmq==23.2.0 ; python_version < "3.11"
# via -r requirements/zeromq.txt
redis-py-cluster==2.1.3
# via -r requirements/static/ci/linux.in
redis==3.5.3
# via redis-py-cluster
requests==2.31.0
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# apache-libcloud
# docker
# etcd3-py
# kubernetes
# moto
# napalm
# python-consul
# pyvmomi
# responses
# twilio
# vcert
resolvelib==0.5.4
# via ansible-core
responses==0.13.4
# via moto
rfc3987==1.3.8
# via -r requirements/static/ci/common.in
rpm-vercmp==0.1.2
# via -r requirements/static/pkg/linux.in
rsa==4.7.2
# via google-auth
s3transfer==0.5.0
# via boto3
saltpylint==2020.9.28
# via -r requirements/static/ci/lint.in
scp==0.13.6
# via
# junos-eznc
# napalm
# netmiko
semantic-version==2.9.0
# via etcd3-py
setproctitle==1.3.2
# via -r requirements/static/pkg/linux.in
six==1.16.0
# via
# apscheduler
# astroid
# bcrypt
# cassandra-driver
# cheroot
# etcd3-py
# genshi
# geomet
# jsonschema
# junos-eznc
# kazoo
# kubernetes
# ncclient
# paramiko
# pynacl
# python-consul
# python-dateutil
# pyvmomi
# responses
# textfsm
# transitions
# vcert
# virtualenv
# websocket-client
slack-bolt==1.15.5
# via -r requirements/static/ci/linux.in
slack-sdk==3.19.5
# via slack-bolt
smmap==4.0.0
# via gitdb
sqlparse==0.4.4
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in
tempora==4.1.1
# via portend
tenacity==8.0.1
# via netmiko
textfsm==1.1.2
# via
# napalm
# ntc-templates
timelib==0.2.5
# via -r requirements/static/pkg/linux.in
toml==0.10.2
# via
# -r requirements/static/ci/common.in
# -r requirements/static/ci/lint.in
tornado==6.2 ; python_version < "3.8"
# via
# -r requirements/base.txt
# python-telegram-bot
transitions==0.8.8
# via junos-eznc
twilio==7.9.2
# via -r requirements/static/ci/linux.in
typed-ast==1.4.1
# via astroid
typing-extensions==3.10.0.0
# via
# aiohttp
# async-timeout
# gitpython
# immutables
# importlib-metadata
# yarl
tzlocal==3.0
# via apscheduler
urllib3==1.26.6
# via
# botocore
# kubernetes
# python-etcd
# requests
# responses
vcert==0.7.4 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
virtualenv==20.7.2
# via -r requirements/static/ci/common.in
watchdog==2.1.5
# via -r requirements/static/ci/common.in
websocket-client==0.40.0
# via
# docker
# kubernetes
werkzeug==2.2.3
# via moto
wrapt==1.11.1
# via astroid
xmltodict==0.12.0
# via moto
yamllint==1.26.3
# via -r requirements/static/ci/linux.in
yamlordereddictloader==0.4.0
# via junos-eznc
yarl==1.7.2
# via aiohttp
zc.lockfile==2.0
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,10 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/linux-crypto.txt --pip-args='--constraint=requirements/static/pkg/py3.7/linux.txt' requirements/static/ci/crypto.in
#
m2crypto==0.38.0
# via -r requirements/static/ci/crypto.in
pycryptodome==3.9.7
# via -r requirements/static/ci/crypto.in

View file

@ -1,562 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/linux.txt --pip-args='--constraint=requirements/static/pkg/py3.7/linux.txt' requirements/base.txt requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/linux.in requirements/static/pkg/linux.in requirements/zeromq.txt
#
aiohttp==3.8.1
# via etcd3-py
aiosignal==1.2.0
# via aiohttp
ansible-core==2.11.7
# via ansible
ansible==4.4.0 ; python_version < "3.9"
# via -r requirements/static/ci/linux.in
apache-libcloud==2.5.0 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
apscheduler==3.6.3
# via python-telegram-bot
asn1crypto==1.3.0
# via
# certvalidator
# oscrypto
async-timeout==4.0.2
# via aiohttp
asynctest==0.13.0
# via aiohttp
attrs==20.3.0
# via
# aiohttp
# jsonschema
# pytest
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
backports.entry-points-selectable==1.1.0
# via virtualenv
bcrypt==3.1.6
# via
# paramiko
# passlib
boto3==1.21.46 ; python_version >= "3.6"
# via
# -r requirements/static/ci/common.in
# moto
boto==2.49.0
# via -r requirements/static/ci/common.in
botocore==1.24.46
# via
# boto3
# moto
# s3transfer
cachetools==4.2.2
# via
# google-auth
# python-telegram-bot
cassandra-driver==3.23.0
# via -r requirements/static/ci/common.in
certifi==2022.12.7
# via
# -r requirements/static/ci/common.in
# kubernetes
# python-telegram-bot
# requests
certvalidator==0.11.1
# via vcert
cffi==1.14.6
# via
# -r requirements/static/ci/common.in
# bcrypt
# cryptography
# napalm
# pygit2
# pynacl
charset-normalizer==2.0.12
# via
# aiohttp
# requests
cheetah3==3.2.6.post2
# via -r requirements/static/ci/common.in
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via
# -r requirements/static/ci/common.in
# -r requirements/static/pkg/linux.in
ciscoconfparse==1.5.19
# via napalm
click==7.1.1
# via geomet
clustershell==1.8.3
# via -r requirements/static/ci/common.in
colorama==0.4.3
# via ciscoconfparse
contextvars==2.4
# via -r requirements/base.txt
croniter==0.3.29 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
cryptography==39.0.2
# via
# -r requirements/static/pkg/linux.in
# ansible-core
# etcd3-py
# moto
# paramiko
# pyopenssl
# vcert
distlib==0.3.2
# via virtualenv
distro==1.5.0
# via
# -r requirements/base.txt
# pytest-skip-markers
dnspython==1.16.0
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
# python-etcd
docker==5.0.3
# via
# -r requirements/static/ci/common.in
# pytest-salt-factories
etcd3-py==0.1.6 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
exceptiongroup==1.0.4
# via pytest
filelock==3.0.12
# via virtualenv
flaky==3.7.0
# via -r requirements/pytest.txt
frozenlist==1.3.0
# via
# aiohttp
# aiosignal
future==0.18.3
# via
# napalm
# textfsm
genshi==0.7.5
# via -r requirements/static/ci/common.in
geomet==0.1.2
# via cassandra-driver
gitdb==4.0.5
# via gitpython
gitpython==3.1.30 ; python_version >= "3.7"
# via -r requirements/static/ci/common.in
google-auth==1.6.3
# via kubernetes
hglib==2.6.1
# via -r requirements/static/ci/linux.in
idna==2.8
# via
# etcd3-py
# requests
# yarl
immutables==0.15
# via contextvars
importlib-metadata==4.6.4
# via
# -r requirements/static/pkg/linux.in
# backports.entry-points-selectable
# jsonschema
# mako
# moto
# pluggy
# pytest
# virtualenv
iniconfig==1.0.1
# via pytest
ipaddress==1.0.22
# via kubernetes
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.4.0
# via cherrypy
jaraco.functools==2.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.1
# via jaraco.collections
jinja2==3.1.2
# via
# -r requirements/base.txt
# ansible-core
# junos-eznc
# moto
# napalm
jmespath==1.0.1
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# boto3
# botocore
jsonschema==3.2.0
# via -r requirements/static/ci/common.in
junos-eznc==2.4.0 ; sys_platform != "win32" and python_version <= "3.10"
# via
# -r requirements/static/ci/common.in
# napalm
jxmlease==1.0.1 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
kazoo==2.6.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via -r requirements/static/ci/common.in
keyring==5.7.1
# via -r requirements/static/ci/common.in
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
# napalm
# ncclient
mako==1.2.2
# via -r requirements/static/ci/common.in
markupsafe==2.1.2
# via
# -r requirements/base.txt
# jinja2
# mako
# moto
# werkzeug
mercurial==6.0.1
# via -r requirements/static/ci/linux.in
mock==3.0.5
# via -r requirements/pytest.txt
more-itertools==5.0.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
moto==3.0.1 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
msgpack==1.0.2
# via
# -r requirements/base.txt
# pytest-salt-factories
multidict==6.0.2
# via
# aiohttp
# yarl
napalm==3.1.0 ; sys_platform != "win32" and python_version > "3.6" and python_version < "3.10"
# via -r requirements/static/ci/common.in
ncclient==0.6.4
# via junos-eznc
netaddr==0.7.19
# via
# junos-eznc
# napalm
# pyeapi
netmiko==3.2.0
# via napalm
ntc-templates==1.4.0
# via junos-eznc
oscrypto==1.2.0
# via certvalidator
packaging==21.3
# via
# -r requirements/base.txt
# ansible-core
# pytest
paramiko==2.10.1 ; sys_platform != "win32" and sys_platform != "darwin"
# via
# -r requirements/static/ci/common.in
# junos-eznc
# napalm
# ncclient
# netmiko
# scp
passlib[bcrypt]==1.7.4
# via
# -r requirements/static/ci/common.in
# ciscoconfparse
pathspec==0.9.0
# via yamllint
pathtools==0.1.2
# via watchdog
platformdirs==2.2.0
# via virtualenv
pluggy==0.13.0
# via pytest
portend==2.4
# via cherrypy
psutil==5.8.0
# via
# -r requirements/base.txt
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pyasn1-modules==0.2.4
# via google-auth
pyasn1==0.4.8
# via
# pyasn1-modules
# rsa
pycparser==2.17
# via cffi
pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyeapi==0.8.3
# via napalm
pygit2==1.0.3 ; python_version <= "3.8"
# via -r requirements/static/ci/linux.in
pyiface==0.0.11
# via -r requirements/static/ci/linux.in
pyinotify==0.9.6 ; sys_platform != "win32" and sys_platform != "darwin" and platform_system != "openbsd"
# via -r requirements/static/ci/common.in
pyjwt==2.4.0
# via twilio
pymysql==1.0.2 ; python_version > "3.5"
# via -r requirements/static/ci/linux.in
pynacl==1.3.0
# via paramiko
pyopenssl==23.0.0
# via
# -r requirements/static/pkg/linux.in
# etcd3-py
pyparsing==3.0.9
# via
# junos-eznc
# packaging
pyrsistent==0.17.3
# via jsonschema
pyserial==3.4
# via
# junos-eznc
# netmiko
pytest-custom-exit-code==0.3.0
# via -r requirements/pytest.txt
pytest-helpers-namespace==2021.4.29
# via
# -r requirements/pytest.txt
# pytest-salt-factories
# pytest-shell-utilities
pytest-httpserver==1.0.4
# via -r requirements/pytest.txt
pytest-salt-factories[docker]==1.0.0rc21 ; sys_platform != "win32"
# via -r requirements/pytest.txt
pytest-shell-utilities==1.6.0
# via pytest-salt-factories
pytest-skip-markers==1.2.0
# via
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pytest-subtests==0.4.0
# via -r requirements/pytest.txt
pytest-system-statistics==1.0.2
# via pytest-salt-factories
pytest-tempdir==2019.10.12
# via
# -r requirements/pytest.txt
# pytest-salt-factories
pytest-timeout==1.4.2
# via -r requirements/pytest.txt
pytest==7.2.0 ; python_version > "3.6"
# via
# -r requirements/pytest.txt
# pytest-custom-exit-code
# pytest-helpers-namespace
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-subtests
# pytest-system-statistics
# pytest-tempdir
# pytest-timeout
python-consul==1.1.0
# via -r requirements/static/ci/linux.in
python-dateutil==2.8.1
# via
# -r requirements/static/pkg/linux.in
# botocore
# croniter
# kubernetes
# moto
# vcert
python-etcd==0.4.5
# via -r requirements/static/ci/common.in
python-gnupg==0.4.8
# via -r requirements/static/pkg/linux.in
python-telegram-bot==13.7 ; python_version > "3.5"
# via -r requirements/static/ci/linux.in
pytz==2022.1
# via
# apscheduler
# moto
# python-telegram-bot
# tempora
# twilio
# tzlocal
pyvmomi==6.7.1.2018.12
# via -r requirements/static/ci/common.in
pyyaml==5.4.1
# via
# -r requirements/base.txt
# ansible-core
# clustershell
# junos-eznc
# kubernetes
# napalm
# yamllint
# yamlordereddictloader
pyzmq==23.2.0 ; python_version < "3.11"
# via
# -r requirements/zeromq.txt
# pytest-salt-factories
redis-py-cluster==2.1.3
# via -r requirements/static/ci/linux.in
redis==3.5.3
# via redis-py-cluster
requests==2.31.0
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# apache-libcloud
# docker
# etcd3-py
# kubernetes
# moto
# napalm
# python-consul
# pyvmomi
# responses
# twilio
# vcert
resolvelib==0.5.4
# via ansible-core
responses==0.10.6
# via moto
rfc3987==1.3.8
# via -r requirements/static/ci/common.in
rpm-vercmp==0.1.2
# via -r requirements/static/pkg/linux.in
rsa==4.7.2
# via google-auth
s3transfer==0.5.2
# via boto3
scp==0.13.2
# via
# junos-eznc
# napalm
# netmiko
semantic-version==2.9.0
# via etcd3-py
setproctitle==1.3.2
# via -r requirements/static/pkg/linux.in
six==1.16.0
# via
# apscheduler
# bcrypt
# cassandra-driver
# cheroot
# etcd3-py
# genshi
# geomet
# google-auth
# jsonschema
# junos-eznc
# kazoo
# kubernetes
# mock
# more-itertools
# ncclient
# paramiko
# pynacl
# python-consul
# python-dateutil
# pyvmomi
# responses
# textfsm
# transitions
# vcert
# virtualenv
# websocket-client
slack-bolt==1.15.5
# via -r requirements/static/ci/linux.in
slack-sdk==3.19.5
# via slack-bolt
smmap==3.0.4
# via gitdb
sqlparse==0.4.4
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in
tempora==4.1.1
# via portend
terminal==0.4.0
# via ntc-templates
textfsm==1.1.0
# via
# napalm
# netmiko
# ntc-templates
timelib==0.2.5
# via -r requirements/static/pkg/linux.in
toml==0.10.2
# via -r requirements/static/ci/common.in
tomli==2.0.1
# via pytest
tornado==6.2 ; python_version < "3.8"
# via
# -r requirements/base.txt
# python-telegram-bot
transitions==0.8.1
# via junos-eznc
twilio==7.9.2
# via -r requirements/static/ci/linux.in
typing-extensions==3.10.0.0
# via
# aiohttp
# async-timeout
# gitpython
# importlib-metadata
# pytest-shell-utilities
# pytest-system-statistics
# yarl
tzlocal==2.1
# via apscheduler
urllib3==1.26.6
# via
# botocore
# kubernetes
# python-etcd
# requests
vcert==0.7.4 ; sys_platform != "win32"
# via -r requirements/static/ci/common.in
virtualenv==20.7.2
# via
# -r requirements/static/ci/common.in
# pytest-salt-factories
watchdog==0.10.3
# via -r requirements/static/ci/common.in
websocket-client==0.40.0
# via
# docker
# kubernetes
werkzeug==2.2.3
# via
# moto
# pytest-httpserver
xmltodict==0.12.0
# via moto
yamllint==1.26.3
# via -r requirements/static/ci/linux.in
yamlordereddictloader==0.4.0
# via junos-eznc
yarl==1.7.2
# via aiohttp
zc.lockfile==1.4
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,10 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/windows-crypto.txt --pip-args='--constraint=requirements/static/ci/py3.7/windows.txt' requirements/static/ci/crypto.in
#
m2crypto==0.38.0
# via -r requirements/static/ci/crypto.in
pycryptodome==3.9.7
# via -r requirements/static/ci/crypto.in

View file

@ -1,449 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/ci/py3.7/windows.txt --pip-args='--constraint=requirements/static/pkg/py3.7/windows.txt' requirements/pytest.txt requirements/static/ci/common.in requirements/static/ci/windows.in requirements/static/pkg/windows.in requirements/windows.txt
#
aiohttp==3.8.1
# via etcd3-py
aiosignal==1.2.0
# via aiohttp
async-timeout==4.0.2
# via aiohttp
asynctest==0.13.0
# via aiohttp
attrs==20.3.0
# via
# aiohttp
# jsonschema
# pytest
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-system-statistics
backports.entry-points-selectable==1.1.0
# via virtualenv
bcrypt==4.0.1
# via passlib
boto3==1.21.46 ; python_version >= "3.6"
# via
# -r requirements/static/ci/common.in
# moto
boto==2.49.0
# via -r requirements/static/ci/common.in
botocore==1.24.46
# via
# boto3
# moto
# s3transfer
cached-property==1.5.2
# via pygit2
cachetools==3.1.0
# via google-auth
cassandra-driver==3.23.0
# via -r requirements/static/ci/common.in
certifi==2022.12.7
# via
# -r requirements/static/ci/common.in
# -r requirements/windows.txt
# kubernetes
# requests
cffi==1.14.6
# via
# -r requirements/static/ci/common.in
# -r requirements/windows.txt
# clr-loader
# cryptography
# pygit2
charset-normalizer==2.0.12
# via
# aiohttp
# requests
cheetah3==3.2.6.post2
# via -r requirements/static/ci/common.in
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via
# -r requirements/static/ci/common.in
# -r requirements/windows.txt
click==7.1.2
# via geomet
clr-loader==0.2.4
# via pythonnet
clustershell==1.8.3
# via -r requirements/static/ci/common.in
colorama==0.4.1
# via pytest
contextvars==2.4
# via -r requirements/base.txt
cryptography==39.0.2
# via
# -r requirements/windows.txt
# etcd3-py
# moto
# pyopenssl
# requests-ntlm
distlib==0.3.2
# via virtualenv
distro==1.5.0
# via
# -r requirements/base.txt
# pytest-skip-markers
dmidecode==0.9.0
# via -r requirements/static/ci/windows.in
dnspython==1.16.0
# via
# -r requirements/static/ci/common.in
# python-etcd
docker-pycreds==0.4.0
# via docker
docker==2.7.0
# via -r requirements/static/ci/common.in
etcd3-py==0.1.6 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
exceptiongroup==1.0.4
# via pytest
filelock==3.0.12
# via virtualenv
flaky==3.7.0
# via -r requirements/pytest.txt
frozenlist==1.3.0
# via
# aiohttp
# aiosignal
genshi==0.7.5
# via -r requirements/static/ci/common.in
geomet==0.1.2
# via cassandra-driver
gitdb==4.0.7
# via gitpython
gitpython==3.1.30 ; python_version >= "3.7"
# via
# -r requirements/static/ci/common.in
# -r requirements/windows.txt
google-auth==1.6.3
# via kubernetes
idna==2.8
# via
# etcd3-py
# requests
# yarl
immutables==0.15
# via contextvars
importlib-metadata==4.6.4
# via
# -r requirements/windows.txt
# backports.entry-points-selectable
# jsonschema
# mako
# moto
# pluggy
# pytest
# virtualenv
iniconfig==1.0.1
# via pytest
ioloop==0.1a0
# via -r requirements/windows.txt
ipaddress==1.0.22
# via kubernetes
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.3.0
# via cherrypy
jaraco.functools==2.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.0
# via jaraco.collections
jinja2==3.1.2
# via
# -r requirements/base.txt
# moto
jmespath==1.0.1
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# boto3
# botocore
jsonschema==3.2.0
# via -r requirements/static/ci/common.in
keyring==5.7.1
# via -r requirements/static/ci/common.in
kubernetes==3.0.0
# via -r requirements/static/ci/common.in
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
mako==1.2.2
# via -r requirements/static/ci/common.in
markupsafe==2.1.2
# via
# -r requirements/base.txt
# jinja2
# mako
# moto
# werkzeug
mock==3.0.5
# via -r requirements/pytest.txt
more-itertools==8.2.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
moto==3.0.1 ; python_version >= "3.6"
# via -r requirements/static/ci/common.in
msgpack==1.0.2
# via
# -r requirements/base.txt
# pytest-salt-factories
multidict==6.0.2
# via
# aiohttp
# yarl
ntlm-auth==1.5.0
# via requests-ntlm
packaging==21.3
# via
# -r requirements/base.txt
# pytest
passlib[bcrypt]==1.7.4
# via -r requirements/static/ci/common.in
patch==1.16
# via -r requirements/static/ci/windows.in
pathspec==0.9.0
# via yamllint
pathtools==0.1.2
# via watchdog
platformdirs==2.2.0
# via virtualenv
pluggy==0.13.0
# via pytest
portend==2.6
# via cherrypy
psutil==5.8.0
# via
# -r requirements/base.txt
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pyasn1-modules==0.2.4
# via google-auth
pyasn1==0.4.8
# via
# -r requirements/windows.txt
# pyasn1-modules
# rsa
pycparser==2.21
# via
# -r requirements/windows.txt
# cffi
pycryptodomex==3.10.1
# via -r requirements/crypto.txt
pygit2==1.9.1 ; python_version >= "3.7"
# via -r requirements/static/ci/windows.in
pymssql==2.2.1
# via -r requirements/windows.txt
pymysql==1.0.2
# via -r requirements/windows.txt
pyopenssl==23.0.0
# via
# -r requirements/windows.txt
# etcd3-py
pyparsing==3.0.9
# via packaging
pyrsistent==0.17.3
# via jsonschema
pytest-custom-exit-code==0.3.0
# via -r requirements/pytest.txt
pytest-helpers-namespace==2021.4.29
# via
# -r requirements/pytest.txt
# pytest-salt-factories
# pytest-shell-utilities
pytest-httpserver==1.0.4
# via -r requirements/pytest.txt
pytest-salt-factories==1.0.0rc21 ; sys_platform == "win32"
# via -r requirements/pytest.txt
pytest-shell-utilities==1.6.0
# via pytest-salt-factories
pytest-skip-markers==1.2.0
# via
# pytest-salt-factories
# pytest-shell-utilities
# pytest-system-statistics
pytest-subtests==0.4.0
# via -r requirements/pytest.txt
pytest-system-statistics==1.0.2
# via pytest-salt-factories
pytest-tempdir==2019.10.12
# via
# -r requirements/pytest.txt
# pytest-salt-factories
pytest-timeout==1.4.2
# via -r requirements/pytest.txt
pytest==7.2.0 ; python_version > "3.6"
# via
# -r requirements/pytest.txt
# pytest-custom-exit-code
# pytest-helpers-namespace
# pytest-salt-factories
# pytest-shell-utilities
# pytest-skip-markers
# pytest-subtests
# pytest-system-statistics
# pytest-tempdir
# pytest-timeout
python-dateutil==2.8.1
# via
# -r requirements/windows.txt
# botocore
# kubernetes
# moto
python-etcd==0.4.5
# via -r requirements/static/ci/common.in
python-gnupg==0.4.8
# via -r requirements/windows.txt
pythonnet==3.0.1
# via -r requirements/windows.txt
pytz==2022.1
# via
# moto
# tempora
pyvmomi==6.7.1.2018.12
# via -r requirements/static/ci/common.in
pywin32==305
# via
# -r requirements/windows.txt
# cherrypy
# pytest-skip-markers
# wmi
pywinrm==0.4.1
# via -r requirements/static/ci/windows.in
pyyaml==5.4.1
# via
# -r requirements/base.txt
# clustershell
# kubernetes
# yamllint
pyzmq==25.0.2 ; sys_platform == "win32"
# via
# -r requirements/zeromq.txt
# pytest-salt-factories
requests-ntlm==1.1.0
# via pywinrm
requests==2.31.0
# via
# -r requirements/base.txt
# -r requirements/static/ci/common.in
# -r requirements/windows.txt
# docker
# etcd3-py
# kubernetes
# moto
# pyvmomi
# pywinrm
# requests-ntlm
# responses
responses==0.10.6
# via moto
rfc3987==1.3.8
# via -r requirements/static/ci/common.in
rsa==4.7.2
# via google-auth
s3transfer==0.5.2
# via boto3
sed==0.3.1
# via -r requirements/static/ci/windows.in
semantic-version==2.9.0
# via etcd3-py
setproctitle==1.3.2
# via -r requirements/windows.txt
six==1.15.0
# via
# cassandra-driver
# cheroot
# docker
# docker-pycreds
# etcd3-py
# genshi
# geomet
# google-auth
# jsonschema
# kubernetes
# mock
# python-dateutil
# pyvmomi
# pywinrm
# responses
# virtualenv
# websocket-client
smmap==4.0.0
# via gitdb
sqlparse==0.4.4
# via -r requirements/static/ci/common.in
strict-rfc3339==0.7
# via -r requirements/static/ci/common.in
tempora==4.1.1
# via portend
timelib==0.2.5
# via -r requirements/windows.txt
toml==0.10.2
# via -r requirements/static/ci/common.in
tomli==2.0.1
# via pytest
tornado==6.2.0 ; python_version < "3.8"
# via -r requirements/base.txt
typing-extensions==4.2.0
# via
# aiohttp
# async-timeout
# gitpython
# importlib-metadata
# pytest-shell-utilities
# pytest-system-statistics
# yarl
urllib3==1.26.6
# via
# -r requirements/windows.txt
# botocore
# kubernetes
# python-etcd
# requests
virtualenv==20.7.2
# via
# -r requirements/static/ci/common.in
# pytest-salt-factories
watchdog==0.10.3
# via -r requirements/static/ci/common.in
websocket-client==0.40.0
# via
# docker
# kubernetes
werkzeug==2.2.3
# via
# moto
# pytest-httpserver
wheel==0.38.4
# via -r requirements/windows.txt
wmi==1.5.1
# via -r requirements/windows.txt
xmltodict==0.12.0
# via
# moto
# pywinrm
yamllint==1.26.3
# via -r requirements/static/ci/windows.in
yarl==1.7.2
# via aiohttp
zc.lockfile==2.0
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,107 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/pkg/py3.7/freebsd.txt requirements/base.txt requirements/static/pkg/freebsd.in requirements/zeromq.txt
#
certifi==2022.12.7
# via requests
cffi==1.14.6
# via cryptography
charset-normalizer==3.1.0
# via requests
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via -r requirements/static/pkg/freebsd.in
contextvars==2.4
# via -r requirements/base.txt
cryptography==39.0.2
# via pyopenssl
distro==1.5.0
# via
# -r requirements/base.txt
# -r requirements/static/pkg/freebsd.in
idna==2.8
# via requests
immutables==0.15
# via contextvars
importlib-metadata==4.6.4
# via -r requirements/static/pkg/freebsd.in
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.4.0
# via cherrypy
jaraco.functools==2.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.1
# via jaraco.collections
jinja2==3.1.2
# 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.1.2
# via
# -r requirements/base.txt
# jinja2
more-itertools==5.0.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==22.0
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
# via -r requirements/base.txt
pycparser==2.17
# via cffi
pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==23.0.0
# via -r requirements/static/pkg/freebsd.in
python-dateutil==2.8.1
# via -r requirements/static/pkg/freebsd.in
python-gnupg==0.4.8
# via -r requirements/static/pkg/freebsd.in
pytz==2022.1
# via tempora
pyyaml==5.4.1
# via -r requirements/base.txt
pyzmq==23.2.0 ; python_version < "3.11"
# via -r requirements/zeromq.txt
requests==2.31.0
# via -r requirements/base.txt
setproctitle==1.3.2
# via -r requirements/static/pkg/freebsd.in
six==1.16.0
# via
# cheroot
# more-itertools
# python-dateutil
tempora==4.1.1
# via portend
timelib==0.2.5
# via -r requirements/static/pkg/freebsd.in
tornado==6.2.0 ; python_version < "3.8"
# via -r requirements/base.txt
typing-extensions==3.10.0.0
# via importlib-metadata
urllib3==1.26.6
# via requests
zc.lockfile==1.4
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,109 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/pkg/py3.7/linux.txt requirements/base.txt requirements/static/pkg/linux.in requirements/zeromq.txt
#
certifi==2022.12.7
# via requests
cffi==1.14.6
# via cryptography
charset-normalizer==3.1.0
# via requests
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via -r requirements/static/pkg/linux.in
contextvars==2.4
# via -r requirements/base.txt
cryptography==39.0.2
# via
# -r requirements/static/pkg/linux.in
# pyopenssl
distro==1.5.0
# via -r requirements/base.txt
idna==2.8
# via requests
immutables==0.15
# via contextvars
importlib-metadata==4.6.4
# via -r requirements/static/pkg/linux.in
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.4.0
# via cherrypy
jaraco.functools==2.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.1
# via jaraco.collections
jinja2==3.1.2
# 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.1.2
# via
# -r requirements/base.txt
# jinja2
more-itertools==5.0.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==22.0
# via -r requirements/base.txt
portend==2.4
# via cherrypy
psutil==5.8.0
# via -r requirements/base.txt
pycparser==2.17
# via cffi
pycryptodomex==3.9.8
# via -r requirements/crypto.txt
pyopenssl==23.0.0
# via -r requirements/static/pkg/linux.in
python-dateutil==2.8.1
# via -r requirements/static/pkg/linux.in
python-gnupg==0.4.8
# via -r requirements/static/pkg/linux.in
pytz==2022.1
# via tempora
pyyaml==5.4.1
# via -r requirements/base.txt
pyzmq==23.2.0 ; python_version < "3.11"
# via -r requirements/zeromq.txt
requests==2.31.0
# via -r requirements/base.txt
rpm-vercmp==0.1.2
# via -r requirements/static/pkg/linux.in
setproctitle==1.3.2
# via -r requirements/static/pkg/linux.in
six==1.16.0
# via
# cheroot
# more-itertools
# python-dateutil
tempora==4.1.1
# via portend
timelib==0.2.5
# via -r requirements/static/pkg/linux.in
tornado==6.2.0 ; python_version < "3.8"
# via -r requirements/base.txt
typing-extensions==3.10.0.0
# via importlib-metadata
urllib3==1.26.6
# via requests
zc.lockfile==1.4
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -1,148 +0,0 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/static/pkg/py3.7/windows.txt requirements/static/pkg/windows.in requirements/windows.txt
#
certifi==2022.12.7
# via
# -r requirements/windows.txt
# requests
cffi==1.14.6
# via
# -r requirements/windows.txt
# clr-loader
# cryptography
charset-normalizer==3.1.0
# via requests
cheroot==8.5.2
# via cherrypy
cherrypy==18.6.1
# via -r requirements/windows.txt
clr-loader==0.2.4
# via pythonnet
contextvars==2.4
# via -r requirements/base.txt
cryptography==39.0.2
# via
# -r requirements/windows.txt
# pyopenssl
distro==1.5.0
# via -r requirements/base.txt
gitdb==4.0.7
# via gitpython
gitpython==3.1.30 ; python_version >= "3.7"
# via -r requirements/windows.txt
idna==2.8
# via requests
immutables==0.15
# via contextvars
importlib-metadata==4.6.4
# via -r requirements/windows.txt
ioloop==0.1a0
# via -r requirements/windows.txt
jaraco.classes==3.2.1
# via jaraco.collections
jaraco.collections==3.3.0
# via cherrypy
jaraco.functools==2.0
# via
# cheroot
# jaraco.text
# tempora
jaraco.text==3.5.0
# via jaraco.collections
jinja2==3.1.2
# via -r requirements/base.txt
jmespath==1.0.1
# via -r requirements/base.txt
looseversion==1.0.2
# via -r requirements/base.txt
lxml==4.9.1
# via -r requirements/windows.txt
markupsafe==2.1.2
# via
# -r requirements/base.txt
# jinja2
more-itertools==8.2.0
# via
# cheroot
# cherrypy
# jaraco.classes
# jaraco.functools
msgpack==1.0.2
# via -r requirements/base.txt
packaging==22.0
# via -r requirements/base.txt
portend==2.6
# via cherrypy
psutil==5.8.0
# via -r requirements/base.txt
pyasn1==0.4.8
# via -r requirements/windows.txt
pycparser==2.21
# via
# -r requirements/windows.txt
# cffi
pycryptodomex==3.10.1
# via -r requirements/crypto.txt
pymssql==2.2.1
# via -r requirements/windows.txt
pymysql==1.0.2
# via -r requirements/windows.txt
pyopenssl==23.0.0
# via -r requirements/windows.txt
python-dateutil==2.8.1
# via -r requirements/windows.txt
python-gnupg==0.4.8
# via -r requirements/windows.txt
pythonnet==3.0.1
# via -r requirements/windows.txt
pytz==2022.1
# via tempora
pywin32==305
# via
# -r requirements/windows.txt
# cherrypy
# wmi
pyyaml==5.4.1
# via -r requirements/base.txt
pyzmq==25.0.2 ; sys_platform == "win32"
# via -r requirements/zeromq.txt
requests==2.31.0
# via
# -r requirements/base.txt
# -r requirements/windows.txt
setproctitle==1.3.2
# via -r requirements/windows.txt
six==1.15.0
# via
# cheroot
# python-dateutil
smmap==4.0.0
# via gitdb
tempora==4.1.1
# via portend
timelib==0.2.5
# via -r requirements/windows.txt
tornado==6.2.0 ; python_version < "3.8"
# via -r requirements/base.txt
typing-extensions==4.4.0
# via
# gitpython
# importlib-metadata
urllib3==1.26.6
# via
# -r requirements/windows.txt
# requests
wheel==0.38.4
# via -r requirements/windows.txt
wmi==1.5.1
# via -r requirements/windows.txt
zc.lockfile==2.0
# via cherrypy
zipp==3.5.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -5,7 +5,6 @@
Salt's logging handlers
"""
import copy
import logging
import logging.handlers
import queue as _queue
@ -147,7 +146,7 @@ class SysLogHandler(ExcInfoOnLogLevelFormatMixin, logging.handlers.SysLogHandler
Deal with syslog os errors when the log file does not exist
"""
handled = False
if sys.stderr and sys.version_info >= (3, 5, 4):
if sys.stderr:
exc_type, exc, exc_traceback = sys.exc_info()
try:
if exc_type.__name__ in "FileNotFoundError":
@ -216,92 +215,31 @@ class WatchedFileHandler(
"""
if sys.version_info < (3, 7):
# On python versions lower than 3.7, we sill subclass and overwrite prepare to include the fix for:
# https://bugs.python.org/issue35726
class QueueHandler(
ExcInfoOnLogLevelFormatMixin, logging.handlers.QueueHandler
): # pylint: disable=no-member,inconsistent-mro
def __init__(self, queue): # pylint: disable=useless-super-delegation
super().__init__(queue)
warn_until_date(
"20240101",
"Please stop using '{name}.QueueHandler' and instead "
"use 'logging.handlers.QueueHandler'. "
"'{name}.QueueHandler' will go away after "
"{{date}}.".format(name=__name__),
class QueueHandler(
ExcInfoOnLogLevelFormatMixin, logging.handlers.QueueHandler
): # pylint: disable=no-member,inconsistent-mro
def __init__(self, queue): # pylint: disable=useless-super-delegation
super().__init__(queue)
warn_until_date(
"20240101",
"Please stop using '{name}.QueueHandler' and instead "
"use 'logging.handlers.QueueHandler'. "
"'{name}.QueueHandler' will go away after "
"{{date}}.".format(name=__name__),
)
def enqueue(self, record):
"""
Enqueue a record.
The base implementation uses put_nowait. You may want to override
this method if you want to use blocking, timeouts or custom queue
implementations.
"""
try:
self.queue.put_nowait(record)
except _queue.Full:
sys.stderr.write(
"[WARNING ] Message queue is full, "
'unable to write "{}" to log.\n'.format(record)
)
def enqueue(self, record):
"""
Enqueue a record.
The base implementation uses put_nowait. You may want to override
this method if you want to use blocking, timeouts or custom queue
implementations.
"""
try:
self.queue.put_nowait(record)
except _queue.Full:
sys.stderr.write(
"[WARNING ] Message queue is full, "
'unable to write "{}" to log.\n'.format(record)
)
def prepare(self, record):
"""
Prepares a record for queuing. The object returned by this method is
enqueued.
The base implementation formats the record to merge the message
and arguments, and removes unpickleable items from the record
in-place.
You might want to override this method if you want to convert
the record to a dict or JSON string, or send a modified copy
of the record while leaving the original intact.
"""
# The format operation gets traceback text into record.exc_text
# (if there's exception data), and also returns the formatted
# message. We can then use this to replace the original
# msg + args, as these might be unpickleable. We also zap the
# exc_info and exc_text attributes, as they are no longer
# needed and, if not None, will typically not be pickleable.
msg = self.format(record)
# bpo-35726: make copy of record to avoid affecting other handlers in the chain.
record = copy.copy(record)
record.message = msg
record.msg = msg
record.args = None
record.exc_info = None
record.exc_text = None
return record
else:
class QueueHandler(
ExcInfoOnLogLevelFormatMixin, logging.handlers.QueueHandler
): # pylint: disable=no-member,inconsistent-mro
def __init__(self, queue): # pylint: disable=useless-super-delegation
super().__init__(queue)
warn_until_date(
"20240101",
"Please stop using '{name}.QueueHandler' and instead "
"use 'logging.handlers.QueueHandler'. "
"'{name}.QueueHandler' will go away after "
"{{date}}.".format(name=__name__),
)
def enqueue(self, record):
"""
Enqueue a record.
The base implementation uses put_nowait. You may want to override
this method if you want to use blocking, timeouts or custom queue
implementations.
"""
try:
self.queue.put_nowait(record)
except _queue.Full:
sys.stderr.write(
"[WARNING ] Message queue is full, "
'unable to write "{}" to log.\n'.format(record)
)

View file

@ -7,7 +7,6 @@ This util provides access to an idem-ready hub
.. versionadded:: 3002
"""
import logging
import sys
try:
import pop.hub
@ -22,8 +21,6 @@ __virtualname__ = "idem"
def __virtual__():
if sys.version_info < (3, 6):
return False, "idem only works on python3.6 and later"
if not HAS_POP[0]:
return HAS_POP
return __virtualname__

View file

@ -2,12 +2,14 @@
Template render systems
"""
import codecs
import importlib.machinery
import importlib.util
import logging
import os
import pathlib
import sys
import tempfile
import traceback
from pathlib import Path
import jinja2
import jinja2.ext
@ -31,17 +33,6 @@ from salt.utils.decorators.jinja import JinjaFilter, JinjaGlobal, JinjaTest
from salt.utils.odict import OrderedDict
from salt.utils.versions import Version
if sys.version_info[:2] >= (3, 5):
import importlib.machinery # pylint: disable=no-name-in-module,import-error
import importlib.util # pylint: disable=no-name-in-module,import-error
USE_IMPORTLIB = True
else:
import imp
USE_IMPORTLIB = False
log = logging.getLogger(__name__)
@ -118,14 +109,14 @@ def generate_sls_context(tmplpath, sls):
if tmplpath:
# Normalize template path
template = str(Path(tmplpath).as_posix())
template = str(pathlib.Path(tmplpath).as_posix())
# Determine proper template name without root
if not sls:
template = template.rsplit("/", 1)[-1]
elif template.endswith("{}.sls".format(slspath)):
elif template.endswith(f"{slspath}.sls"):
template = template[-(4 + len(slspath)) :]
elif template.endswith("{}/init.sls".format(slspath)):
elif template.endswith(f"{slspath}/init.sls"):
template = template[-(9 + len(slspath)) :]
else:
# Something went wrong
@ -322,14 +313,14 @@ def _get_jinja_error(trace, context=None):
# error log place at the beginning
if add_log:
if template_path:
out = "\n{}\n".format(msg.splitlines()[0])
out = f"\n{msg.splitlines()[0]}\n"
with salt.utils.files.fopen(template_path) as fp_:
template_contents = salt.utils.stringutils.to_unicode(fp_.read())
out += salt.utils.stringutils.get_context(
template_contents, line, marker=" <======================"
)
else:
out = "\n{}\n".format(msg)
out = f"\n{msg}\n"
line = 0
return line, out
@ -479,7 +470,7 @@ def render_jinja_tmpl(tmplstr, context, tmplpath=None):
line, out = _get_jinja_error(trace, context=decoded_context)
if not line:
tmplstr = ""
raise SaltRenderError("Jinja variable {}{}".format(exc, out), line, tmplstr)
raise SaltRenderError(f"Jinja variable {exc}{out}", line, tmplstr)
except (
jinja2.exceptions.TemplateRuntimeError,
jinja2.exceptions.TemplateSyntaxError,
@ -489,9 +480,7 @@ def render_jinja_tmpl(tmplstr, context, tmplpath=None):
line, out = _get_jinja_error(trace, context=decoded_context)
if not line:
tmplstr = ""
raise SaltRenderError(
"Jinja syntax error: {}{}".format(exc, out), line, tmplstr
)
raise SaltRenderError(f"Jinja syntax error: {exc}{out}", line, tmplstr)
except (SaltInvocationError, CommandExecutionError) as exc:
trace = traceback.extract_tb(sys.exc_info()[2])
line, out = _get_jinja_error(trace, context=decoded_context)
@ -511,7 +500,7 @@ def render_jinja_tmpl(tmplstr, context, tmplpath=None):
if not line:
tmplstr = ""
else:
tmplstr += "\n{}".format(tracestr)
tmplstr += f"\n{tracestr}"
log.debug("Jinja Error")
log.debug("Exception:", exc_info=True)
log.debug("Out: %s", out)
@ -520,7 +509,7 @@ def render_jinja_tmpl(tmplstr, context, tmplpath=None):
log.debug("TraceStr: %s", tracestr)
raise SaltRenderError(
"Jinja error: {}{}".format(exc, out), line, tmplstr, trace=tracestr
f"Jinja error: {exc}{out}", line, tmplstr, trace=tracestr
)
finally:
if loader and isinstance(loader, salt.utils.jinja.SaltCacheLoader):
@ -676,25 +665,21 @@ def py(sfn, string=False, **kwargs): # pylint: disable=C0103
base_fname = os.path.basename(sfn)
name = base_fname.split(".")[0]
if USE_IMPORTLIB:
# pylint: disable=no-member
loader = importlib.machinery.SourceFileLoader(name, sfn)
spec = importlib.util.spec_from_file_location(name, sfn, loader=loader)
if spec is None:
raise ImportError()
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
# pylint: enable=no-member
sys.modules[name] = mod
else:
mod = imp.load_source(name, sfn)
loader = importlib.machinery.SourceFileLoader(name, sfn)
spec = importlib.util.spec_from_file_location(name, sfn, loader=loader)
if spec is None:
raise ImportError()
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
# pylint: enable=no-member
sys.modules[name] = mod
# File templates need these set as __var__
if "__env__" not in kwargs and "saltenv" in kwargs:
setattr(mod, "__env__", kwargs["saltenv"])
builtins = ["salt", "grains", "pillar", "opts"]
for builtin in builtins:
arg = "__{}__".format(builtin)
arg = f"__{builtin}__"
setattr(mod, arg, kwargs[builtin])
for kwarg in kwargs:

View file

@ -485,7 +485,7 @@ class CloudSdist(Sdist): # pylint: disable=too-many-ancestors
with open(deploy_path, "w") as fp_:
fp_.write(script_contents)
except OSError as err:
log.error("Failed to write the updated script: {}".format(err))
log.error(f"Failed to write the updated script: {err}")
# Let's the rest of the build command
Sdist.run(self)
@ -544,7 +544,7 @@ class Clean(clean):
for subdir in ("salt", "tests", "doc"):
root = os.path.join(os.path.dirname(__file__), subdir)
for dirname, _, _ in os.walk(root):
for to_remove_filename in glob.glob("{}/*.py[oc]".format(dirname)):
for to_remove_filename in glob.glob(f"{dirname}/*.py[oc]"):
os.remove(to_remove_filename)
@ -849,14 +849,12 @@ 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.6"
self.python_requires = ">=3.8"
self.classifiers = [
"Programming Language :: Python",
"Programming Language :: Cython",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"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",
@ -910,8 +908,8 @@ class SaltDistribution(distutils.dist.Distribution):
continue
if attrname == "salt_version":
attrname = "version"
if hasattr(self.metadata, "set_{}".format(attrname)):
getattr(self.metadata, "set_{}".format(attrname))(attrvalue)
if hasattr(self.metadata, f"set_{attrname}"):
getattr(self.metadata, f"set_{attrname}")(attrvalue)
elif hasattr(self.metadata, attrname):
try:
setattr(self.metadata, attrname, attrvalue)

View file

@ -408,7 +408,7 @@ def set_max_open_files_limits(min_soft=3072, min_hard=4096):
def pytest_report_header():
soft, hard = set_max_open_files_limits()
return "max open files; soft: {}; hard: {}".format(soft, hard)
return f"max open files; soft: {soft}; hard: {hard}"
def pytest_itemcollected(item):
@ -850,7 +850,7 @@ def groups_collection_modifyitems(config, items):
terminal_reporter = config.pluginmanager.get_plugin("terminalreporter")
terminal_reporter.write(
"Running test group #{} ({} tests)\n".format(group_id, len(items)),
f"Running test group #{group_id} ({len(items)} tests)\n",
yellow=True,
)
@ -911,12 +911,7 @@ def integration_files_dir(salt_factories):
for child in (PYTESTS_DIR / "integration" / "files").iterdir():
destpath = dirname / child.name
if child.is_dir():
if sys.version_info >= (3, 8):
shutil.copytree(str(child), str(destpath), dirs_exist_ok=True)
else:
if destpath.exists():
shutil.rmtree(str(destpath), ignore_errors=True)
shutil.copytree(str(child), str(destpath))
shutil.copytree(str(child), str(destpath), dirs_exist_ok=True)
else:
shutil.copyfile(str(child), str(destpath))
return dirname
@ -1500,7 +1495,7 @@ def from_filenames_collection_modifyitems(config, items):
path.replace("\\", os.sep).replace("/", os.sep)
)
if not properly_slashed_path.exists():
errors.append("{}: Does not exist".format(properly_slashed_path))
errors.append(f"{properly_slashed_path}: Does not exist")
continue
if (
properly_slashed_path.name == "testrun-changed-files.txt"
@ -1523,12 +1518,12 @@ def from_filenames_collection_modifyitems(config, items):
)
continue
changed_files_selections.append(
"{}: Source {}".format(line_path, properly_slashed_path)
f"{line_path}: Source {properly_slashed_path}"
)
from_filenames_paths.add(line_path)
continue
changed_files_selections.append(
"{}: Source --from-filenames".format(properly_slashed_path)
f"{properly_slashed_path}: Source --from-filenames"
)
from_filenames_paths.add(properly_slashed_path)
@ -1558,7 +1553,7 @@ def from_filenames_collection_modifyitems(config, items):
continue
# Tests in the listing don't require additional matching and will be added to the
# list of tests to run
test_module_selections.append("{}: Source --from-filenames".format(path))
test_module_selections.append(f"{path}: Source --from-filenames")
test_module_paths.add(path)
continue
if path.name == "setup.py" or path.as_posix().startswith("salt/"):
@ -1571,18 +1566,18 @@ def from_filenames_collection_modifyitems(config, items):
# salt/version.py ->
# tests/unit/test_version.py
# tests/pytests/unit/test_version.py
"**/test_{}".format(path.name),
f"**/test_{path.name}",
# salt/modules/grains.py ->
# tests/pytests/integration/modules/grains/tests_*.py
# salt/modules/saltutil.py ->
# tests/pytests/integration/modules/saltutil/test_*.py
"**/{}/test_*.py".format(path.stem),
f"**/{path.stem}/test_*.py",
# salt/modules/config.py ->
# tests/unit/modules/test_config.py
# tests/integration/modules/test_config.py
# tests/pytests/unit/modules/test_config.py
# tests/pytests/integration/modules/test_config.py
"**/{}/test_{}".format(path.parent.name, path.name),
f"**/{path.parent.name}/test_{path.name}",
)
for pattern in glob_patterns:
for match in TESTS_DIR.rglob(pattern):
@ -1641,20 +1636,20 @@ def from_filenames_collection_modifyitems(config, items):
test_module_paths.add(match_path)
continue
else:
errors.append("{}: Don't know what to do with this path".format(path))
errors.append(f"{path}: Don't know what to do with this path")
if errors:
terminal_reporter.write("Errors:\n", bold=True)
for error in errors:
terminal_reporter.write(" * {}\n".format(error))
terminal_reporter.write(f" * {error}\n")
if changed_files_selections:
terminal_reporter.write("Changed files collected:\n", bold=True)
for selection in changed_files_selections:
terminal_reporter.write(" * {}\n".format(selection))
terminal_reporter.write(f" * {selection}\n")
if test_module_selections:
terminal_reporter.write("Selected test modules:\n", bold=True)
for selection in test_module_selections:
terminal_reporter.write(" * {}\n".format(selection))
terminal_reporter.write(f" * {selection}\n")
terminal_reporter.section(
"From Filenames(--from-filenames) Test Selection", sep="<"
)

View file

@ -1,10 +1,6 @@
"""
:codeauthor: Rupesh Tare <rupesht@saltstack.com>
"""
import sys
import pytest
import salt.modules.genesis as genesis
@ -20,11 +16,7 @@ def test_bootstrap():
"""
Test for Create an image for a specific platform.
"""
# Changed in 3.7.0 pformat no longer includes the comma
if sys.version_info >= (3, 7):
exception_string = "Exception({})".format(repr("foo"))
else:
exception_string = "Exception({},)".format(repr("foo"))
exception_string = "Exception({})".format(repr("foo"))
mock = MagicMock(return_value=False)
with patch.dict(genesis.__salt__, {"file.directory_exists": mock}):
mock = MagicMock(side_effect=Exception("foo"))

View file

@ -4,7 +4,6 @@ Tests for stringutils utility file.
import builtins
import re
import sys
import textwrap
import pytest
@ -185,7 +184,7 @@ def test_is_binary():
assert salt.utils.stringutils.is_binary(b"") is False
nontext = 3 * "".join([chr(x) for x in range(1, 32) if x not in (8, 9, 10, 12, 13)])
almost_bin_str = "{}{}".format(LOREM_IPSUM[:100], nontext[:42])
almost_bin_str = f"{LOREM_IPSUM[:100]}{nontext[:42]}"
assert salt.utils.stringutils.is_binary(almost_bin_str) is False
# Also test bytestring
@ -278,16 +277,10 @@ def test_build_whitespace_split_regex():
# With 3.7+, re.escape only escapes special characters, no longer
# escaping all characters other than ASCII letters, numbers and
# underscores. This includes commas.
if sys.version_info >= (3, 7):
expected_regex = (
"(?m)^(?:[\\s]+)?Lorem(?:[\\s]+)?ipsum(?:[\\s]+)?dolor(?:[\\s]+)?sit(?:[\\s]+)?amet,"
"(?:[\\s]+)?$"
)
else:
expected_regex = (
"(?m)^(?:[\\s]+)?Lorem(?:[\\s]+)?ipsum(?:[\\s]+)?dolor(?:[\\s]+)?sit(?:[\\s]+)?amet\\,"
"(?:[\\s]+)?$"
)
expected_regex = (
"(?m)^(?:[\\s]+)?Lorem(?:[\\s]+)?ipsum(?:[\\s]+)?dolor(?:[\\s]+)?sit(?:[\\s]+)?amet,"
"(?:[\\s]+)?$"
)
assert (
salt.utils.stringutils.build_whitespace_split_regex(
" ".join(LOREM_IPSUM.split()[:5])
@ -748,24 +741,15 @@ def test_human_to_bytes(unit):
for val in vals:
# calculate KB, MB, GB, etc. as 1024 instead of 1000 (legacy use)
assert (
salt.utils.stringutils.human_to_bytes("{}{}".format(val, unit)) == val * iec
)
assert (
salt.utils.stringutils.human_to_bytes("{} {}".format(val, unit))
== val * iec
)
assert salt.utils.stringutils.human_to_bytes(f"{val}{unit}") == val * iec
assert salt.utils.stringutils.human_to_bytes(f"{val} {unit}") == val * iec
# handle metric (KB, MB, GB, etc.) per standard
assert (
salt.utils.stringutils.human_to_bytes(
"{}{}".format(val, unit), handle_metric=True
)
salt.utils.stringutils.human_to_bytes(f"{val}{unit}", handle_metric=True)
== val * multiplier
)
assert (
salt.utils.stringutils.human_to_bytes(
"{} {}".format(val, unit), handle_metric=True
)
salt.utils.stringutils.human_to_bytes(f"{val} {unit}", handle_metric=True)
== val * multiplier
)