Skip to content

Commit

Permalink
Set Python 3.8 as minimal supported version, updated pinned dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
vmagamedov committed Apr 18, 2024
1 parent 5780445 commit 88082a6
Show file tree
Hide file tree
Showing 16 changed files with 93 additions and 119 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release-dry-run.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.7"
python-version: "3.8"
- run: pip3 install -r requirements/release.txt
- run: pip3 install -e .
- run: make release
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
key: pip-${{ hashFiles('requirements/release.txt') }} }}
- uses: actions/setup-python@v4
with:
python-version: "3.7"
python-version: "3.8"
- run: pip3 install -r requirements/release.txt
- run: pip3 install -e .
- run: make release
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
key: pip-${{ hashFiles('requirements/check.txt') }}
- uses: actions/setup-python@v4
with:
python-version: "3.7"
python-version: "3.8"
- run: pip3 install -r requirements/check.txt
- run: pip3 install -e .
- run: make proto
Expand All @@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v3
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.7"
python: "3.8"
sphinx:
configuration: docs/conf.py
python:
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Pure-Python gRPC implementation for asyncio

|project|_ |documentation|_ |version|_ |tag|_ |downloads|_ |license|_

This project is based on `hyper-h2`_ and **requires Python >= 3.7**.
This project is based on `hyper-h2`_ and **requires Python >= 3.8**.

.. contents::
:local:
Expand Down
69 changes: 26 additions & 43 deletions pi.yaml
Original file line number Diff line number Diff line change
@@ -1,53 +1,36 @@
- !Image
name: py37
from: &py37 !DockerImage python:3.7.12-slim
repository: localhost/grpclib/py37
name: py38
from: &py38 !DockerImage python:3.8.19-slim
repository: localhost/grpclib/py38
tasks:
- run: pip3 install --no-cache-dir -r {{runtime}}
runtime: !File "requirements/runtime.txt"

- !Image
name: test37
from: *py37
repository: localhost/grpclib/test37
name: test38
from: *py38
repository: localhost/grpclib/test38
tasks:
- run: pip3 install --no-cache-dir -r {{test}}
test: !File "requirements/test.txt"

- !Image
name: check37
from: *py37
repository: localhost/grpclib/check37
name: check38
from: *py38
repository: localhost/grpclib/check38
tasks:
- run: pip3 install --no-cache-dir -r {{check}}
check: !File "requirements/check.txt"

- !Image
name: docs37
from: *py37
repository: localhost/grpclib/docs37
name: docs38
from: *py38
repository: localhost/grpclib/docs38
tasks:
- run: pip3 install --no-cache-dir -r {{docs}}
docs: !File "requirements/docs.txt"


- !Image
name: py38
from: &py38 !DockerImage python:3.8.3-slim
repository: localhost/grpclib/py38
tasks:
- run: pip3 install --no-cache-dir -r {{runtime}}
runtime: !File "requirements/runtime.txt"

- !Image
name: test38
from: *py38
repository: localhost/grpclib/test38
tasks:
- run: pip3 install --no-cache-dir -r {{test}}
test: !File "requirements/test.txt"


- !Command
name: server
image: py38
Expand All @@ -67,14 +50,14 @@

- !Command
name: docs
image: docs37
image: docs38
run: sphinx-build -b html docs build
environ:
PYTHONPATH: .

- !Command
name: test37
image: test37
name: test38
image: test38
run: [py.test]
environ:
PYTHONPATH: .
Expand All @@ -88,42 +71,42 @@

- !Command
name: flake8
image: check37
image: check38
run: [flake8]

- !Command
name: mypy
image: check37
image: check38
run: [mypy]


- !Image
name: py310
from: &py310 !DockerImage python:3.10.0-slim
repository: localhost/grpclib/py310
name: py312
from: &py312 !DockerImage python:3.12.3-slim
repository: localhost/grpclib/py312
tasks:
- run: pip3 install --no-cache-dir -r {{runtime}}
runtime: !File "requirements/runtime.txt"

- !Image
name: test310
from: *py310
repository: localhost/grpclib/test310
name: test312
from: *py312
repository: localhost/grpclib/test312
tasks:
- run: pip3 install --no-cache-dir -r {{test}}
test: !File "requirements/test.txt"

- !Command
name: test310
image: test310
name: test312
image: test312
run: [py.test]
environ:
PYTHONPATH: .


