Skip to content

Commit 26095cf

Browse files
committed
Drop support for Python 3.8
1 parent 1d7b5e8 commit 26095cf

File tree

10 files changed

+289
-84
lines changed

10 files changed

+289
-84
lines changed

.appveyor.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ image: Visual Studio 2022
33
environment:
44
matrix:
55
- PYTHON_MAJOR: 3
6-
PYTHON_MINOR: 8
6+
PYTHON_MINOR: 9
77

88
cache:
99
- .venv -> poetry.lock
@@ -18,7 +18,6 @@ install:
1818
- set PATH=C:\Python%PYTHON_MAJOR%%PYTHON_MINOR%\Scripts;%PATH%
1919
# Install system dependencies
2020
- choco install make
21-
- set POETRY_VERSION=1.8.5
2221
- curl -sSL https://install.python-poetry.org | python -
2322
- set PATH=%USERPROFILE%\AppData\Roaming\Python\Scripts;%PATH%
2423
- make doctor

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99
strategy:
1010
matrix:
11-
python-version: ['3.8', '3.9', '3.10', '3.11']
11+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
1212

1313
steps:
1414
- uses: actions/checkout@v2
@@ -19,7 +19,7 @@ jobs:
1919
python-version: ${{ matrix.python-version }}
2020

2121
- name: Install Poetry
22-
run: curl -sSL https://install.python-poetry.org | POETRY_VERSION=1.8.5 python3 -
22+
run: curl -sSL https://install.python-poetry.org | python3 -
2323

2424
- name: Check dependencies
2525
run: make doctor

.tool-versions

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
python 3.11.5
2-
poetry 1.8.5
1+
python 3.13.2
2+
poetry 2.0.1

.verchew.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ version = 3
1111
[Poetry]
1212

1313
cli = poetry
14-
version = 1
14+
version = 2
1515

1616
[Graphviz]
1717

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Release Notes
22

3+
## 3.0.0 (2025-02-23)
4+
5+
- Dropped support for Python 3.8.
6+
- Added support for Python 3.12 and 3.13.
7+
38
## 2.3.1 (2025-02-11)
49

510
- Removed unnecessary `eval()` call to map annotations to types.

