Skip to content

Commit 4eee7dc

Browse files
committed
build: don't install multiple .pip files
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.
1 parent a749867 commit 4eee7dc

File tree

3 files changed

+304
-2
lines changed

3 files changed

+304
-2
lines changed

Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ upgrade: ## Update the *.pip files with the latest packages satisfying *.in
8686
$(PIP_COMPILE) -o requirements/dev.pip requirements/dev.in
8787
$(PIP_COMPILE) -o requirements/light-threads.pip requirements/light-threads.in
8888
$(PIP_COMPILE) -o doc/requirements.pip doc/requirements.in
89+
$(PIP_COMPILE) -o requirements/lint.pip doc/requirements.in requirements/dev.in
8990

9091

9192
##@ Pre-builds for prepping the code

requirements/lint.pip

+302
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
#
2+
# This file is autogenerated by pip-compile with python 3.7
3+
# To update, run:
4+
#
5+
# make upgrade
6+
#
7+
alabaster==0.7.12
8+
# via sphinx
9+
astroid==2.11.7
10+
# via pylint
11+
attrs==22.1.0
12+
# via
13+
# -r requirements/pytest.pip
14+
# hypothesis
15+
# pytest
16+
babel==2.10.3
17+
# via sphinx
18+
backports-functools-lru-cache==1.6.4
19+
# via
20+
# -r requirements/pytest.pip
21+
# pycontracts
22+
bleach==5.0.1
23+
# via readme-renderer
24+
build==0.8.0
25+
# via check-manifest
26+
certifi==2022.6.15
27+
# via requests
28+
charset-normalizer==2.1.0
29+
# via requests
30+
check-manifest==0.48
31+
# via -r requirements/dev.in
32+
cogapp==3.3.0
33+
# via
34+
# -r doc/requirements.in
35+
# -r requirements/dev.in
36+
colorama==0.4.5
37+
# via sphinx-autobuild
38+
commonmark==0.9.1
39+
# via rich
40+
decorator==5.1.1
41+
# via
42+
# -r requirements/pytest.pip
43+
# pycontracts
44+
dill==0.3.5.1
45+
# via pylint
46+
distlib==0.3.5
47+
# via
48+
# -r requirements/pip.pip
49+
# virtualenv
50+
docutils==0.17.1
51+
# via
52+
# readme-renderer
53+
# sphinx
54+
# sphinx-rtd-theme
55+
exceptiongroup==1.0.0rc8
56+
# via
57+
# -r requirements/pytest.pip
58+
# hypothesis
59+
execnet==1.9.0
60+
# via
61+
# -r requirements/pytest.pip
62+
# pytest-xdist
63+
filelock==3.8.0
64+
# via
65+
# -r requirements/pip.pip
66+
# tox
67+
# virtualenv
68+
flaky==3.7.0
69+
# via -r requirements/pytest.pip
70+
future==0.18.2
71+
# via
72+
# -r requirements/pytest.pip
73+
# pycontracts
74+
greenlet==1.1.2
75+
# via -r requirements/dev.in
76+
hypothesis==6.54.3
77+
# via -r requirements/pytest.pip
78+
idna==3.3
79+
# via requests
80+
imagesize==1.4.1
81+
# via sphinx
82+
importlib-metadata==4.12.0
83+
# via
84+
# -r requirements/pip.pip
85+
# -r requirements/pytest.pip
86+
# build
87+
# keyring
88+
# pluggy
89+
# pytest
90+
# sphinx
91+
# sphinxcontrib-spelling
92+
# tox
93+
# twine
94+
# virtualenv
95+
iniconfig==1.1.1
96+
# via
97+
# -r requirements/pytest.pip
98+
# pytest
99+
isort==5.10.1
100+
# via pylint
101+
jedi==0.18.1
102+
# via pudb
103+
jinja2==3.1.2
104+
# via sphinx
105+
keyring==23.8.2
106+
# via twine
107+
lazy-object-proxy==1.7.1
108+
# via astroid
109+
libsass==0.21.0
110+
# via -r requirements/dev.in
111+
livereload==2.6.3
112+
# via sphinx-autobuild
113+
markupsafe==2.1.1
114+
# via jinja2
115+
mccabe==0.7.0
116+
# via pylint
117+
packaging==21.3
118+
# via
119+
# -r requirements/pytest.pip
120+
# build
121+
# pudb
122+
# pytest
123+
# sphinx
124+
# tox
125+
parso==0.8.3
126+
# via jedi
127+
pep517==0.13.0
128+
# via build
129+
pkginfo==1.8.3
130+
# via twine
131+
platformdirs==2.5.2
132+
# via
133+
# -r requirements/pip.pip
134+
# pylint
135+
# virtualenv
136+
pluggy==1.0.0
137+
# via
138+
# -r requirements/pytest.pip
139+
# pytest
140+
# tox
141+
pudb==2022.1.2
142+
# via -r requirements/dev.in
143+
py==1.11.0
144+
# via
145+
# -r requirements/pytest.pip
146+
# pytest
147+
# pytest-forked
148+
# tox
149+
pycontracts @ git+https://github.com/slorg1/contracts@collections_and_validator
150+
# via -r requirements/pytest.pip
151+
pyenchant==3.2.2
152+
# via
153+
# -r doc/requirements.in
154+
# sphinxcontrib-spelling
155+
pygments==2.12.0
156+
# via
157+
# pudb
158+
# readme-renderer
159+
# rich
160+
# sphinx
161+
pylint==2.14.5
162+
# via -r requirements/dev.in
163+
pyparsing==3.0.9
164+
# via
165+
# -r requirements/pytest.pip
166+
# packaging
167+
# pycontracts
168+
pytest==7.1.2
169+
# via
170+
# -r requirements/pytest.pip
171+
# pytest-forked
172+
# pytest-xdist
173+
pytest-forked==1.4.0
174+
# via
175+
# -r requirements/pytest.pip
176+
# pytest-xdist
177+
pytest-xdist==2.5.0
178+
# via -r requirements/pytest.pip
179+
pytz==2022.2.1
180+
# via babel
181+
qualname==0.1.0
182+
# via
183+
# -r requirements/pytest.pip
184+
# pycontracts
185+
readme-renderer==36.0
186+
# via
187+
# -r requirements/dev.in
188+
# twine
189+
requests==2.28.1
190+
# via
191+
# -r requirements/dev.in
192+
# requests-toolbelt
193+
# sphinx
194+
# twine
195+
requests-toolbelt==0.9.1
196+
# via twine
197+
rfc3986==2.0.0
198+
# via twine
199+
rich==12.5.1
200+
# via twine
201+
six==1.16.0
202+
# via
203+
# -r requirements/pytest.pip
204+
# bleach
205+
# libsass
206+
# livereload
207+
# pycontracts
208+
# tox
209+
snowballstemmer==2.2.0
210+
# via sphinx
211+
sortedcontainers==2.4.0
212+
# via
213+
# -r requirements/pytest.pip
214+
# hypothesis
215+
sphinx==5.1.1
216+
# via
217+
# -r doc/requirements.in
218+
# sphinx-autobuild
219+
# sphinx-rtd-theme
220+
# sphinxcontrib-restbuilder
221+
# sphinxcontrib-spelling
222+
sphinx-autobuild==2021.3.14
223+
# via -r doc/requirements.in
224+
sphinx-rtd-theme==1.0.0
225+
# via -r doc/requirements.in
226+
sphinxcontrib-applehelp==1.0.2
227+
# via sphinx
228+
sphinxcontrib-devhelp==1.0.2
229+
# via sphinx
230+
sphinxcontrib-htmlhelp==2.0.0
231+
# via sphinx
232+
sphinxcontrib-jsmath==1.0.1
233+
# via sphinx
234+
sphinxcontrib-qthelp==1.0.3
235+
# via sphinx
236+
sphinxcontrib-restbuilder==0.3
237+
# via -r doc/requirements.in
238+
sphinxcontrib-serializinghtml==1.1.5
239+
# via sphinx
240+
sphinxcontrib-spelling==7.6.0
241+
# via -r doc/requirements.in
242+
toml==0.10.2
243+
# via tox
244+
tomli==2.0.1
245+
# via
246+
# -r requirements/pytest.pip
247+
# build
248+
# check-manifest
249+
# pylint
250+
# pytest
251+
tomlkit==0.11.4
252+
# via pylint
253+
tornado==6.2
254+
# via livereload
255+
tox==3.25.1
256+
# via -r requirements/dev.in
257+
twine==4.0.1
258+
# via -r requirements/dev.in
259+
typed-ast==1.5.4
260+
# via astroid
261+
typing-extensions==4.3.0
262+
# via
263+
# -r requirements/pip.pip
264+
# -r requirements/pytest.pip
265+
# astroid
266+
# importlib-metadata
267+
# pylint
268+
# rich
269+
urllib3==1.26.11
270+
# via
271+
# requests
272+
# twine
273+
urwid==2.1.2
274+
# via
275+
# pudb
276+
# urwid-readline
277+
urwid-readline==0.13
278+
# via pudb
279+
virtualenv==20.16.3
280+
# via
281+
# -r requirements/pip.pip
282+
# tox
283+
webencodings==0.5.1
284+
# via bleach
285+
wrapt==1.14.1
286+
# via astroid
287+
zipp==3.8.1
288+
# via
289+
# -r requirements/pip.pip
290+
# -r requirements/pytest.pip
291+
# importlib-metadata
292+
293+
# The following packages are considered to be unsafe in a requirements file:
294+
pip==22.0.4
295+
# via
296+
# -c doc/../requirements/pins.pip
297+
# -c requirements/pins.pip
298+
# -r requirements/pip.pip
299+
setuptools==65.0.0
300+
# via
301+
# astroid
302+
# check-manifest

tox.ini

+1-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,7 @@ commands =
7070

7171
[testenv:lint]
7272
deps =
73-
-r requirements/dev.pip
74-
-r doc/requirements.pip
73+
-r requirements/lint.pip
7574

7675
setenv =
7776
LINTABLE = coverage tests doc ci igor.py setup.py __main__.py

0 commit comments

Comments
 (0)