py2docfx 0.1.11.dev1824276__py3-none-any.whl → 0.1.11.dev1827111__py3-none-any.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.
Files changed (123) hide show
  1. py2docfx/convert_prepare/environment.py +1 -1
  2. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/_collections.py +0 -145
  3. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/bcppcompiler.py +1 -2
  4. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/ccompiler.py +7 -11
  5. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/bdist.py +4 -3
  6. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -4
  7. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/check.py +3 -4
  8. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/install_data.py +39 -29
  9. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/install_lib.py +1 -3
  10. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/sdist.py +4 -4
  11. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -0
  12. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +21 -42
  13. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/dist.py +3 -12
  14. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/extension.py +9 -4
  15. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/msvc9compiler.py +1 -3
  16. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/msvccompiler.py +1 -3
  17. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/spawn.py +0 -1
  18. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/sysconfig.py +44 -25
  19. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +1 -1
  20. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_build.py +1 -2
  21. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +1 -1
  22. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py +0 -42
  23. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +1 -1
  24. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +4 -1
  25. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +17 -9
  26. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_mingwccompiler.py +5 -4
  27. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +1 -1
  28. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +6 -3
  29. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_unixccompiler.py +35 -1
  30. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_util.py +4 -24
  31. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/unixccompiler.py +19 -20
  32. py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/util.py +20 -26
  33. py2docfx/venv/0/Lib/site-packages/wheel/__init__.py +3 -0
  34. py2docfx/venv/0/Lib/site-packages/wheel/__main__.py +23 -0
  35. py2docfx/venv/0/Lib/site-packages/wheel/_bdist_wheel.py +604 -0
  36. py2docfx/venv/0/Lib/site-packages/wheel/_setuptools_logging.py +26 -0
  37. py2docfx/venv/0/Lib/site-packages/wheel/bdist_wheel.py +11 -0
  38. py2docfx/venv/0/Lib/site-packages/wheel/cli/__init__.py +155 -0
  39. py2docfx/venv/0/Lib/site-packages/wheel/cli/convert.py +273 -0
  40. py2docfx/venv/0/Lib/site-packages/wheel/cli/pack.py +85 -0
  41. py2docfx/venv/0/Lib/site-packages/wheel/cli/tags.py +139 -0
  42. py2docfx/venv/0/Lib/site-packages/wheel/cli/unpack.py +30 -0
  43. py2docfx/venv/0/Lib/site-packages/wheel/macosx_libfile.py +482 -0
  44. py2docfx/venv/0/Lib/site-packages/wheel/metadata.py +183 -0
  45. py2docfx/venv/0/Lib/site-packages/wheel/util.py +26 -0
  46. py2docfx/venv/0/Lib/site-packages/wheel/vendored/__init__.py +0 -0
  47. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
  48. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_elffile.py +108 -0
  49. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +260 -0
  50. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +83 -0
  51. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_parser.py +356 -0
  52. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_structures.py +61 -0
  53. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +192 -0
  54. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/markers.py +253 -0
  55. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/requirements.py +90 -0
  56. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/specifiers.py +1011 -0
  57. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/tags.py +571 -0
  58. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/utils.py +172 -0
  59. py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/version.py +561 -0
  60. py2docfx/venv/0/Lib/site-packages/wheel/wheelfile.py +227 -0
  61. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/_collections.py +0 -145
  62. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/bcppcompiler.py +1 -2
  63. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/ccompiler.py +7 -11
  64. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/bdist.py +4 -3
  65. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -4
  66. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/check.py +3 -4
  67. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/install_data.py +39 -29
  68. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/install_lib.py +1 -3
  69. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/sdist.py +4 -4
  70. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -0
  71. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +21 -42
  72. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/dist.py +3 -12
  73. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/extension.py +9 -4
  74. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/msvc9compiler.py +1 -3
  75. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/msvccompiler.py +1 -3
  76. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/spawn.py +0 -1
  77. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/sysconfig.py +44 -25
  78. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +1 -1
  79. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_build.py +1 -2
  80. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +1 -1
  81. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py +0 -42
  82. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +1 -1
  83. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +4 -1
  84. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +17 -9
  85. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_mingwccompiler.py +5 -4
  86. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +1 -1
  87. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +6 -3
  88. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_unixccompiler.py +35 -1
  89. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_util.py +4 -24
  90. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/unixccompiler.py +19 -20
  91. py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/util.py +20 -26
  92. py2docfx/venv/template/Lib/site-packages/wheel/__init__.py +3 -0
  93. py2docfx/venv/template/Lib/site-packages/wheel/__main__.py +23 -0
  94. py2docfx/venv/template/Lib/site-packages/wheel/_bdist_wheel.py +604 -0
  95. py2docfx/venv/template/Lib/site-packages/wheel/_setuptools_logging.py +26 -0
  96. py2docfx/venv/template/Lib/site-packages/wheel/bdist_wheel.py +11 -0
  97. py2docfx/venv/template/Lib/site-packages/wheel/cli/__init__.py +155 -0
  98. py2docfx/venv/template/Lib/site-packages/wheel/cli/convert.py +273 -0
  99. py2docfx/venv/template/Lib/site-packages/wheel/cli/pack.py +85 -0
  100. py2docfx/venv/template/Lib/site-packages/wheel/cli/tags.py +139 -0
  101. py2docfx/venv/template/Lib/site-packages/wheel/cli/unpack.py +30 -0
  102. py2docfx/venv/template/Lib/site-packages/wheel/macosx_libfile.py +482 -0
  103. py2docfx/venv/template/Lib/site-packages/wheel/metadata.py +183 -0
  104. py2docfx/venv/template/Lib/site-packages/wheel/util.py +26 -0
  105. py2docfx/venv/template/Lib/site-packages/wheel/vendored/__init__.py +0 -0
  106. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
  107. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_elffile.py +108 -0
  108. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +260 -0
  109. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +83 -0
  110. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_parser.py +356 -0
  111. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_structures.py +61 -0
  112. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +192 -0
  113. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/markers.py +253 -0
  114. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/requirements.py +90 -0
  115. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/specifiers.py +1011 -0
  116. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/tags.py +571 -0
  117. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/utils.py +172 -0
  118. py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/version.py +561 -0
  119. py2docfx/venv/template/Lib/site-packages/wheel/wheelfile.py +227 -0
  120. {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1827111.dist-info}/METADATA +1 -1
  121. {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1827111.dist-info}/RECORD +123 -67
  122. {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1827111.dist-info}/WHEEL +0 -0
  123. {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1827111.dist-info}/top_level.txt +0 -0
