Skip to content

Commit f4ee181

Browse files
Pin supported Python to 3.12+ to match the CI matrix
CI tests py3.12 and py3.13 only after dropping py3.11 in 038fb5d, so the project metadata and docs that still claimed py3.10 / py3.11 support were inaccurate. Tighten everything to >=3.12. pyproject.toml: - requires-python = ">=3.12" - Drop "Programming Language :: Python :: 3.10" and 3.11 classifiers - Drop "tomli>=2.0.0; python_version < '3.11'" (stdlib tomllib in 3.11+) - Drop "typing-extensions>=4.10.0" (only used as a fallback for the py<3.11 typing.Self import path) src/aragog/parser.py: collapse the sys.version_info < (3, 11) tomli / typing_extensions fallback block to a single import tomllib + from typing import Self. Drop the now-unused import sys. Docs (installation, firstrun, build_test): update Python-version claims to match (>= 3.12; CI matrix tests 3.12 and 3.13).
1 parent 038fb5d commit f4ee181

5 files changed

Lines changed: 7 additions & 18 deletions

File tree

docs/How-to/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
## Quick install
77

8-
The basic procedure is to install Aragog into a Python environment. For example, if you are using a Conda distribution to create and manage Python environments (e.g. [Anaconda](https://www.anaconda.com/download)), create a new environment noting that Aragog requires Python >= 3.10. Once created, make sure to activate the environment. To achieve this, terminal commands are given below, but you can also use the Anaconda Navigator (or similar GUI) to create and activate environments:
8+
The basic procedure is to install Aragog into a Python environment. For example, if you are using a Conda distribution to create and manage Python environments (e.g. [Anaconda](https://www.anaconda.com/download)), create a new environment noting that Aragog requires Python >= 3.12. Once created, make sure to activate the environment. To achieve this, terminal commands are given below, but you can also use the Anaconda Navigator (or similar GUI) to create and activate environments:
99

1010
```sh
1111
conda create -n aragog python

docs/Tutorials/build_test.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,10 @@ If a test is missing from the collection output, the most likely causes are a mi
156156

157157
## 5. Verify CI picks them up
158158

159-
After pushing the branch, the **Unit Tests** workflow runs `pytest -m "unit and not slow"` against ubuntu-latest and macos-latest with Python 3.11, 3.12, and 3.13.
159+
After pushing the branch, the **Unit Tests** workflow runs `pytest -m "unit and not slow"` against ubuntu-latest and macos-latest with Python 3.12 and 3.13.
160160
The test file should appear under one of the green checks; if it does not, the test was not discovered (see step 4).
161161

162-
The **Integration Tests** workflow runs nightly and adds `-m "smoke or slow"`; unit tests run there too as part of `unit or smoke or slow`.
162+
The **Integration Tests** workflow runs nightly and on every push to main; it adds `-m "smoke or integration or slow"`. Unit tests run there too as part of `unit or smoke or integration or slow`.
163163

164164
## What's next
165165

docs/Tutorials/firstrun.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Reach a **first successful integration** of a coupled-mantle setup and read its
1212

1313
## Assumptions
1414

15-
- You are using Python 3.10+ (3.12 recommended).
15+
- You are using Python 3.12 or 3.13.
1616
- Aragog is installed (see [Installation](../How-to/installation.md)).
1717
- A directory of SPIDER-format pressure-entropy EOS tables is available on disk (see [Reference: data](../Reference/data.md) for the file format and the canonical PALEOS data sources).
1818

pyproject.toml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name = "fwl-aragog"
77
version = "26.05.08"
88
description = "1-D interior dynamics of rocky mantles that are solid, liquid, or mixed phase"
99
readme = "README.md"
10-
requires-python = ">=3.10"
10+
requires-python = ">=3.12"
1111
license = {text = "GPL-3.0-or-later"}
1212
authors = [
1313
{name="Dan J. Bower", email="dbower@ethz.ch"},
@@ -24,8 +24,6 @@ classifiers = [
2424
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
2525
"Operating System :: OS Independent",
2626
"Programming Language :: Python :: 3",
27-
"Programming Language :: Python :: 3.10",
28-
"Programming Language :: Python :: 3.11",
2927
"Programming Language :: Python :: 3.12",
3028
"Programming Language :: Python :: 3.13",
3129
"Topic :: Scientific/Engineering :: Astronomy",
@@ -38,8 +36,6 @@ dependencies = [
3836
"thermochem>=0.8.2",
3937
"matplotlib>=3.8.3",
4038
"typed-configparser>=1.1.0",
41-
"typing-extensions>=4.10.0",
42-
"tomli>=2.0.0; python_version < '3.11'",
4339
"click>=8.1.3",
4440
"platformdirs>=3.10.0",
4541
]

src/aragog/parser.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,15 @@
1313
from __future__ import annotations
1414

1515
import logging
16-
import sys
16+
import tomllib # noqa: F401
1717
from dataclasses import dataclass, field
1818
from pathlib import Path
19-
from typing import Any
19+
from typing import Any, Self
2020

2121
import numpy as np
2222
import numpy.typing as npt
2323
from typed_configparser import ConfigParser
2424

25-
if sys.version_info < (3, 11):
26-
import tomli as tomllib # noqa: F401 (3.10 fallback installed via pyproject)
27-
from typing_extensions import Self
28-
else:
29-
import tomllib # noqa: F401
30-
from typing import Self
31-
3225
logger: logging.Logger = logging.getLogger('fwl.' + __name__)
3326

3427

0 commit comments

Comments
 (0)