Skip to content

Commit

Permalink
Upgrade python versions
Browse files Browse the repository at this point in the history
  • Loading branch information
mtomilov committed Jan 8, 2025
1 parent 70770a5 commit cd6f195
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 26 deletions.
4 changes: 2 additions & 2 deletions .cookiecutter/cookiecutter.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"package_name": "h_vialib",
"slug": "h-vialib",
"short_description": "Library functions for use with Via.",
"python_versions": "3.9.13,3.8.13",
"python_versions": "3.12.7, 3.11.10, 3.10.15, 3.9.20",
"github_owner": "hypothesis",
"copyright_holder": "Hypothesis",
"visibility": "public",
Expand All @@ -25,4 +25,4 @@
"__copyright_year": "2022",
"pypi": "yes"
}
}
}
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
python-version: '3.12'
- run: python -m pip install 'tox<4'
- run: tox -e checkformatting
Lint:
Expand All @@ -32,7 +32,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
python-version: '3.12'
- run: python -m pip install 'tox<4'
- run: tox -e lint
Typecheck:
Expand All @@ -42,14 +42,14 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
python-version: '3.12'
- run: python -m pip install 'tox<4'
- run: tox -e typecheck
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9', '3.8']
python-version: ['3.12', '3.11', '3.10', '3.9']
name: Unit tests with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v3
Expand All @@ -75,7 +75,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
python-version: '3.12'
- name: Download coverage files
uses: actions/download-artifact@v4
with:
Expand All @@ -87,7 +87,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9', '3.8']
python-version: ['3.12', '3.11', '3.10', '3.9']
name: Functional tests with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v3
Expand Down
6 changes: 4 additions & 2 deletions .python-version
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
3.9.13
3.8.13
3.12.7
3.11.10
3.10.15
3.9.20
44 changes: 32 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,35 +34,55 @@ checkformatting: python
@pyenv exec tox -qe checkformatting

.PHONY: test
$(call help,make test,"run the unit tests in Python 3.9")
$(call help,make test,"run the unit tests in Python 3.12")
test: python
@pyenv exec tox -qe tests

.PHONY: test-py38
$(call help,make test-py38,"run the unit tests in Python 3.8")
test-py38: python
@pyenv exec tox -qe py38-tests
.PHONY: test-py311
$(call help,make test-py311,"run the unit tests in Python 3.11")
test-py311: python
@pyenv exec tox -qe py311-tests

.PHONY: test-py310
$(call help,make test-py310,"run the unit tests in Python 3.10")
test-py310: python
@pyenv exec tox -qe py310-tests

.PHONY: test-py39
$(call help,make test-py39,"run the unit tests in Python 3.9")
test-py39: python
@pyenv exec tox -qe py39-tests

.PHONY: coverage
$(call help,make coverage,"run the tests and print the coverage report")
coverage: python
@pyenv exec tox --parallel -qe 'tests,py{38}-tests,coverage'
@pyenv exec tox --parallel -qe 'tests,py{311,310,39}-tests,coverage'

.PHONY: functests
$(call help,make functests,"run the functional tests in Python 3.9")
$(call help,make functests,"run the functional tests in Python 3.12")
functests: python
@pyenv exec tox -qe functests

.PHONY: functests-py38
$(call help,make functests-py38,"run the functional tests in Python 3.8")
functests-py38: python
@pyenv exec tox -qe py38-functests
.PHONY: functests-py311
$(call help,make functests-py311,"run the functional tests in Python 3.11")
functests-py311: python
@pyenv exec tox -qe py311-functests

.PHONY: functests-py310
$(call help,make functests-py310,"run the functional tests in Python 3.10")
functests-py310: python
@pyenv exec tox -qe py310-functests

.PHONY: functests-py39
$(call help,make functests-py39,"run the functional tests in Python 3.9")
functests-py39: python
@pyenv exec tox -qe py39-functests

.PHONY: sure
$(call help,make sure,"make sure that the formatting$(comma) linting and tests all pass")
sure: python
sure:
@pyenv exec tox --parallel -qe 'checkformatting,lint,typecheck,tests,py{38}-tests,coverage,functests,py{38}-functests'
@pyenv exec tox --parallel -qe 'checkformatting,lint,typecheck,tests,py{311,310,39}-tests,coverage,functests,py{311,310,39}-functests'

.PHONY: template
$(call help,make template,"update from the latest cookiecutter template")
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<a href="https://github.com/hypothesis/h-vialib/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/github/actions/workflow/status/hypothesis/h-vialib/ci.yml?branch=main"></a>
<a href="https://pypi.org/project/h-vialib"><img src="https://img.shields.io/pypi/v/h-vialib"></a>
<a><img src="https://img.shields.io/badge/python-3.9 | 3.8-success"></a>
<a><img src="https://img.shields.io/badge/python-3.12 | 3.11 | 3.10 | 3.9-success"></a>
<a href="https://github.com/hypothesis/h-vialib/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-BSD--2--Clause-success"></a>
<a href="https://github.com/hypothesis/cookiecutters/tree/main/pypackage"><img src="https://img.shields.io/badge/cookiecutter-pypackage-success"></a>
<a href="https://black.readthedocs.io/en/stable/"><img src="https://img.shields.io/badge/code%20style-black-000000"></a>
Expand Down
2 changes: 1 addition & 1 deletion bin/make_python
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ if [ -n "${CI+x}" ]; then exit; fi

pyenv_root=$(pyenv root)

for python_version in 3.9.13 3.8.13; do
for python_version in 3.12.7 3.11.10 3.10.15 3.9.20; do
bin_dir=$pyenv_root/versions/$python_version/bin
if [ ! -f "$bin_dir"/tox ]; then
pyenv install --skip-existing "$python_version"
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ filterwarnings = [
"ignore:^pkg_resources is deprecated as an API:DeprecationWarning:pyramid",
"ignore:^Deprecated call to .pkg_resources\\.declare_namespace\\('.*'\\).\\.:DeprecationWarning:pkg_resources",
"ignore:^'cgi' is deprecated and slated for removal in Python 3\\.13$:DeprecationWarning:webob",
"ignore:^datetime\\.datetime\\.utcnow\\(\\) is deprecated and scheduled for removal in a future version\\.:DeprecationWarning",
]

[tool.pydocstyle]
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ classifiers =
package_dir =
= src
packages = find:
python_requires = >=3.8
python_requires = >=3.9
install_requires =
joserfc
webob
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ deps =
typecheck: mypy
lint,tests,functests: freezegun
depends =
coverage: tests,py{38}-tests
coverage: tests,py{311,310,39}-tests
commands =
dev: {posargs:ipython --classic --no-banner --no-confirm-exit}
format: black src tests bin
Expand Down

0 comments on commit cd6f195

Please sign in to comment.