- !Image
name: pip-compile
from: !DockerImage python:3.7.12-slim
from: !DockerImage python:3.8.19-slim
repository: localhost/grpclib/pip-compile
tasks:
- run: pip3 install --no-cache-dir pip-tools
Expand Down
23 changes: 10 additions & 13 deletions requirements/check.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
#
# This file is autogenerated by pip-compile with Python 3.7
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile --annotation-style=line --config=pyproject.toml requirements/check.in
# pip-compile --annotation-style=line requirements/check.in
#
certifi==2024.2.2 # via -r requirements/runtime.in
flake8==5.0.4 # via -r requirements/check.in
flake8==7.0.0 # via -r requirements/check.in
googleapis-common-protos==1.63.0 # via -r requirements/runtime.in
grpcio==1.62.1 # via grpcio-tools
grpcio-tools==1.62.1 # via -r requirements/check.in
h2==4.1.0 # via -r requirements/../setup.txt
hpack==4.0.0 # via -r requirements/../setup.txt, h2
hyperframe==6.0.1 # via -r requirements/../setup.txt, h2
importlib-metadata==4.2.0 # via flake8
mccabe==0.7.0 # via flake8
multidict==6.0.5 # via -r requirements/../setup.txt
mypy==1.4.1 # via -r requirements/check.in
mypy==1.9.0 # via -r requirements/check.in
mypy-extensions==1.0.0 # via mypy
mypy-protobuf==3.4.0 # via -r requirements/check.in
protobuf==4.24.4 # via -r requirements/runtime.in, googleapis-common-protos, grpcio-tools, mypy-protobuf
pycodestyle==2.9.1 # via flake8
pyflakes==2.5.0 # via flake8
mypy-protobuf==3.6.0 # via -r requirements/check.in
protobuf==4.25.3 # via -r requirements/runtime.in, googleapis-common-protos, grpcio-tools, mypy-protobuf
pycodestyle==2.11.1 # via flake8
pyflakes==3.2.0 # via flake8
tomli==2.0.1 # via mypy
typed-ast==1.5.5 # via mypy
types-certifi==2021.10.8.3 # via -r requirements/check.in
types-protobuf==4.24.0.4 # via mypy-protobuf
typing-extensions==4.7.1 # via importlib-metadata, mypy
zipp==3.15.0 # via importlib-metadata
types-protobuf==4.25.0.20240417 # via mypy-protobuf
typing-extensions==4.11.0 # via mypy

