1
1
from __future__ import annotations
2
2
3
- from dataclasses import dataclass
3
+ import sys
4
4
import datetime as dt
5
+ from dataclasses import dataclass
5
6
from pathlib import Path
6
7
7
8
try :
23
24
ROOT_DIR = RELEASE_DIR .parent
24
25
PEP_ROOT = ROOT_DIR / 'peps'
25
26
27
+ kw_only = {'kw_only' : True } if sys .version_info [:2 ] >= (3 , 10 ) else {}
28
+
26
29
27
- @dataclass (frozen = True , kw_only = True , slots = True )
30
+ @dataclass (frozen = True , ** kw_only , slots = True )
28
31
class PythonReleases :
29
32
metadata : dict [str , VersionMetadata ]
30
33
releases : dict [str , list [ReleaseInfo ]]
31
34
32
35
33
- @dataclass (frozen = True , kw_only = True , slots = True )
36
+ @dataclass (frozen = True , ** kw_only , slots = True )
34
37
class VersionMetadata :
35
38
"""Metadata for a given interpreter version (MAJOR.MINOR)."""
36
39
@@ -49,7 +52,7 @@ def from_toml(cls, data: dict[str, int | str | dt.date]):
49
52
return cls (** {k .replace ('-' , '_' ): v for k , v in data .items ()})
50
53
51
54
52
- @dataclass (frozen = True , kw_only = True , slots = True )
55
+ @dataclass (frozen = True , ** kw_only , slots = True )
53
56
class ReleaseInfo :
54
57
"""Information about a release."""
55
58
0 commit comments