diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d9dddd05..8039705d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,7 +41,7 @@ repos: hooks: - id: codespell exclude_types: [json] - exclude: ^tests/mock-+ + exclude: ^(tests/mock-+|requirements.txt) - repo: https://github.com/marco-c/taskcluster_yml_validator rev: v0.0.10 hooks: diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..12c21141 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,145 @@ +# +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: +# +# pip-compile --extra=cicd --strip-extras +# +astroid==3.0.1 + # via pylint +certifi==2023.11.17 + # via requests +cffi==1.16.0 + # via cryptography +charset-normalizer==3.3.2 + # via requests +coverage==7.3.2 + # via + # fuzzfetch (setup.py) + # pytest-cov +cryptography==41.0.7 + # via secretstorage +dill==0.3.7 + # via pylint +docutils==0.20.1 + # via readme-renderer +exceptiongroup==1.2.0 + # via pytest +freezegun==1.3.1 + # via fuzzfetch (setup.py) +idna==3.6 + # via requests +importlib-metadata==7.0.0 + # via + # keyring + # twine +importlib-resources==6.1.1 + # via keyring +iniconfig==2.0.0 + # via pytest +isort==5.12.0 + # via pylint +jaraco-classes==3.3.0 + # via keyring +jeepney==0.8.0 + # via + # keyring + # secretstorage +keyring==24.3.0 + # via twine +markdown-it-py==3.0.0 + # via rich +mccabe==0.7.0 + # via pylint +mdurl==0.1.2 + # via markdown-it-py +more-itertools==10.1.0 + # via jaraco-classes +mypy==1.7.1 + # via fuzzfetch (setup.py) +mypy-extensions==1.0.0 + # via mypy +nh3==0.2.14 + # via readme-renderer +packaging==23.2 + # via + # pytest + # setuptools-scm +pkginfo==1.9.6 + # via twine +platformdirs==4.1.0 + # via pylint +pluggy==1.3.0 + # via pytest +pycparser==2.21 + # via cffi +pygments==2.17.2 + # via + # readme-renderer + # rich +pylint==3.0.2 + # via fuzzfetch (setup.py) +pytest==7.4.3 + # via + # fuzzfetch (setup.py) + # pytest-cov +pytest-cov==4.1.0 + # via fuzzfetch (setup.py) +python-dateutil==2.8.2 + # via freezegun +pytz==2023.3.post1 + # via fuzzfetch (setup.py) +readme-renderer==42.0 + # via twine +requests==2.31.0 + # via + # fuzzfetch (setup.py) + # requests-mock + # requests-toolbelt + # twine +requests-mock==1.11.0 + # via fuzzfetch (setup.py) +requests-toolbelt==1.0.0 + # via twine +rfc3986==2.0.0 + # via twine +rich==13.7.0 + # via twine +secretstorage==3.3.3 + # via keyring +setuptools-scm==8.0.4 + # via fuzzfetch (setup.py) +six==1.16.0 + # via + # python-dateutil + # requests-mock +tomli==2.0.1 + # via + # coverage + # mypy + # pylint + # pytest + # setuptools-scm +tomlkit==0.12.3 + # via pylint +twine==4.0.2 + # via fuzzfetch (setup.py) +typing-extensions==4.8.0 + # via + # astroid + # mypy + # pylint + # rich + # setuptools-scm +urllib3==2.1.0 + # via + # requests + # twine +wheel==0.42.0 + # via fuzzfetch (setup.py) +zipp==3.17.0 + # via + # importlib-metadata + # importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/setup.cfg b/setup.cfg index 18938e4d..f4f0a12a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -36,6 +36,18 @@ console_scripts = dev = pre-commit tox +cicd = + coverage[toml] + freezegun + mypy + pylint + pytest + pytest-cov + requests-mock + setuptools>=43 + setuptools_scm[toml]>=3.4 + twine + wheel [options.package_data] fuzzfetch = diff --git a/tox.ini b/tox.ini index c6fdf573..4372f4e6 100644 --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,7 @@ tox_pip_extensions_ext_venv_update = true [testenv] commands = pytest -v --cache-clear --cov="{toxinidir}" --cov-config="{toxinidir}/pyproject.toml" --cov-report term-missing --basetemp="{envtmpdir}" {posargs} --disable-pytest-warnings +install_command = python -m pip install -c "{toxinidir}/requirements.txt" {opts} {packages} deps = freezegun pytest @@ -43,14 +44,14 @@ skip_install = true commands = mypy --install-types --non-interactive {posargs} deps = - mypy==v1.3.0 + mypy usedevelop = true [testenv:pylint] commands = pylint {posargs} deps = - pylint==2.17.4 + pylint usedevelop = true [testenv:pypi] @@ -64,6 +65,15 @@ deps = wheel skip_install = true +[testenv:update-reqs] +skip_install = true +basepython = python3.8 +deps = + pip-tools +install_command = python -m pip install {opts} {packages} +commands = + pip-compile --extra cicd --strip-extras -U -q + [flake8] # E203, W503, and W504 are all black compat ignore =