Makefile

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ MODULES := $(wildcard $(PACKAGE)/*.py)
77
all: doctor format check test mkdocs ## Run all tasks that determine CI status
88

99
.PHONY: dev
10-
dev: install ## Continuously run all CI tasks when files chanage
10+
dev: install ## Continuously run all CI tasks when files change
1111
poetry run ptw
1212

1313
.PHONY: shell
@@ -24,12 +24,12 @@ demo: install
2424
.PHONY: bootstrap
2525
bootstrap: ## Attempt to install system dependencies
2626
asdf plugin add python || asdf plugin update python
27-
asdf plugin add poetry https://github.com/asdf-community/asdf-poetry.git || asdf plugin update poetry
27+
asdf plugin add poetry || asdf plugin update poetry
2828
asdf install
2929

3030
.PHONY: doctor
3131
doctor: ## Confirm system dependencies are available
32-
bin/verchew
32+
bin/verchew --exit-code
3333

3434
# PROJECT DEPENDENCIES ########################################################
3535

@@ -47,7 +47,7 @@ $(DEPENDENCIES): poetry.lock
4747

4848
ifndef CI
4949
poetry.lock: pyproject.toml
50-
poetry lock --no-update
50+
poetry lock
5151
@ touch $@
5252
endif
5353

@@ -63,7 +63,7 @@ format: install
6363
@ echo
6464

6565
.PHONY: check
66-
check: install format ## Run formaters, linters, and static analysis
66+
check: install format ## Run formatters, linters, and static analysis
6767
ifdef CI
6868
git diff --exit-code
6969
endif
@@ -74,7 +74,7 @@ endif
7474
# TESTS #######################################################################
7575

7676
.PHONY: test
77-
test: install ## Run unit and integration tests
77+
test: install ## Run unit and integration tests
7878
poetry run pytest --random
7979
poetry run coveragespace update overall
8080

@@ -91,7 +91,7 @@ test-profile: install
9191
MKDOCS_INDEX := site/index.html
9292

9393
.PHONY: docs
94-
docs: mkdocs uml notebooks ## Generate documentation and UML
94+
docs: mkdocs uml notebooks ## Generate documentation and UML
9595

9696
.PHONY: mkdocs
9797
mkdocs: install $(MKDOCS_INDEX)
@@ -104,11 +104,11 @@ $(MKDOCS_INDEX): docs/requirements.txt mkdocs.yml docs/*.md
104104

105105
docs/requirements.txt: poetry.lock
106106
@ rm -f $@
107-
@ poetry export --with dev --without-hashes | grep jinja2 >> $@
108-
@ poetry export --with dev --without-hashes | grep markdown >> $@
109-
@ poetry export --with dev --without-hashes | grep mkdocs >> $@
110-
@ poetry export --with dev --without-hashes | grep pygments >> $@
111-
@ poetry export --with dev --without-hashes | grep importlib-metadata >> $@
107+
@ poetry export --all-groups --without-hashes | grep jinja2 >> $@
108+
@ poetry export --all-groups --without-hashes | grep markdown >> $@
109+
@ poetry export --all-groups --without-hashes | grep mkdocs >> $@
110+
@ poetry export --all-groups --without-hashes | grep pygments >> $@
111+
@ poetry export --all-groups --without-hashes | grep importlib-metadata >> $@
112112

113113
.PHONY: mkdocs-serve
114114
mkdocs-serve: mkdocs
@@ -140,15 +140,15 @@ $(DIST_FILES): $(MODULES) pyproject.toml
140140
poetry build
141141

142142
.PHONY: upload
143-
upload: dist ## Upload the current version to PyPI
143+
upload: dist ## Upload the current version to PyPI
144144
git diff --name-only --exit-code
145145
poetry publish
146146
bin/open https://pypi.org/project/$(PACKAGE)
147147

148148
# CLEANUP #####################################################################
149149

150150
.PHONY: clean
151-
clean: ## Delete all generated and temporary files
151+
clean: ## Delete all generated and temporary files
152152
rm -rf .venv
153153

154154
# HELP ########################################################################

bin/verchew

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ else:
4646
import configparser
4747
from urllib.request import urlretrieve
4848

49-
__version__ = "3.4.1"
49+
__version__ = "3.4.2"
5050

5151
SCRIPT_URL = (
5252
"https://raw.githubusercontent.com/jacebrowning/verchew/main/verchew/script.py"
@@ -308,7 +308,11 @@ def get_version(program, argument=None):
308308

309309
def match_version(pattern, output):
310310
lines = output.splitlines()
311-
if not lines or "not found" in lines[0]:
311+
if not lines:
312+
return False
313+
if "not found" in lines[0]:
314+
return False
315+
if re.match(r"No .+ executable found", " ".join(lines)):
312316
return False
313317

314318
regex = pattern.replace(".", r"\.") + r"(\b|/)"

docs/requirements.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
jinja2==3.1.5 ; python_version >= "3.8" and python_version < "4.0"
2-
markdown==3.3.4 ; python_version >= "3.8" and python_version < "4.0"
3-
mkdocs==1.4.2 ; python_version >= "3.8" and python_version < "4.0"
4-
jupyterlab-pygments==0.2.2 ; python_version >= "3.8" and python_version < "4.0" and os_name != "nt"
5-
pygments==2.15.0 ; python_version >= "3.8" and python_version < "4.0"
6-
importlib-metadata==4.12.0 ; python_version >= "3.8" and python_version < "3.10"
1+
jinja2==3.1.4 ; python_version >= "3.9" and python_version < "4.0"
2+
markdown==3.3.4 ; python_version >= "3.9" and python_version < "4.0"
3+
mkdocs==1.4.2 ; python_version >= "3.9" and python_version < "4.0"
4+
jupyterlab-pygments==0.2.2 ; python_version >= "3.9" and python_version < "4.0" and os_name != "nt"
5+
pygments==2.15.0 ; python_version >= "3.9" and python_version < "4.0"
6+
importlib-metadata==4.12.0 ; python_version >= "3.9" and python_version < "3.10"

0 commit comments

Comments
 (0)