@@ -12,17 +12,14 @@ Sage.
12
12
Python language standard
13
13
========================
14
14
15
- Sage library code needs to be compatible with all versions of Python
16
- that Sage supports. The information regarding the supported versions
17
- can be found in the files ``build/pkgs/python3/spkg-configure.m4 `` and
18
- ``src/setup.cfg.m4 ``.
19
-
20
- Python 3.9 is the oldest supported version. Hence,
21
- all language and library features that are available in Python 3.9 can
22
- be used; but features introduced in Python 3.10 cannot be used. If a
23
- feature is deprecated in a newer supported version, it must be ensured
24
- that deprecation warnings issued by Python do not lead to failures in
25
- doctests.
15
+ Sage follows the time window-based support policy
16
+ `SPEC 0 — Minimum Supported Dependencies <https://scientific-python.org/specs/spec-0000/ >`_
17
+ for Python versions.
18
+ The current minimum supported Python version can be found in the
19
+ ``pyproject.toml `` file. Accordingly, only language and library features
20
+ available in this version can be used. If a feature is deprecated in a newer
21
+ supported version, it must be ensured that deprecation warnings issued by
22
+ Python do not lead to failures in doctests.
26
23
27
24
Some key language and library features have been backported to older Python versions
28
25
using one of two mechanisms:
@@ -34,21 +31,9 @@ using one of two mechanisms:
34
31
of annotations). All Sage library code that uses type annotations
35
32
should include this ``__future__ `` import and follow PEP 563.
36
33
37
- - Backport packages
38
-
39
- - `importlib_metadata <../reference/spkg/importlib_metadata >`_
40
- (to be used in place of ``importlib.metadata ``),
41
- - `importlib_resources <../reference/spkg/importlib_resources >`_
42
- (to be used in place of ``importlib.resources ``),
43
- - `typing_extensions <../reference/spkg/typing_extensions >`_
44
- (to be used in place of ``typing ``).
45
-
46
- The Sage library declares these packages as dependencies and ensures that
47
- versions that provide features of Python 3.11 are available.
48
-
49
- Meta :issue: `29756 ` keeps track of newer Python features and serves
50
- as a starting point for discussions on how to make use of them in the
51
- Sage library.
34
+ - The `typing_extensions <../reference/spkg/typing_extensions >`_ package
35
+ is used to backport features from newer versions of the ``typing `` module.
36
+ The Sage library declares this package as a dependency.
52
37
53
38
54
39
Design
0 commit comments