Skip to content

Commit 8880f15

Browse files
committed
DO NOT MERGE: Test Python 3.14
1 parent beb3cfd commit 8880f15

File tree

8 files changed

+27
-11
lines changed

8 files changed

+27
-11
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,17 @@ jobs:
99
build:
1010
runs-on: ubuntu-latest
1111
steps:
12+
- run: |
13+
sudo apt-get update
14+
sudo apt-get install libxml2-dev libxslt-dev
1215
- uses: actions/checkout@v5
1316
- uses: astral-sh/setup-uv@v6
1417
with:
1518
enable-cache: true
1619
cache-dependency-glob: uv.lock
1720
- uses: actions/setup-python@v5
1821
with:
19-
python-version: 3.x
22+
python-version: 3.14
2023
allow-prereleases: true
2124
- run: uv sync --group=test
2225
- name: Run tests

.github/workflows/directory_writer.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ jobs:
1111
fetch-depth: 0
1212
- uses: actions/setup-python@v5
1313
with:
14-
python-version: 3.x
14+
python-version: 3.14
15+
allow-prereleases: true
1516
- name: Write DIRECTORY.md
1617
run: |
1718
scripts/build_directory_md.py 2>&1 | tee DIRECTORY.md

.github/workflows/project_euler.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,29 @@ jobs:
1414
project-euler:
1515
runs-on: ubuntu-latest
1616
steps:
17+
- run: |
18+
sudo apt-get update
19+
sudo apt-get install libxml2-dev libxslt-dev
1720
- uses: actions/checkout@v5
1821
- uses: astral-sh/setup-uv@v6
1922
- uses: actions/setup-python@v5
2023
with:
21-
python-version: 3.x
24+
python-version: 3.14
25+
allow-prereleases: true
2226
- run: uv sync --group=euler-validate --group=test
2327
- run: uv run pytest --doctest-modules --cov-report=term-missing:skip-covered --cov=project_euler/ project_euler/
2428
validate-solutions:
2529
runs-on: ubuntu-latest
2630
steps:
31+
- run: |
32+
sudo apt-get update
33+
sudo apt-get install libxml2-dev libxslt-dev
2734
- uses: actions/checkout@v5
2835
- uses: astral-sh/setup-uv@v6
2936
- uses: actions/setup-python@v5
3037
with:
31-
python-version: 3.x
38+
python-version: 3.14
39+
allow-prereleases: true
3240
- run: uv sync --group=euler-validate --group=test
3341
- run: uv run pytest scripts/validate_solutions.py
3442
env:

.github/workflows/sphinx.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@ jobs:
2525
build_docs:
2626
runs-on: ubuntu-24.04-arm
2727
steps:
28+
- run: |
29+
sudo apt-get update
30+
sudo apt-get install libxml2-dev libxslt-dev
2831
- uses: actions/checkout@v5
2932
- uses: astral-sh/setup-uv@v6
3033
- uses: actions/setup-python@v5
3134
with:
32-
python-version: 3.13
35+
python-version: 3.14
3336
allow-prereleases: true
3437
- run: uv sync --group=docs
3538
- uses: actions/configure-pages@v5

ciphers/gronsfeld_cipher.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def gronsfeld(text: str, key: str) -> str:
2020
>>> gronsfeld('yes, ¥€$ - _!@#%?', '')
2121
Traceback (most recent call last):
2222
...
23-
ZeroDivisionError: integer modulo by zero
23+
ZeroDivisionError: division by zero
2424
"""
2525
ascii_len = len(ascii_uppercase)
2626
key_len = len(key)

machine_learning/xgboost_classifier.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@ def xgboost(features: np.ndarray, target: np.ndarray) -> XGBClassifier:
4242

4343
def main() -> None:
4444
"""
45-
>>> main()
46-
4745
Url for the algorithm:
4846
https://xgboost.readthedocs.io/en/stable/
4947
Iris type dataset is used to demonstrate algorithm.

maths/largest_of_very_large_numbers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def res(x, y):
1515
>>> res(-1, 5)
1616
Traceback (most recent call last):
1717
...
18-
ValueError: math domain error
18+
ValueError: expected a positive input
1919
"""
2020
if 0 not in (x, y):
2121
# We use the relation x^y = y*log10(x), where 10 is the base.

pyproject.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,19 @@ classifiers = [
1010
]
1111
dependencies = [
1212
"beautifulsoup4>=4.12.3",
13+
"cython>=3.1", # For lxml on Python 3.14 pre-release
1314
"fake-useragent>=1.5.1",
1415
"httpx>=0.28.1",
1516
"imageio>=2.36.1",
1617
"keras>=3.7",
17-
"lxml>=5.3",
18+
# "lxml>=5.4",
19+
"lxml @ git+https://github.com/lxml/lxml",
1820
"matplotlib>=3.9.3",
1921
"numpy>=2.1.3",
2022
"opencv-python>=4.10.0.84",
2123
"pandas>=2.2.3",
22-
"pillow>=11",
24+
# "pillow>=11",
25+
"pillow @ git+https://github.com/python-pillow/pillow",
2326
"rich>=13.9.4",
2427
"scikit-learn>=1.5.2",
2528
"sphinx-pyproject>=0.3",

0 commit comments

Comments
 (0)