@@ -5,6 +5,7 @@ import email.generator
5
5
  import email.policy
6
6
  import io
7
7
  import os
8
+ import pathlib
8
9
  import sys
9
10
  import sysconfig as stdlib_sysconfig
10
11
  import unittest.mock as mock
@@ -63,30 +64,9 @@ class TestUtil:
63
64
  assert get_platform() == 'win-arm64'
64
65
 
65
66
  def test_convert_path(self):
66
- # linux/mac
67
- os.sep = '/'
68
-
69
- def _join(path):
70
- return '/'.join(path)
71
-
72
- os.path.join = _join
73
-
74
- assert convert_path('/home/to/my/stuff') == '/home/to/my/stuff'
75
-
76
- # win
77
- os.sep = '\\'
78
-
79
- def _join(*path):
80
- return '\\'.join(path)
81
-
82
- os.path.join = _join
83
-
84
- with pytest.raises(ValueError):
85
- convert_path('/home/to/my/stuff')
86
- with pytest.raises(ValueError):
87
- convert_path('home/to/my/stuff/')
88
-
89
- assert convert_path('home/to/my/stuff') == 'home\\to\\my\\stuff'
67
+ expected = os.sep.join(('', 'home', 'to', 'my', 'stuff'))
68
+ assert convert_path('/home/to/my/stuff') == expected
69
+ assert convert_path(pathlib.Path('/home/to/my/stuff')) == expected
90
70
  assert convert_path('.') == os.curdir
91
71
 
92
72
  def test_change_root(self):
@@ -118,9 +118,12 @@ class UnixCCompiler(CCompiler):
118
118
  'preprocessor': None,
119
119
  'compiler': ["cc"],
120
120
  'compiler_so': ["cc"],
121
- 'compiler_cxx': ["cc"],
121
+ 'compiler_cxx': ["c++"],
122
+ 'compiler_so_cxx': ["c++"],
122
123
  'linker_so': ["cc", "-shared"],
124
+ 'linker_so_cxx': ["c++", "-shared"],
123
125
  'linker_exe': ["cc"],
126
+ 'linker_exe_cxx': ["c++", "-shared"],
124
127
  'archiver': ["ar", "-cr"],
125
128
  'ranlib': None,
126
129
  }
@@ -187,8 +190,14 @@ class UnixCCompiler(CCompiler):
187
190
 
188
191
  def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
189
192
  compiler_so = compiler_fixup(self.compiler_so, cc_args + extra_postargs)
193
+ compiler_so_cxx = compiler_fixup(self.compiler_so_cxx, cc_args + extra_postargs)
190
194
  try:
191
- self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
195
+ if self.detect_language(src) == 'c++':
196
+ self.spawn(
197
+ compiler_so_cxx + cc_args + [src, '-o', obj] + extra_postargs
198
+ )
199
+ else:
200
+ self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
192
201
  except DistutilsExecError as msg:
193
202
  raise CompileError(msg)
194
203
 
@@ -256,7 +265,13 @@ class UnixCCompiler(CCompiler):
256
265
  # building an executable or linker_so (with shared options)
257
266
  # when building a shared library.
258
267
  building_exe = target_desc == CCompiler.EXECUTABLE
259
- linker = (self.linker_exe if building_exe else self.linker_so)[:]
268
+ linker = (
269
+ self.linker_exe
270
+ if building_exe
271
+ else (
272
+ self.linker_so_cxx if target_lang == "c++" else self.linker_so
273
+ )
274
+ )[:]
260
275
 
261
276
  if target_lang == "c++" and self.compiler_cxx:
