kernel-abi-check 0.6.2.dev0__cp38-abi3-win32.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.
@@ -0,0 +1,5 @@
1
+ from .kernel_abi_check import *
2
+
3
+ __doc__ = kernel_abi_check.__doc__
4
+ if hasattr(kernel_abi_check, "__all__"):
5
+ __all__ = kernel_abi_check.__all__
@@ -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=jqWOnj9MJMcVOhRvipbD_HJ5aGwHb2kcbqU5x15Xtbk,90
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=3EXK0wuVeb5jibLaKrLU4x-4BtO_fTqJYPjm5qLlJt8,1053696
6
+ kernel_abi_check/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ kernel_abi_check-0.6.2.dev0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.9.4)
3
+ Root-Is-Purelib: false
4
+ Tag: cp38-abi3-win32