Skip to content

Commit

Permalink
build: don't install multiple .pip files
Browse files Browse the repository at this point in the history
If .pip files are pip-compile'd separately, they can have different
pinned versions.  Then when installed together, pip can't resolve the
difference.  Instead, pip-compile multiple .in files to produce one .pip
file that is installed.
  • Loading branch information
nedbat committed Aug 15, 2022
1 parent a749867 commit 4eee7dc
Show file tree
Hide file tree
Showing 3 changed files with 304 additions and 2 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ upgrade: ## Update the *.pip files with the latest packages satisfying *.in
$(PIP_COMPILE) -o requirements/dev.pip requirements/dev.in
$(PIP_COMPILE) -o requirements/light-threads.pip requirements/light-threads.in
$(PIP_COMPILE) -o doc/requirements.pip doc/requirements.in
$(PIP_COMPILE) -o requirements/lint.pip doc/requirements.in requirements/dev.in


##@ Pre-builds for prepping the code
Expand Down
302 changes: 302 additions & 0 deletions requirements/lint.pip
Original file line number Diff line number Diff line change
@@ -0,0 +1,302 @@
#
# This file is autogenerated by pip-compile with python 3.7
# To update, run:
#
# make upgrade
#
alabaster==0.7.12
# via sphinx
astroid==2.11.7
# via pylint
attrs==22.1.0
# via
# -r requirements/pytest.pip
# hypothesis
# pytest
babel==2.10.3
# via sphinx
backports-functools-lru-cache==1.6.4
# via
# -r requirements/pytest.pip
# pycontracts
bleach==5.0.1
# via readme-renderer
build==0.8.0
# via check-manifest
certifi==2022.6.15
# via requests
charset-normalizer==2.1.0
# via requests
check-manifest==0.48
# via -r requirements/dev.in
cogapp==3.3.0
# via
# -r doc/requirements.in
# -r requirements/dev.in
colorama==0.4.5
# via sphinx-autobuild
commonmark==0.9.1
# via rich
decorator==5.1.1
# via
# -r requirements/pytest.pip
# pycontracts
dill==0.3.5.1
# via pylint
distlib==0.3.5
# via
# -r requirements/pip.pip
# virtualenv
docutils==0.17.1
# via
# readme-renderer
# sphinx
# sphinx-rtd-theme
exceptiongroup==1.0.0rc8
# via
# -r requirements/pytest.pip
# hypothesis
execnet==1.9.0
# via
# -r requirements/pytest.pip
# pytest-xdist
filelock==3.8.0
# via
# -r requirements/pip.pip
# tox
# virtualenv
flaky==3.7.0
# via -r requirements/pytest.pip
future==0.18.2
# via
# -r requirements/pytest.pip
# pycontracts
greenlet==1.1.2
# via -r requirements/dev.in
hypothesis==6.54.3
# via -r requirements/pytest.pip
idna==3.3
# via requests
imagesize==1.4.1
# via sphinx
importlib-metadata==4.12.0
# via
# -r requirements/pip.pip
# -r requirements/pytest.pip
# build
# keyring
# pluggy
# pytest
# sphinx
# sphinxcontrib-spelling
# tox
# twine
# virtualenv
iniconfig==1.1.1
# via
# -r requirements/pytest.pip
# pytest
isort==5.10.1
# via pylint
jedi==0.18.1
# via pudb
jinja2==3.1.2
# via sphinx
keyring==23.8.2
# via twine
lazy-object-proxy==1.7.1
# via astroid
libsass==0.21.0
# via -r requirements/dev.in
livereload==2.6.3
# via sphinx-autobuild
markupsafe==2.1.1
# via jinja2
mccabe==0.7.0
# via pylint
packaging==21.3
# via
# -r requirements/pytest.pip
# build
# pudb
# pytest
# sphinx
# tox
parso==0.8.3
# via jedi
pep517==0.13.0
# via build
pkginfo==1.8.3
# via twine
platformdirs==2.5.2
# via
# -r requirements/pip.pip
# pylint
# virtualenv
pluggy==1.0.0
# via
# -r requirements/pytest.pip
# pytest
# tox
pudb==2022.1.2
# via -r requirements/dev.in
py==1.11.0
# via
# -r requirements/pytest.pip
# pytest
# pytest-forked
# tox
pycontracts @ git+https://github.com/slorg1/contracts@collections_and_validator
# via -r requirements/pytest.pip
pyenchant==3.2.2
# via
# -r doc/requirements.in
# sphinxcontrib-spelling
pygments==2.12.0
# via
# pudb
# readme-renderer
# rich
# sphinx
pylint==2.14.5
# via -r requirements/dev.in
pyparsing==3.0.9
# via
# -r requirements/pytest.pip
# packaging
# pycontracts
pytest==7.1.2
# via
# -r requirements/pytest.pip
# pytest-forked
# pytest-xdist
pytest-forked==1.4.0
# via
# -r requirements/pytest.pip
# pytest-xdist
pytest-xdist==2.5.0
# via -r requirements/pytest.pip
pytz==2022.2.1
# via babel
qualname==0.1.0
# via
# -r requirements/pytest.pip
# pycontracts
readme-renderer==36.0
# via
# -r requirements/dev.in
# twine
requests==2.28.1
# via
# -r requirements/dev.in
# requests-toolbelt
# sphinx
# twine
requests-toolbelt==0.9.1
# via twine
rfc3986==2.0.0
# via twine
rich==12.5.1
# via twine
six==1.16.0
# via
# -r requirements/pytest.pip
# bleach
# libsass
# livereload
# pycontracts
# tox
snowballstemmer==2.2.0
# via sphinx
sortedcontainers==2.4.0
# via
# -r requirements/pytest.pip
# hypothesis
sphinx==5.1.1
# via
# -r doc/requirements.in
# sphinx-autobuild
# sphinx-rtd-theme
# sphinxcontrib-restbuilder
# sphinxcontrib-spelling
sphinx-autobuild==2021.3.14
# via -r doc/requirements.in
sphinx-rtd-theme==1.0.0
# via -r doc/requirements.in
sphinxcontrib-applehelp==1.0.2
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==2.0.0
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-restbuilder==0.3
# via -r doc/requirements.in
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
sphinxcontrib-spelling==7.6.0
# via -r doc/requirements.in
toml==0.10.2
# via tox
tomli==2.0.1
# via
# -r requirements/pytest.pip
# build
# check-manifest
# pylint
# pytest
tomlkit==0.11.4
# via pylint
tornado==6.2
# via livereload
tox==3.25.1
# via -r requirements/dev.in
twine==4.0.1
# via -r requirements/dev.in
typed-ast==1.5.4
# via astroid
typing-extensions==4.3.0
# via
# -r requirements/pip.pip
# -r requirements/pytest.pip
# astroid
# importlib-metadata
# pylint
# rich
urllib3==1.26.11
# via
# requests
# twine
urwid==2.1.2
# via
# pudb
# urwid-readline
urwid-readline==0.13
# via pudb
virtualenv==20.16.3
# via
# -r requirements/pip.pip
# tox
webencodings==0.5.1
# via bleach
wrapt==1.14.1
# via astroid
zipp==3.8.1
# via
# -r requirements/pip.pip
# -r requirements/pytest.pip
# importlib-metadata

# The following packages are considered to be unsafe in a requirements file:
pip==22.0.4
# via
# -c doc/../requirements/pins.pip
# -c requirements/pins.pip
# -r requirements/pip.pip
setuptools==65.0.0
# via
# astroid
# check-manifest
3 changes: 1 addition & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ commands =

[testenv:lint]
deps =
-r requirements/dev.pip
-r doc/requirements.pip
-r requirements/lint.pip

setenv =
LINTABLE = coverage tests doc ci igor.py setup.py __main__.py
Expand Down

0 comments on commit 4eee7dc

Please sign in to comment.