# The following packages are considered to be unsafe in a requirements file:
# setuptools
21 changes: 10 additions & 11 deletions requirements/docs.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,38 @@
#
# This file is autogenerated by pip-compile with Python 3.7
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile --annotation-style=line --config=pyproject.toml requirements/docs.in
# pip-compile --annotation-style=line requirements/docs.in
#
alabaster==0.7.13 # via sphinx
babel==2.14.0 # via sphinx
certifi==2024.2.2 # via -r requirements/runtime.in, requests
charset-normalizer==3.3.2 # via requests
docutils==0.19 # via sphinx, sphinx-rtd-theme
docutils==0.20.1 # via sphinx, sphinx-rtd-theme
googleapis-common-protos==1.63.0 # via -r requirements/runtime.in
h2==4.1.0 # via -r requirements/../setup.txt
hpack==4.0.0 # via -r requirements/../setup.txt, h2
hyperframe==6.0.1 # via -r requirements/../setup.txt, h2
idna==3.7 # via requests
imagesize==1.4.1 # via sphinx
importlib-metadata==6.7.0 # via sphinx
importlib-metadata==7.1.0 # via sphinx
jinja2==3.1.3 # via sphinx
markupsafe==2.1.5 # via jinja2
multidict==6.0.5 # via -r requirements/../setup.txt
packaging==24.0 # via sphinx
protobuf==4.24.4 # via -r requirements/runtime.in, googleapis-common-protos
protobuf==4.25.3 # via -r requirements/runtime.in, googleapis-common-protos
pygments==2.17.2 # via sphinx
pytz==2024.1 # via babel
requests==2.31.0 # via sphinx
snowballstemmer==2.2.0 # via sphinx
sphinx==5.3.0 # via -r requirements/docs.in, sphinx-rtd-theme, sphinxcontrib-jquery
sphinx==7.1.2 # via -r requirements/docs.in, sphinx-rtd-theme, sphinxcontrib-jquery
sphinx-rtd-theme==2.0.0 # via -r requirements/docs.in
sphinxcontrib-applehelp==1.0.2 # via sphinx
sphinxcontrib-applehelp==1.0.4 # via sphinx
sphinxcontrib-devhelp==1.0.2 # via sphinx
sphinxcontrib-htmlhelp==2.0.0 # via sphinx
sphinxcontrib-htmlhelp==2.0.1 # via sphinx
sphinxcontrib-jquery==4.1 # via sphinx-rtd-theme
sphinxcontrib-jsmath==1.0.1 # via sphinx
sphinxcontrib-qthelp==1.0.3 # via sphinx
sphinxcontrib-serializinghtml==1.1.5 # via sphinx
typing-extensions==4.7.1 # via importlib-metadata
urllib3==2.0.7 # via requests
zipp==3.15.0 # via importlib-metadata
urllib3==2.2.1 # via requests
zipp==3.18.1 # via importlib-metadata
45 changes: 23 additions & 22 deletions requirements/release.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#
# This file is autogenerated by pip-compile with Python 3.7
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile --annotation-style=line --config=pyproject.toml requirements/release.in
# pip-compile --annotation-style=line requirements/release.in
#
bleach==6.0.0 # via readme-renderer
backports-tarfile==1.1.0 # via jaraco-context
certifi==2024.2.2 # via requests
cffi==1.15.1 # via cryptography
cffi==1.16.0 # via cryptography
charset-normalizer==3.3.2 # via requests
cryptography==42.0.5 # via secretstorage
docutils==0.20.1 # via readme-renderer
Expand All @@ -16,34 +16,35 @@ h2==4.1.0 # via -r requirements/../setup.txt
hpack==4.0.0 # via -r requirements/../setup.txt, h2
hyperframe==6.0.1 # via -r requirements/../setup.txt, h2
idna==3.7 # via requests
importlib-metadata==6.7.0 # via keyring, twine
importlib-resources==5.12.0 # via keyring
jaraco-classes==3.2.3 # via keyring
importlib-metadata==7.1.0 # via keyring, twine
importlib-resources==6.4.0 # via keyring
jaraco-classes==3.4.0 # via keyring
jaraco-context==5.3.0 # via keyring
jaraco-functools==4.0.0 # via keyring
jeepney==0.8.0 # via keyring, secretstorage
keyring==24.1.1 # via twine
markdown-it-py==2.2.0 # via rich
keyring==25.1.0 # via twine
markdown-it-py==3.0.0 # via rich
mdurl==0.1.2 # via markdown-it-py
more-itertools==9.1.0 # via jaraco-classes
more-itertools==10.2.0 # via jaraco-classes, jaraco-functools
multidict==6.0.5 # via -r requirements/../setup.txt
mypy-protobuf==3.4.0 # via -r requirements/release.in
mypy-protobuf==3.6.0 # via -r requirements/release.in
nh3==0.2.17 # via readme-renderer
pkginfo==1.10.0 # via twine
protobuf==4.24.4 # via grpcio-tools, mypy-protobuf
pycparser==2.21 # via cffi
protobuf==4.25.3 # via grpcio-tools, mypy-protobuf
pycparser==2.22 # via cffi
pygments==2.17.2 # via readme-renderer, rich
readme-renderer==37.3 # via twine
readme-renderer==43.0 # via twine
requests==2.31.0 # via requests-toolbelt, twine
requests-toolbelt==1.0.0 # via twine
rfc3986==2.0.0 # via twine
rich==13.7.1 # via twine
secretstorage==3.3.3 # via keyring
six==1.16.0 # via bleach
twine==4.0.2 # via -r requirements/release.in
types-protobuf==4.24.0.4 # via mypy-protobuf
typing-extensions==4.7.1 # via importlib-metadata, markdown-it-py, rich
urllib3==2.0.7 # via requests, twine
webencodings==0.5.1 # via bleach
wheel==0.42.0 # via -r requirements/release.in
zipp==3.15.0 # via importlib-metadata, importlib-resources
twine==5.0.0 # via -r requirements/release.in
types-protobuf==4.25.0.20240417 # via mypy-protobuf
typing-extensions==4.11.0 # via rich
urllib3==2.2.1 # via requests, twine
wheel==0.43.0 # via -r requirements/release.in
zipp==3.18.1 # via importlib-metadata, importlib-resources

# The following packages are considered to be unsafe in a requirements file:
# setuptools
6 changes: 3 additions & 3 deletions requirements/runtime.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#
# This file is autogenerated by pip-compile with Python 3.7
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile --annotation-style=line --config=pyproject.toml requirements/runtime.in
# pip-compile --annotation-style=line requirements/runtime.in
#
certifi==2024.2.2 # via -r requirements/runtime.in
googleapis-common-protos==1.63.0 # via -r requirements/runtime.in
h2==4.1.0 # via -r requirements/../setup.txt
hpack==4.0.0 # via -r requirements/../setup.txt, h2
hyperframe==6.0.1 # via -r requirements/../setup.txt, h2
multidict==6.0.5 # via -r requirements/../setup.txt
protobuf==4.24.4 # via -r requirements/runtime.in, googleapis-common-protos
protobuf==4.25.3 # via -r requirements/runtime.in, googleapis-common-protos
Loading

0 comments on commit 88082a6

Please sign in to comment.