Skip to content

Commit 0fa9594

Browse files
committed
Type setuptools/msvc.py dir methods and properties
1 parent 4d4efe5 commit 0fa9594

File tree

2 files changed

+24
-21
lines changed

2 files changed

+24
-21
lines changed

Diff for: setuptools/msvc.py

+22-21
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
from more_itertools import unique_everseen
1919

20+
from ._path import StrPath
21+
2022
import distutils.errors
2123

2224
if TYPE_CHECKING:
@@ -135,7 +137,7 @@ def target_dir(self, hidex86=False, x64=False) -> str:
135137
else r'\%s' % self.target_cpu
136138
)
137139

138-
def cross_dir(self, forcex86=False):
140+
def cross_dir(self, forcex86=False) -> str:
139141
r"""
140142
Cross platform specific subfolder.
141143
@@ -306,7 +308,7 @@ def microsoft(self, key, x86=False):
306308
node64 = '' if self.pi.current_is_x86() or x86 else 'Wow6432Node'
307309
return os.path.join('Software', node64, 'Microsoft', key)
308310

309-
def lookup(self, key, name):
311+
def lookup(self, key: str, name: str) -> str | None:
310312
"""
311313
Look for values in registry in Microsoft software registry.
312314
@@ -319,7 +321,7 @@ def lookup(self, key, name):
319321
320322
Return
321323
------
322-
str
324+
str | None
323325
value
324326
"""
325327
key_read = winreg.KEY_READ
@@ -486,7 +488,7 @@ def _as_float_version(version):
486488
return float('.'.join(version.split('.')[:2]))
487489

488490
@property
489-
def VSInstallDir(self):
491+
def VSInstallDir(self) -> str:
490492
"""
491493
Microsoft Visual Studio directory.
492494
@@ -504,7 +506,7 @@ def VSInstallDir(self):
504506
return self.ri.lookup(self.ri.vs, '%0.1f' % self.vs_ver) or default
505507

506508
@property
507-
def VCInstallDir(self):
509+
def VCInstallDir(self) -> str:
508510
"""
509511
Microsoft Visual C++ directory.
510512
@@ -607,7 +609,7 @@ def WindowsSdkLastVersion(self):
607609
return self._use_last_dir_name(os.path.join(self.WindowsSdkDir, 'lib'))
608610

609611
@property
610-
def WindowsSdkDir(self) -> str | None: # noqa: C901 # is too complex (12) # FIXME
612+
def WindowsSdkDir(self) -> str: # noqa: C901 # is too complex (12) # FIXME
611613
"""
612614
Microsoft Windows SDK directory.
613615
@@ -650,13 +652,13 @@ def WindowsSdkDir(self) -> str | None: # noqa: C901 # is too complex (12) # F
650652
return sdkdir
651653

652654
@property
653-
def WindowsSDKExecutablePath(self):
655+
def WindowsSDKExecutablePath(self) -> str | None:
654656
"""
655657
Microsoft Windows SDK executable directory.
656658
657659
Return
658660
------
659-
str
661+
str | None
660662
path
661663
"""
662664
# Find WinSDK NetFx Tools registry dir name
@@ -687,7 +689,7 @@ def WindowsSDKExecutablePath(self):
687689
return None
688690

689691
@property
690-
def FSharpInstallDir(self):
692+
def FSharpInstallDir(self) -> str:
691693
"""
692694
Microsoft Visual F# directory.
693695
@@ -700,7 +702,7 @@ def FSharpInstallDir(self):
700702
return self.ri.lookup(path, 'productdir') or ''
701703

702704
@property
703-
def UniversalCRTSdkDir(self):
705+
def UniversalCRTSdkDir(self) -> str:
704706
"""
705707
Microsoft Universal CRT SDK directory.
706708
@@ -716,9 +718,9 @@ def UniversalCRTSdkDir(self):
716718
for ver in vers:
717719
sdkdir = self.ri.lookup(self.ri.windows_kits_roots, 'kitsroot%s' % ver)
718720
if sdkdir:
719-
return sdkdir or ''
721+
return sdkdir
720722

721-
return None
723+
return ''
722724

723725
@property
724726
def UniversalCRTSdkLastVersion(self):
@@ -750,16 +752,15 @@ def NetFxSdkVersion(self):
750752
)
751753

752754
@property
753-
def NetFxSdkDir(self):
755+
def NetFxSdkDir(self) -> str | None:
754756
"""
755757
Microsoft .NET Framework SDK directory.
756758
757759
Return
758760
------
759-
str
761+
str | None
760762
path
761763
"""
762-
sdkdir = ''
763764
for ver in self.NetFxSdkVersion:
764765
loc = os.path.join(self.ri.netfx_sdk, ver)
765766
sdkdir = self.ri.lookup(loc, 'kitsinstallationfolder')
@@ -768,7 +769,7 @@ def NetFxSdkDir(self):
768769
return sdkdir
769770

770771
@property
771-
def FrameworkDir32(self):
772+
def FrameworkDir32(self) -> str:
772773
"""
773774
Microsoft .NET Framework 32bit directory.
774775
@@ -784,7 +785,7 @@ def FrameworkDir32(self):
784785
return self.ri.lookup(self.ri.vc, 'frameworkdir32') or guess_fw
785786

786787
@property
787-
def FrameworkDir64(self):
788+
def FrameworkDir64(self) -> str:
788789
"""
789790
Microsoft .NET Framework 64bit directory.
790791
@@ -854,7 +855,7 @@ def _find_dot_net_versions(self, bits) -> tuple[str, ...]:
854855
return ()
855856

856857
@staticmethod
857-
def _use_last_dir_name(path, prefix=''):
858+
def _use_last_dir_name(path: StrPath, prefix: str = '') -> str:
858859
"""
859860
Return name of the last dir in path or '' if no dir found.
860861
@@ -876,7 +877,7 @@ def _use_last_dir_name(path, prefix=''):
876877
if os.path.isdir(os.path.join(path, dir_name))
877878
and dir_name.startswith(prefix)
878879
)
879-
return next(matching_dirs, None) or ''
880+
return next(matching_dirs, '')
880881

881882

882883
class _EnvironmentDict(TypedDict):
@@ -1190,7 +1191,7 @@ def _sdk_tools(self):
11901191
yield self.si.WindowsSDKExecutablePath
11911192

11921193
@property
1193-
def _sdk_subdir(self):
1194+
def _sdk_subdir(self) -> str:
11941195
"""
11951196
Microsoft Windows SDK version subdir.
11961197
@@ -1369,7 +1370,7 @@ def UCRTIncludes(self):
13691370
return [os.path.join(include, '%sucrt' % self._ucrt_subdir)]
13701371

13711372
@property
1372-
def _ucrt_subdir(self):
1373+
def _ucrt_subdir(self) -> str:
13731374
"""
13741375
Microsoft Universal C Runtime SDK version subdir.
13751376

Diff for: setuptools/tests/test_build_ext.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import os
24
import sys
35
from importlib.util import cache_from_source as _compiled_file_name

0 commit comments

Comments
 (0)