Skip to content

Commit

Permalink
Add requrements/ dir containing abstract *.in and concrete *.txt
Browse files Browse the repository at this point in the history
... parametrized by python version.

We have a bunch of dependencies that are only needed on specific python
versions (e.g. backports like dataclasses, importlib_resources, etc).
We use conditional environment markers for those in the top-level
requirements.in files.
pip-compile does not yet support generating a combined requirements.txt
file where differences across python versions/platforms/archs are
reconciled using environmet markers:
jazzband/pip-tools#826

They currently recommend running pip-compile on each targeted python
environment generating as many concrete requirements.txt files
jazzband/pip-tools#651

So this is what I have done here.
  • Loading branch information
anthrotype committed Nov 27, 2020
1 parent 51dbdee commit 661897c
Show file tree
Hide file tree
Showing 8 changed files with 171 additions and 11 deletions.
11 changes: 0 additions & 11 deletions dev-requirements.in

This file was deleted.

9 changes: 9 additions & 0 deletions requirements/dev-requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This file only declares the top-level development requirements.
# Run `pip-compile-all.sh` to generate the concrete py3*-requirements.txt
# files that are used to set up the tox and CI environments.

black
pytest
# As of November 2020, pytype requires: Python <3.9, >=3.6
# https://pypi.org/project/pytype/2020.11.23
pytype; python_version < '3.9'
6 changes: 6 additions & 0 deletions requirements/install-requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Only list here top-level runtime dependencies.
# Run `pip-compile-all.sh` to generate the concrete py3*-requirements.txt
# files that are used to set up the tox and CI environments.
dataclasses>=0.7; python_version < '3.7'
lxml>=4.0
skia-pathops>=0.4.1
33 changes: 33 additions & 0 deletions requirements/pythoh3.7-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/py37-requirements.txt requirements/dev-requirements.in requirements/install-requirements.in
#
appdirs==1.4.4 # via black
attrs==20.3.0 # via pytest, pytype
black==20.8b1 # via -r requirements/dev-requirements.in
click==7.1.2 # via black
decorator==4.4.2 # via networkx
importlab==0.5.1 # via pytype
importlib-metadata==3.1.0 # via pluggy, pytest
iniconfig==1.1.1 # via pytest
lxml==4.6.2 # via -r requirements/install-requirements.in
mypy-extensions==0.4.3 # via black
networkx==2.5 # via importlab
ninja==1.10.0.post2 # via pytype
packaging==20.4 # via pytest
pathspec==0.8.1 # via black
pluggy==0.13.1 # via pytest
py==1.9.0 # via pytest
pyparsing==2.4.7 # via packaging
pytest==6.1.2 # via -r requirements/dev-requirements.in
pytype==2020.11.23 ; python_version < "3.9" # via -r requirements/dev-requirements.in
pyyaml==5.3.1 # via pytype
regex==2020.11.13 # via black
six==1.15.0 # via importlab, packaging, pytype
skia-pathops==0.5.1.post1 # via -r requirements/install-requirements.in
toml==0.10.2 # via black, pytest
typed-ast==1.4.1 # via black, pytype
typing-extensions==3.7.4.3 # via black
zipp==3.4.0 # via importlib-metadata
34 changes: 34 additions & 0 deletions requirements/python3.6-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/python3.6-requirements.txt requirements/dev-requirements.in requirements/install-requirements.in
#
appdirs==1.4.4 # via black
attrs==20.3.0 # via pytest, pytype
black==20.8b1 # via -r requirements/dev-requirements.in
click==7.1.2 # via black
dataclasses==0.8 ; python_version < "3.7" # via -r requirements/install-requirements.in, black
decorator==4.4.2 # via networkx
importlab==0.5.1 # via pytype
importlib-metadata==3.1.0 # via pluggy, pytest
iniconfig==1.1.1 # via pytest
lxml==4.6.2 # via -r requirements/install-requirements.in
mypy-extensions==0.4.3 # via black
networkx==2.5 # via importlab
ninja==1.10.0.post2 # via pytype
packaging==20.4 # via pytest
pathspec==0.8.1 # via black
pluggy==0.13.1 # via pytest
py==1.9.0 # via pytest
pyparsing==2.4.7 # via packaging
pytest==6.1.2 # via -r requirements/dev-requirements.in
pytype==2020.11.23 ; python_version < "3.9" # via -r requirements/dev-requirements.in
pyyaml==5.3.1 # via pytype
regex==2020.11.13 # via black
six==1.15.0 # via importlab, packaging, pytype
skia-pathops==0.5.1.post1 # via -r requirements/install-requirements.in
toml==0.10.2 # via black, pytest
typed-ast==1.4.1 # via black, pytype
typing-extensions==3.7.4.3 # via black
zipp==3.4.0 # via importlib-metadata
33 changes: 33 additions & 0 deletions requirements/python3.7-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/python3.7-requirements.txt requirements/dev-requirements.in requirements/install-requirements.in
#
appdirs==1.4.4 # via black
attrs==20.3.0 # via pytest, pytype
black==20.8b1 # via -r requirements/dev-requirements.in
click==7.1.2 # via black
decorator==4.4.2 # via networkx
importlab==0.5.1 # via pytype
importlib-metadata==3.1.0 # via pluggy, pytest
iniconfig==1.1.1 # via pytest
lxml==4.6.2 # via -r requirements/install-requirements.in
mypy-extensions==0.4.3 # via black
networkx==2.5 # via importlab
ninja==1.10.0.post2 # via pytype
packaging==20.4 # via pytest
pathspec==0.8.1 # via black
pluggy==0.13.1 # via pytest
py==1.9.0 # via pytest
pyparsing==2.4.7 # via packaging
pytest==6.1.2 # via -r requirements/dev-requirements.in
pytype==2020.11.23 ; python_version < "3.9" # via -r requirements/dev-requirements.in
pyyaml==5.3.1 # via pytype
regex==2020.11.13 # via black
six==1.15.0 # via importlab, packaging, pytype
skia-pathops==0.5.1.post1 # via -r requirements/install-requirements.in
toml==0.10.2 # via black, pytest
typed-ast==1.4.1 # via black, pytype
typing-extensions==3.7.4.3 # via black
zipp==3.4.0 # via importlib-metadata
31 changes: 31 additions & 0 deletions requirements/python3.8-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/python3.8-requirements.txt requirements/dev-requirements.in requirements/install-requirements.in
#
appdirs==1.4.4 # via black
attrs==20.3.0 # via pytest, pytype
black==20.8b1 # via -r requirements/dev-requirements.in
click==7.1.2 # via black
decorator==4.4.2 # via networkx
importlab==0.5.1 # via pytype
iniconfig==1.1.1 # via pytest
lxml==4.6.2 # via -r requirements/install-requirements.in
mypy-extensions==0.4.3 # via black
networkx==2.5 # via importlab
ninja==1.10.0.post2 # via pytype
packaging==20.4 # via pytest
pathspec==0.8.1 # via black
pluggy==0.13.1 # via pytest
py==1.9.0 # via pytest
pyparsing==2.4.7 # via packaging
pytest==6.1.2 # via -r requirements/dev-requirements.in
pytype==2020.11.23 ; python_version < "3.9" # via -r requirements/dev-requirements.in
pyyaml==5.3.1 # via pytype
regex==2020.11.13 # via black
six==1.15.0 # via importlab, packaging, pytype
skia-pathops==0.5.1.post1 # via -r requirements/install-requirements.in
toml==0.10.2 # via black, pytest
typed-ast==1.4.1 # via black, pytype
typing-extensions==3.7.4.3 # via black
25 changes: 25 additions & 0 deletions requirements/python3.9-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file=requirements/python3.9-requirements.txt requirements/dev-requirements.in requirements/install-requirements.in
#
appdirs==1.4.4 # via black
attrs==20.3.0 # via pytest
black==20.8b1 # via -r requirements/dev-requirements.in
click==7.1.2 # via black
iniconfig==1.1.1 # via pytest
lxml==4.6.2 # via -r requirements/install-requirements.in
mypy-extensions==0.4.3 # via black
packaging==20.4 # via pytest
pathspec==0.8.1 # via black
pluggy==0.13.1 # via pytest
py==1.9.0 # via pytest
pyparsing==2.4.7 # via packaging
pytest==6.1.2 # via -r requirements/dev-requirements.in
regex==2020.11.13 # via black
six==1.15.0 # via packaging
skia-pathops==0.5.1.post1 # via -r requirements/install-requirements.in
toml==0.10.2 # via black, pytest
typed-ast==1.4.1 # via black
typing-extensions==3.7.4.3 # via black

0 comments on commit 661897c

Please sign in to comment.