Skip to content

Commit a29523a

Browse files
authored
Merge pull request #418 from networktocode/chore/dependency-bumps-2026-05
Bump dependencies and add Python 3.14 support
2 parents 0f6a05d + 545a7f4 commit a29523a

7 files changed

Lines changed: 493 additions & 371 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
strategy:
9292
fail-fast: true
9393
matrix:
94-
python-version: ["3.10", "3.11", "3.12", "3.13"]
94+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
9595
env:
9696
INVOKE_PARSER_PYTHON_VER: "${{ matrix.python-version }}"
9797
steps:
@@ -127,7 +127,7 @@ jobs:
127127
strategy:
128128
fail-fast: true
129129
matrix:
130-
python-version: ["3.10", "3.11", "3.12", "3.13"]
130+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
131131
runs-on: "ubuntu-latest"
132132
env:
133133
INVOKE_PARSER_PYTHON_VER: "${{ matrix.python-version }}"

.github/workflows/release.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ jobs:
6969
with:
7070
user: "__token__"
7171
password: "${{ secrets.PYPI_API_TOKEN }}"
72-
# End publish to PyPI job.
7372

7473
slack-notify:
7574
needs:

Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ ARG PYTHON_VER="3.10"
22

33
FROM python:${PYTHON_VER}-slim
44

5+
# Install build tooling so dependencies without cp3xx wheels can be source-built (relevant for newest Python versions).
6+
RUN apt-get update \
7+
&& apt-get install -y --no-install-recommends build-essential \
8+
&& rm -rf /var/lib/apt/lists/*
9+
510
# Install Poetry manually via its installer script;
611
# if we instead used "pip install poetry" it would install its own dependencies globally which may conflict with ours.
712
# https://python-poetry.org/docs/master/#installing-with-the-official-installer

changes/415.dependencies

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Bumped Python dependencies (click, coverage, netconan, pylint, ruff, cffi, pymdown-extensions) and CI action pins (actions/checkout, docker/setup-buildx-action, pypa/gh-action-pypi-publish).
2+
Added Python 3.14 to the supported version range and split `numpy` by Python version (2.2.x on Python 3.10, >=2.3 on 3.11+) so the same lock resolves cleanly across the full supported range.

changes/415.security

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Bumped `lxml` (>=6.1.0), `urllib3` (>=2.7.0), `requests` (>=2.33.0), and `pygments` (>=2.20.0) to address open Dependabot advisories (XXE in iterparse, sensitive-header forwarding on proxied redirects, decompression-bomb safeguard bypass, insecure temp file reuse, ReDoS).

poetry.lock

Lines changed: 471 additions & 365 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,20 @@ classifiers = [
1717
"Programming Language :: Python :: 3.11",
1818
"Programming Language :: Python :: 3.12",
1919
"Programming Language :: Python :: 3.13",
20+
"Programming Language :: Python :: 3.14",
2021
]
2122
include = [
2223
"LICENSE",
2324
"README.md",
2425
]
2526

2627
[tool.poetry.dependencies]
27-
python = ">=3.10,<3.14"
28+
python = ">=3.10,<3.15"
2829
click = ">=7.1, <9.0"
2930
pydantic = ">=1.10.4,<3"
3031
icalendar = "^5.0.0"
3132
bs4 = "^0.0.2"
32-
lxml = ">=4.6.2,<7"
33+
lxml = ">=6.1.0,<7"
3334
geopy = "^2.1.0"
3435
timezonefinder = ">=6.0.1,<9.0.0"
3536
backoff = "^2.2.1"
@@ -38,6 +39,13 @@ openai = { version = ">=1.2.4", optional = true }
3839
openpyxl = { version = "^3.1.5", optional = true }
3940
pandas = { version = "^2.2.3", optional = true }
4041
python-dateutil = "^2.9.0"
42+
requests = ">=2.33.0,<3"
43+
urllib3 = ">=2.7.0,<3"
44+
# Floor `numpy` per Python version so 3.11+ (including 3.14) pulls modern wheels while 3.10 stays on the 2.2 line.
45+
numpy = [
46+
{ version = ">=1.22.4,<2.3", python = "<3.11" },
47+
{ version = ">=2.3,<3", python = ">=3.11" },
48+
]
4149

4250
[tool.poetry.extras]
4351
xlsx = [
@@ -59,12 +67,13 @@ ruff = "*"
5967
types-python-dateutil = "^2.8.3"
6068
types-pytz = "^2025.2.0"
6169
types-toml = "^0.10.1"
62-
netconan = "^0.12.3"
70+
netconan = "^0.15.0"
6371
toml = "0.10.2"
6472
towncrier = "^25.8.0"
6573
types-chardet = "^5.0.4"
6674
pandas-stubs = "^2.3.2"
6775
coverage = "^7.6.12"
76+
pygments = ">=2.20.0,<3"
6877

6978
[tool.poetry.group.docs.dependencies]
7079
# Rendering docs to HTML

0 commit comments

Comments
 (0)