kernel-abi-check 0.6.2.dev0__cp38-abi3-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kernel_abi_check/__init__.py +5 -0
- kernel_abi_check/__init__.pyi +215 -0
- kernel_abi_check/kernel_abi_check.pyd +0 -0
- kernel_abi_check/py.typed +0 -0
- kernel_abi_check-0.6.2.dev0.dist-info/METADATA +8 -0
- kernel_abi_check-0.6.2.dev0.dist-info/RECORD +7 -0
- kernel_abi_check-0.6.2.dev0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"""Type stubs for kernel_abi_check module."""
|
|
2
|
+
|
|
3
|
+
from enum import Enum
|
|
4
|
+
from typing import List, Union
|
|
5
|
+
import os
|
|
6
|
+
|
|
7
|
+
__version__: str
|
|
8
|
+
|
|
9
|
+
class BinaryFormat(Enum):
|
|
10
|
+
"""Binary format of an object file."""
|
|
11
|
+
|
|
12
|
+
COFF = "COFF"
|
|
13
|
+
"""COFF (Common Object File Format)"""
|
|
14
|
+
|
|
15
|
+
ELF = "ELF"
|
|
16
|
+
"""ELF (Executable and Linkable Format)"""
|
|
17
|
+
|
|
18
|
+
MACH_O = "MACH_O"
|
|
19
|
+
"""Mach-O (Mach Object file format)"""
|
|
20
|
+
|
|
21
|
+
PE = "PE"
|
|
22
|
+
"""PE (Portable Executable)"""
|
|
23
|
+
|
|
24
|
+
WASM = "WASM"
|
|
25
|
+
"""WebAssembly"""
|
|
26
|
+
|
|
27
|
+
XCOFF = "XCOFF"
|
|
28
|
+
"""XCOFF (Extended Common Object File Format)"""
|
|
29
|
+
|
|
30
|
+
def __str__(self) -> str: ...
|
|
31
|
+
def __repr__(self) -> str: ...
|
|
32
|
+
|
|
33
|
+
class ObjectFile:
|
|
34
|
+
"""Object file that can be validated for ABI compatibility."""
|
|
35
|
+
|
|
36
|
+
def __init__(self, filename: os.PathLike[str] | str) -> None:
|
|
37
|
+
"""Create a new ObjectFile from a path.
|
|
38
|
+
|
|
39
|
+
Args:
|
|
40
|
+
filename: Path to the object file to analyze
|
|
41
|
+
|
|
42
|
+
Raises:
|
|
43
|
+
IOError: If the file cannot be opened or read
|
|
44
|
+
"""
|
|
45
|
+
...
|
|
46
|
+
|
|
47
|
+
def format(self) -> BinaryFormat:
|
|
48
|
+
"""Get the binary format of this object file.
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
The binary format of the object file
|
|
52
|
+
|
|
53
|
+
Raises:
|
|
54
|
+
ValueError: If the object file cannot be parsed or has an unsupported format
|
|
55
|
+
"""
|
|
56
|
+
...
|
|
57
|
+
|
|
58
|
+
def check_python_abi(
|
|
59
|
+
self, abi_version: str
|
|
60
|
+
) -> List[Union[IncompatibleAbi3Symbol, NonAbi3Symbol]]:
|
|
61
|
+
"""Check Python stable ABI compatibility for this object file.
|
|
62
|
+
|
|
63
|
+
Args:
|
|
64
|
+
abi_version: Python ABI version string (e.g., "3.8")
|
|
65
|
+
|
|
66
|
+
Returns:
|
|
67
|
+
List of ABI violations found
|
|
68
|
+
|
|
69
|
+
Raises:
|
|
70
|
+
ValueError: If the ABI version cannot be parsed or ABI check fails
|
|
71
|
+
"""
|
|
72
|
+
...
|
|
73
|
+
|
|
74
|
+
def check_manylinux(
|
|
75
|
+
self, manylinux_version: str
|
|
76
|
+
) -> List[IncompatibleManylinuxSymbol]:
|
|
77
|
+
"""Check manylinux compatibility for this object file.
|
|
78
|
+
|
|
79
|
+
Args:
|
|
80
|
+
manylinux_version: Manylinux version string (e.g., "manylinux_2_17")
|
|
81
|
+
|
|
82
|
+
Returns:
|
|
83
|
+
List of manylinux violations found
|
|
84
|
+
|
|
85
|
+
Raises:
|
|
86
|
+
ValueError: If the manylinux check fails
|
|
87
|
+
"""
|
|
88
|
+
...
|
|
89
|
+
|
|
90
|
+
def check_macos(
|
|
91
|
+
self, macos_version: str
|
|
92
|
+
) -> List[Union[MissingMacOSVersion, IncompatibleMacOSVersion]]:
|
|
93
|
+
"""Check macOS compatibility for this object file.
|
|
94
|
+
|
|
95
|
+
Args:
|
|
96
|
+
macos_version: macOS version string (e.g., "10.15")
|
|
97
|
+
|
|
98
|
+
Returns:
|
|
99
|
+
List of macOS violations found
|
|
100
|
+
|
|
101
|
+
Raises:
|
|
102
|
+
ValueError: If the macOS version cannot be parsed or check fails
|
|
103
|
+
"""
|
|
104
|
+
...
|
|
105
|
+
|
|
106
|
+
class IncompatibleAbi3Symbol:
|
|
107
|
+
"""ABI3 symbol that is not compatible with the specified Python ABI version."""
|
|
108
|
+
|
|
109
|
+
def __init__(self, *, name: str, added: str) -> None:
|
|
110
|
+
"""Create a new IncompatibleAbi3Symbol.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
name: Name of the symbol
|
|
114
|
+
added: Version when this symbol was added to Python
|
|
115
|
+
|
|
116
|
+
Raises:
|
|
117
|
+
ValueError: If the version string cannot be parsed
|
|
118
|
+
TypeError: If positional arguments are used
|
|
119
|
+
"""
|
|
120
|
+
...
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
def name(self) -> str:
|
|
124
|
+
"""Name of the symbol."""
|
|
125
|
+
...
|
|
126
|
+
|
|
127
|
+
@property
|
|
128
|
+
def version_added(self) -> str:
|
|
129
|
+
"""Version when this symbol was added to Python."""
|
|
130
|
+
...
|
|
131
|
+
|
|
132
|
+
def __eq__(self, other: object) -> bool: ...
|
|
133
|
+
def __ne__(self, other: object) -> bool: ...
|
|
134
|
+
def __repr__(self) -> str: ...
|
|
135
|
+
|
|
136
|
+
class NonAbi3Symbol:
|
|
137
|
+
"""Python symbol that is not part of ABI3."""
|
|
138
|
+
|
|
139
|
+
@property
|
|
140
|
+
def name(self) -> str:
|
|
141
|
+
"""Name of the symbol."""
|
|
142
|
+
...
|
|
143
|
+
|
|
144
|
+
def __repr__(self) -> str: ...
|
|
145
|
+
|
|
146
|
+
class IncompatibleManylinuxSymbol:
|
|
147
|
+
"""Symbol that is not allowed by the manylinux version."""
|
|
148
|
+
|
|
149
|
+
def __init__(self, *, name: str, dep: str, version: str) -> None:
|
|
150
|
+
"""Create a new IncompatibleManylinuxSymbol.
|
|
151
|
+
|
|
152
|
+
Args:
|
|
153
|
+
name: Name of the symbol
|
|
154
|
+
dep: Dependency that contains the symbol
|
|
155
|
+
version: Version of the symbol
|
|
156
|
+
|
|
157
|
+
Raises:
|
|
158
|
+
TypeError: If positional arguments are used
|
|
159
|
+
"""
|
|
160
|
+
...
|
|
161
|
+
|
|
162
|
+
@property
|
|
163
|
+
def name(self) -> str:
|
|
164
|
+
"""Name of the symbol."""
|
|
165
|
+
...
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
def dep(self) -> str:
|
|
169
|
+
"""Dependency that contains the symbol."""
|
|
170
|
+
...
|
|
171
|
+
|
|
172
|
+
@property
|
|
173
|
+
def version(self) -> str:
|
|
174
|
+
"""Version of the symbol."""
|
|
175
|
+
...
|
|
176
|
+
|
|
177
|
+
def __eq__(self, other: object) -> bool: ...
|
|
178
|
+
def __ne__(self, other: object) -> bool: ...
|
|
179
|
+
def __repr__(self) -> str: ...
|
|
180
|
+
|
|
181
|
+
class MissingMacOSVersion:
|
|
182
|
+
"""Object file does not specify minimum OS version."""
|
|
183
|
+
|
|
184
|
+
def __init__(self) -> None:
|
|
185
|
+
"""Create a new MissingMacOSVersion."""
|
|
186
|
+
...
|
|
187
|
+
|
|
188
|
+
def __eq__(self, other: object) -> bool: ...
|
|
189
|
+
def __ne__(self, other: object) -> bool: ...
|
|
190
|
+
def __repr__(self) -> str: ...
|
|
191
|
+
|
|
192
|
+
class IncompatibleMacOSVersion:
|
|
193
|
+
"""The minimum OS version of the object file is higher than the
|
|
194
|
+
specified macOS version."""
|
|
195
|
+
|
|
196
|
+
def __init__(self, *, version: str) -> None:
|
|
197
|
+
"""Create a new IncompatibleMacOSVersion.
|
|
198
|
+
|
|
199
|
+
Args:
|
|
200
|
+
version: Minimum OS version of the object file
|
|
201
|
+
|
|
202
|
+
Raises:
|
|
203
|
+
ValueError: If the version string cannot be parsed
|
|
204
|
+
TypeError: If positional arguments are used
|
|
205
|
+
"""
|
|
206
|
+
...
|
|
207
|
+
|
|
208
|
+
@property
|
|
209
|
+
def version(self) -> str:
|
|
210
|
+
"""Minimum OS version of the object file."""
|
|
211
|
+
...
|
|
212
|
+
|
|
213
|
+
def __eq__(self, other: object) -> bool: ...
|
|
214
|
+
def __ne__(self, other: object) -> bool: ...
|
|
215
|
+
def __repr__(self) -> str: ...
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: kernel-abi-check
|
|
3
|
+
Version: 0.6.2.dev0
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
|
+
Summary: Check the ABI of Hub Kernels
|
|
7
|
+
Home-Page: https://github.com/huggingface/kernel-builder
|
|
8
|
+
Requires-Python: >=3.8
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
kernel_abi_check-0.6.2.dev0.dist-info/METADATA,sha256=fu6QWWjg3ICTfsznrwYBpc4wNGZzUHnAWHygw0vC8z8,296
|
|
2
|
+
kernel_abi_check-0.6.2.dev0.dist-info/WHEEL,sha256=7bfl5v0wbVhXZba613g0x-n2obNNfpQuN8I1cQ4oaU8,94
|
|
3
|
+
kernel_abi_check/__init__.py,sha256=PQtGn24XgibIwz9IMJDZtkppfGvBh9Dlj98R0eiNZ3s,147
|
|
4
|
+
kernel_abi_check/__init__.pyi,sha256=XYpRiHjrWBC6ihaR9NEseWTxWKPtp8VJNy4G5FeT--0,5769
|
|
5
|
+
kernel_abi_check/kernel_abi_check.pyd,sha256=kAWb6mVqQSzOJOazYtd7l3jG2IT0Igacm-sJFRtguiA,1208320
|
|
6
|
+
kernel_abi_check/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
kernel_abi_check-0.6.2.dev0.dist-info/RECORD,,
|