262
277
  env, linker_ne = _split_env(linker)
@@ -366,27 +381,11 @@ class UnixCCompiler(CCompiler):
366
381
  return os.path.join(match.group(1), dir[1:]) if apply_root else dir
367
382
 
368
383
  def find_library_file(self, dirs, lib, debug=False):
369
- r"""
384
+ """
370
385
  Second-guess the linker with not much hard
371
386
  data to go on: GCC seems to prefer the shared library, so
372
387
  assume that *all* Unix C compilers do,
373
388
  ignoring even GCC's "-static" option.
374
-
375
- >>> compiler = UnixCCompiler()
376
- >>> compiler._library_root = lambda dir: dir
377
- >>> monkeypatch = getfixture('monkeypatch')
378
- >>> monkeypatch.setattr(os.path, 'exists', lambda d: 'existing' in d)
379
- >>> dirs = ('/foo/bar/missing', '/foo/bar/existing')
380
- >>> compiler.find_library_file(dirs, 'abc').replace('\\', '/')
381
- '/foo/bar/existing/libabc.dylib'
382
- >>> compiler.find_library_file(reversed(dirs), 'abc').replace('\\', '/')
383
- '/foo/bar/existing/libabc.dylib'
384
- >>> monkeypatch.setattr(os.path, 'exists',
385
- ... lambda d: 'existing' in d and '.a' in d)
386
- >>> compiler.find_library_file(dirs, 'abc').replace('\\', '/')
387
- '/foo/bar/existing/libabc.a'
388
- >>> compiler.find_library_file(reversed(dirs), 'abc').replace('\\', '/')
389
- '/foo/bar/existing/libabc.a'
390
389
  """
391
390
  lib_names = (
392
391
  self.library_filename(lib, lib_type=type)
@@ -4,9 +4,12 @@ Miscellaneous utility functions -- anything that doesn't fit into
4
4
  one of the other *util.py modules.
5
5
  """
6
6
 
7
+ from __future__ import annotations
8
+
7
9
  import functools
8
10
  import importlib.util
9
11
  import os
12
+ import pathlib
10
13
  import re
11
14
  import string
12
15
  import subprocess
@@ -14,6 +17,7 @@ import sys
14
17
  import sysconfig
15
18
  import tempfile
16
19
 
20
+ from ._functools import pass_none
17
21
  from ._log import log
18
22
  from ._modified import newer
19
23
  from .errors import DistutilsByteCompileError, DistutilsPlatformError
@@ -116,33 +120,23 @@ def split_version(s):
116
120
  return [int(n) for n in s.split('.')]
117
121
 
118
122
 
119
- def convert_path(pathname):
120
- """Return 'pathname' as a name that will work on the native filesystem,
121
- i.e. split it on '/' and put it back together again using the current
122
- directory separator. Needed because filenames in the setup script are
123
- always supplied in Unix style, and have to be converted to the local
124
- convention before we can actually use them in the filesystem. Raises
125
- ValueError on non-Unix-ish systems if 'pathname' either starts or
126
- ends with a slash.
123
+ @pass_none
124
+ def convert_path(pathname: str | os.PathLike) -> str:
125
+ r"""
126
+ Allow for pathlib.Path inputs, coax to a native path string.
127
+
128
+ If None is passed, will just pass it through as
129
+ Setuptools relies on this behavior.
130
+
131
+ >>> convert_path(None) is None
132
+ True
133
+
134
+ Removes empty paths.
135
+
136
+ >>> convert_path('foo/./bar').replace('\\', '/')
137
+ 'foo/bar'
127
138
  """
128
- if os.sep == '/':
129
- return pathname
130
- if not pathname:
131
- return pathname
132
- if pathname[0] == '/':
133
- raise ValueError(f"path '{pathname}' cannot be absolute")
134
- if pathname[-1] == '/':
135
- raise ValueError(f"path '{pathname}' cannot end with '/'")
136
-
137
- paths = pathname.split('/')
138
- while '.' in paths:
139
- paths.remove('.')
140
- if not paths:
141
- return os.curdir
142
- return os.path.join(*paths)
143
-
144
-
145
- # convert_path ()
139
+ return os.fspath(pathlib.PurePath(pathname))
146
140
 
147
141
 
148
142
  def change_root(new_root, pathname):
@@ -0,0 +1,3 @@
1
+ from __future__ import annotations
2
+
3
+ __version__ = "0.44.0"
@@ -0,0 +1,23 @@
1
+ """
2
+ Wheel command line tool (enable python -m wheel syntax)
3
+ """
4
+
5
+ from __future__ import annotations
6
+
7
+ import sys
8
+
9
+
10
+ def main(): # needed for console script
11
+ if __package__ == "":
12
+ # To be able to run 'python wheel-0.9.whl/wheel':
13
+ import os.path
14
+
15
+ path = os.path.dirname(os.path.dirname(__file__))
16
+ sys.path[0:0] = [path]
17
+ import wheel.cli
18
+
19
+ sys.exit(wheel.cli.main())
20
+
21
+
22
+ if __name__ == "__main__":
23
+ sys.exit(main())