Skip to content

Commit 4057679

Browse files
authored
Merge pull request #574 from eriknw/py312
Minimal maintenance to support Python 3.12 (and drop 3.5 and 3.6)
2 parents 85be7ad + d70d110 commit 4057679

File tree

6 files changed

+26
-39
lines changed

6 files changed

+26
-39
lines changed

.github/workflows/publish_pypi.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ jobs:
1313
shell: bash -l {0}
1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 0
1919
- name: Set up Python
20-
uses: actions/setup-python@v4
20+
uses: actions/setup-python@v5
2121
with:
2222
python-version: "3.8"
2323
- name: Install build dependencies
2424
run: python -m pip install setuptools wheel
2525
- name: Build wheel
2626
run: python setup.py sdist bdist_wheel
2727
- name: Publish to PyPI
28-
uses: pypa/gh-action-pypi-publish@v1.5.0
28+
uses: pypa/gh-action-pypi-publish@v1.8
2929
with:
3030
user: __token__
3131
password: ${{ secrets.PYPI_TOKEN }}

.github/workflows/test.yml

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,21 @@ jobs:
1313
matrix:
1414
os: ["ubuntu-latest"]
1515
python-version:
16-
- "3.5"
17-
- "3.6"
1816
- "3.7"
1917
- "3.8"
2018
- "3.9"
2119
- "3.10"
2220
- "3.11"
23-
- "pypy-3.6"
21+
- "3.12"
2422
- "pypy-3.7"
2523
- "pypy-3.8"
2624
- "pypy-3.9"
25+
- "pypy-3.10"
2726
steps:
2827
- name: Checkout
29-
uses: actions/checkout@v2
28+
uses: actions/checkout@v4
3029
- name: Set up Python
31-
uses: actions/setup-python@v2
30+
uses: actions/setup-python@v5
3231
with:
3332
python-version: ${{ matrix.python-version }}
3433
- name: Install dependencies
@@ -42,23 +41,12 @@ jobs:
4241
pytest bench/
4342
pep8 --ignore="E731,W503,E402" --exclude=conf.py,tests,examples,bench -r --show-source .
4443
- name: Coverage
45-
env:
46-
GITHUB_TOKEN: ${{ secrets.github_token }}
47-
COVERALLS_FLAG_NAME: ${{ matrix.python-version}}
48-
COVERALLS_PARALLEL: true
4944
if: (! contains(matrix.python-version, 'pypy'))
5045
run: |
46+
coverage xml
5147
coverage report --show-missing --fail-under=100
52-
pip install coveralls
53-
coverage report --show-missing
54-
coveralls --service=github
55-
56-
finish:
57-
needs: test
58-
runs-on: ubuntu-latest
59-
steps:
60-
- name: Coveralls Finished
61-
uses: coverallsapp/github-action@master
62-
with:
63-
github-token: ${{ secrets.github_token }}
64-
parallel-finished: true
48+
- name: codecov
49+
if: (! contains(matrix.python-version, 'pypy'))
50+
uses: codecov/codecov-action@v3
51+
env:
52+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

README.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ This builds a standard wordcount function from pieces within ``toolz``:
7373
Dependencies
7474
------------
7575

76-
``toolz`` supports Python 3.5+ with a common codebase.
76+
``toolz`` supports Python 3.7+ with a common codebase.
7777
It is pure Python and requires no dependencies beyond the standard
7878
library.
7979

@@ -124,9 +124,9 @@ Community
124124
See our `mailing list <https://groups.google.com/forum/#!forum/pytoolz>`__.
125125
We're friendly.
126126

127-
.. |Build Status| image:: https://github.com/pytoolz/toolz/workflows/Test/badge.svg
127+
.. |Build Status| image:: https://github.com/pytoolz/toolz/actions/workflows/test.yml/badge.svg?branch=master
128128
:target: https://github.com/pytoolz/toolz/actions
129-
.. |Coverage Status| image:: https://coveralls.io/repos/pytoolz/toolz/badge.svg?branch=master
130-
:target: https://coveralls.io/r/pytoolz/toolz
129+
.. |Coverage Status| image:: https://codecov.io/gh/pytoolz/toolz/graph/badge.svg?token=4ZFc9dwKqY
130+
:target: https://codecov.io/gh/pytoolz/toolz
131131
.. |Version Status| image:: https://badge.fury.io/py/toolz.svg
132132
:target: https://badge.fury.io/py/toolz

setup.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,17 @@
2222
long_description=(open('README.rst').read() if exists('README.rst')
2323
else ''),
2424
zip_safe=False,
25-
python_requires=">=3.5",
25+
python_requires=">=3.7",
2626
classifiers=[
2727
"Development Status :: 5 - Production/Stable",
2828
"License :: OSI Approved :: BSD License",
2929
"Programming Language :: Python",
3030
"Programming Language :: Python :: 3",
31-
"Programming Language :: Python :: 3.5",
32-
"Programming Language :: Python :: 3.6",
3331
"Programming Language :: Python :: 3.7",
3432
"Programming Language :: Python :: 3.8",
3533
"Programming Language :: Python :: 3.9",
3634
"Programming Language :: Python :: 3.10",
3735
"Programming Language :: Python :: 3.11",
36+
"Programming Language :: Python :: 3.12",
3837
"Programming Language :: Python :: Implementation :: CPython",
3938
"Programming Language :: Python :: Implementation :: PyPy"])

toolz/_signatures.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,12 @@
309309
lambda *iterables: None],
310310
izip_longest=[
311311
(0, lambda *iterables: None, ('fillvalue',))],
312+
pairwise=[
313+
lambda iterable: None],
312314
permutations=[
313315
(0, lambda iterable, r=0: None)],
316+
product=[
317+
(0, lambda *iterables: None, ('repeat',))],
314318
repeat=[
315319
(0, lambda object, times=0: None)],
316320
starmap=[
@@ -324,11 +328,6 @@
324328
(0, lambda *iterables: None, ('fillvalue',))],
325329
)
326330

327-
module_info[itertools].update(
328-
product=[
329-
(0, lambda *iterables: None, ('repeat',))],
330-
)
331-
332331

333332
module_info[operator] = dict(
334333
__abs__=[

tox.ini

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
[tox]
22
envlist =
3-
py35
4-
py36
53
py37
64
py38
75
py39
6+
py310
7+
py311
8+
py312
89
pypy3
910

1011
skip_missing_interpreters = true

0 commit comments

Comments
 (0)