From eea31f29a50eeb30ec3c314bb2a6de4c931095c1 Mon Sep 17 00:00:00 2001 From: David Lord Date: Sat, 23 May 2020 14:03:11 -0700 Subject: [PATCH] use pip-compile to pin dev requirements --- .pre-commit-config.yaml | 8 +++--- .readthedocs.yaml | 2 +- CONTRIBUTING.rst | 3 +-- MANIFEST.in | 1 + docs/requirements.txt | 5 ---- requirements/dev.in | 5 ++++ requirements/dev.txt | 59 +++++++++++++++++++++++++++++++++++++++++ requirements/docs.in | 5 ++++ requirements/docs.txt | 36 +++++++++++++++++++++++++ requirements/tests.in | 4 +++ requirements/tests.txt | 18 +++++++++++++ setup.py | 13 +-------- tox.ini | 7 ++--- 13 files changed, 137 insertions(+), 29 deletions(-) delete mode 100644 docs/requirements.txt create mode 100644 requirements/dev.in create mode 100644 requirements/dev.txt create mode 100644 requirements/docs.in create mode 100644 requirements/docs.txt create mode 100644 requirements/tests.in create mode 100644 requirements/tests.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e67cbe13..c81cc3d3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,11 +1,11 @@ repos: - repo: https://github.com/asottile/pyupgrade - rev: v2.1.0 + rev: v2.4.3 hooks: - id: pyupgrade args: ["--py36-plus"] - repo: https://github.com/asottile/reorder_python_imports - rev: v2.1.0 + rev: v2.3.0 hooks: - id: reorder-python-imports name: Reorder Python imports (src, tests) @@ -16,14 +16,14 @@ repos: hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 - rev: 3.7.9 + rev: 3.8.2 hooks: - id: flake8 additional_dependencies: - flake8-bugbear - flake8-implicit-str-concat - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.5.0 + rev: v3.1.0 hooks: - id: check-byte-order-marker - id: trailing-whitespace diff --git a/.readthedocs.yaml b/.readthedocs.yaml index af232107..19069520 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -1,8 +1,8 @@ version: 2 python: install: + - requirements: requirements/docs.txt - method: pip path: . - - requirements: docs/requirements.txt sphinx: builder: dirhtml diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index e9b17d51..4c6b18a7 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -97,9 +97,8 @@ First time setup .. code-block:: text - $ pip install -e ".[dev]" + $ pip install -e . -r requirements/dev.txt -- Install the `pre-commit framework`_. - Install the pre-commit hooks. .. code-block:: text diff --git a/MANIFEST.in b/MANIFEST.in index 1743c84b..a63d6ee1 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,6 +2,7 @@ include CHANGES.rst include CONTRIBUTING.rst include LICENSE.rst include tox.ini +include requirements/*.txt graft artwork graft docs prune docs/_build diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index cadd40cd..00000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -Sphinx~=3.0.0 -Pallets-Sphinx-Themes~=1.2.3 -sphinxcontrib-log-cabinet~=1.0.1 -sphinx-issues~=1.2.0 -packaging~=20.3 diff --git a/requirements/dev.in b/requirements/dev.in new file mode 100644 index 00000000..c854000e --- /dev/null +++ b/requirements/dev.in @@ -0,0 +1,5 @@ +-r docs.in +-r tests.in +pip-tools +pre-commit +tox diff --git a/requirements/dev.txt b/requirements/dev.txt new file mode 100644 index 00000000..76e5e7bb --- /dev/null +++ b/requirements/dev.txt @@ -0,0 +1,59 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile requirements/dev.in +# +alabaster==0.7.12 # via sphinx +appdirs==1.4.4 # via virtualenv +attrs==19.3.0 # via pytest +babel==2.8.0 # via sphinx +blinker==1.4 # via -r requirements/tests.in +certifi==2020.4.5.1 # via requests +cfgv==3.1.0 # via pre-commit +chardet==3.0.4 # via requests +click==7.1.2 # via pip-tools +distlib==0.3.0 # via virtualenv +docutils==0.16 # via sphinx +filelock==3.0.12 # via tox, virtualenv +greenlet==0.4.15 # via -r requirements/tests.in +identify==1.4.16 # via pre-commit +idna==2.9 # via requests +imagesize==1.2.0 # via sphinx +jinja2==2.11.2 # via sphinx +markupsafe==1.1.1 # via jinja2 +more-itertools==8.3.0 # via pytest +nodeenv==1.3.5 # via pre-commit +packaging==20.4 # via -r requirements/docs.in, pallets-sphinx-themes, pytest, sphinx, tox +pallets-sphinx-themes==1.2.3 # via -r requirements/docs.in +pip-tools==5.1.2 # via -r requirements/dev.in +pluggy==0.13.1 # via pytest, tox +pre-commit==2.4.0 # via -r requirements/dev.in +py==1.8.1 # via pytest, tox +pygments==2.6.1 # via sphinx +pyparsing==2.4.7 # via packaging +pytest==5.4.2 # via -r requirements/tests.in +python-dotenv==0.13.0 # via -r requirements/tests.in +pytz==2020.1 # via babel +pyyaml==5.3.1 # via pre-commit +requests==2.23.0 # via sphinx +six==1.15.0 # via packaging, pip-tools, tox, virtualenv +snowballstemmer==2.0.0 # via sphinx +sphinx-issues==1.2.0 # via -r requirements/docs.in +sphinx==3.0.3 # via -r requirements/docs.in, pallets-sphinx-themes, sphinx-issues, sphinxcontrib-log-cabinet +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-log-cabinet==1.0.1 # via -r requirements/docs.in +sphinxcontrib-qthelp==1.0.3 # via sphinx +sphinxcontrib-serializinghtml==1.1.4 # via sphinx +toml==0.10.1 # via pre-commit, tox +tox==3.15.1 # via -r requirements/dev.in +urllib3==1.25.9 # via requests +virtualenv==20.0.21 # via pre-commit, tox +wcwidth==0.1.9 # via pytest + +# The following packages are considered to be unsafe in a requirements file: +# pip +# setuptools diff --git a/requirements/docs.in b/requirements/docs.in new file mode 100644 index 00000000..04942a0d --- /dev/null +++ b/requirements/docs.in @@ -0,0 +1,5 @@ +Pallets-Sphinx-Themes +packaging +Sphinx +sphinx-issues +sphinxcontrib-log-cabinet diff --git a/requirements/docs.txt b/requirements/docs.txt new file mode 100644 index 00000000..6e8f4ab3 --- /dev/null +++ b/requirements/docs.txt @@ -0,0 +1,36 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile requirements/docs.in +# +alabaster==0.7.12 # via sphinx +babel==2.8.0 # via sphinx +certifi==2020.4.5.1 # via requests +chardet==3.0.4 # via requests +docutils==0.16 # via sphinx +idna==2.9 # via requests +imagesize==1.2.0 # via sphinx +jinja2==2.11.2 # via sphinx +markupsafe==1.1.1 # via jinja2 +packaging==20.4 # via -r requirements/docs.in, pallets-sphinx-themes, sphinx +pallets-sphinx-themes==1.2.3 # via -r requirements/docs.in +pygments==2.6.1 # via sphinx +pyparsing==2.4.7 # via packaging +pytz==2020.1 # via babel +requests==2.23.0 # via sphinx +six==1.15.0 # via packaging +snowballstemmer==2.0.0 # via sphinx +sphinx-issues==1.2.0 # via -r requirements/docs.in +sphinx==3.0.3 # via -r requirements/docs.in, pallets-sphinx-themes, sphinx-issues, sphinxcontrib-log-cabinet +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-log-cabinet==1.0.1 # via -r requirements/docs.in +sphinxcontrib-qthelp==1.0.3 # via sphinx +sphinxcontrib-serializinghtml==1.1.4 # via sphinx +urllib3==1.25.9 # via requests + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/tests.in b/requirements/tests.in new file mode 100644 index 00000000..b5f5c912 --- /dev/null +++ b/requirements/tests.in @@ -0,0 +1,4 @@ +pytest +blinker +greenlet +python-dotenv diff --git a/requirements/tests.txt b/requirements/tests.txt new file mode 100644 index 00000000..d891440f --- /dev/null +++ b/requirements/tests.txt @@ -0,0 +1,18 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile requirements/tests.in +# +attrs==19.3.0 # via pytest +blinker==1.4 # via -r requirements/tests.in +greenlet==0.4.15 # via -r requirements/tests.in +more-itertools==8.3.0 # via pytest +packaging==20.4 # via pytest +pluggy==0.13.1 # via pytest +py==1.8.1 # via pytest +pyparsing==2.4.7 # via packaging +pytest==5.4.2 # via -r requirements/tests.in +python-dotenv==0.13.0 # via -r requirements/tests.in +six==1.15.0 # via packaging +wcwidth==0.1.9 # via pytest diff --git a/setup.py b/setup.py index 37f91346..6218be60 100644 --- a/setup.py +++ b/setup.py @@ -15,16 +15,5 @@ setup( "itsdangerous>=0.24", "click>=5.1", ], - extras_require={ - "dotenv": ["python-dotenv"], - "dev": [ - "pytest", - "coverage", - "tox", - "sphinx", - "pallets-sphinx-themes", - "sphinxcontrib-log-cabinet", - "sphinx-issues", - ], - }, + extras_require={"dotenv": ["python-dotenv"]}, ) diff --git a/tox.ini b/tox.ini index e276c231..156648ea 100644 --- a/tox.ini +++ b/tox.ini @@ -8,10 +8,7 @@ skip_missing_interpreters = true [testenv] deps = - pytest - greenlet - blinker - python-dotenv + -r requirements/tests.txt lowest: Werkzeug==0.15.5 lowest: Jinja2==2.10 @@ -36,5 +33,5 @@ skip_install = true commands = pre-commit run --all-files --show-diff-on-failure [testenv:docs] -deps = -r docs/requirements.txt +deps = -r requirements/docs.txt commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs {envtmpdir}/html