py2docfx 0.1.9.dev1817832__py3-none-any.whl → 0.1.9.dev1818320__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.
- py2docfx/__main__.py +30 -0
- py2docfx/convert_prepare/package_info.py +1 -1
- py2docfx/convert_prepare/tests/test_package_info.py +22 -7
- py2docfx/convert_prepare/tests/test_params.py +0 -5
- {py2docfx-0.1.9.dev1817832.dist-info → py2docfx-0.1.9.dev1818320.dist-info}/METADATA +1 -1
- {py2docfx-0.1.9.dev1817832.dist-info → py2docfx-0.1.9.dev1818320.dist-info}/RECORD +8 -8
- {py2docfx-0.1.9.dev1817832.dist-info → py2docfx-0.1.9.dev1818320.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.9.dev1817832.dist-info → py2docfx-0.1.9.dev1818320.dist-info}/top_level.txt +0 -0
py2docfx/__main__.py
CHANGED
@@ -2,6 +2,8 @@ from __future__ import annotations # Avoid A | B annotation break under <= py3.9
|
|
2
2
|
import argparse
|
3
3
|
import os
|
4
4
|
import sys
|
5
|
+
import time
|
6
|
+
|
5
7
|
from py2docfx import PACKAGE_ROOT
|
6
8
|
from py2docfx.convert_prepare.generate_document import generate_document
|
7
9
|
from py2docfx.convert_prepare.get_source import get_source, YAML_OUTPUT_ROOT
|
@@ -215,10 +217,13 @@ def parse_command_line_args(argv) -> (
|
|
215
217
|
|
216
218
|
def install_required_packages(
|
217
219
|
required_package_list: list[PackageInfo], github_token: str, ado_token: str):
|
220
|
+
start_time = time.time()
|
218
221
|
for idx, package in enumerate(required_package_list):
|
219
222
|
if package.install_type == package.InstallType.SOURCE_CODE:
|
220
223
|
get_source(package, idx, vststoken=ado_token, githubtoken=github_token)
|
221
224
|
install_package(package)
|
225
|
+
end_time = time.time()
|
226
|
+
print(f"<install_required_packages>{start_time-end_time}<install_required_packages/>")
|
222
227
|
|
223
228
|
def donwload_package_generate_documents(
|
224
229
|
package_info_list: list[PackageInfo],
|
@@ -228,10 +233,26 @@ def donwload_package_generate_documents(
|
|
228
233
|
|
229
234
|
for idx, package in enumerate(package_info_list):
|
230
235
|
package_number = start_num + idx
|
236
|
+
start_time = time.time()
|
231
237
|
get_source(package, package_number, vststoken=ado_token, githubtoken=github_token)
|
238
|
+
end_time = time.time()
|
239
|
+
print(f"<get_source>{package.name},{start_time-end_time}<get_source/>")
|
240
|
+
|
241
|
+
start_time = time.time()
|
232
242
|
install_package(package)
|
243
|
+
end_time = time.time()
|
244
|
+
print(f"<install_package>{package.name},{start_time-end_time}<install_package/>")
|
245
|
+
|
246
|
+
start_time = time.time()
|
233
247
|
generate_document(package, output_root)
|
248
|
+
end_time = time.time()
|
249
|
+
print(f"<generate_document>{package.name},{start_time-end_time}<generate_document/>")
|
250
|
+
|
251
|
+
start_time = time.time()
|
234
252
|
merge_toc(YAML_OUTPUT_ROOT, package.path.yaml_output_folder)
|
253
|
+
end_time = time.time()
|
254
|
+
print(f"<merge_toc>{package.name},{start_time-end_time}<merge_toc/>")
|
255
|
+
|
235
256
|
if output_doc_folder:
|
236
257
|
package.path.move_document_to_target(os.path.join(output_doc_folder, package.name))
|
237
258
|
if output_doc_folder:
|
@@ -258,14 +279,23 @@ def prepare_out_dir(output_root: str | os.PathLike) -> os.PathLike | None:
|
|
258
279
|
def main(argv) -> int:
|
259
280
|
(package_info_list, required_package_list, github_token, ado_token, output_root, \
|
260
281
|
venv_required) = parse_command_line_args(argv)
|
282
|
+
venv_required = False
|
261
283
|
if venv_required and sys.prefix == sys.base_prefix:
|
262
284
|
raise ValueError("""Please run in a virtual env to prevent breaking your dev
|
263
285
|
environment when not running on pipeliens""")
|
264
286
|
output_doc_folder = prepare_out_dir(output_root)
|
287
|
+
|
288
|
+
start_time = time.time()
|
265
289
|
install_required_packages(required_package_list, github_token, ado_token)
|
290
|
+
end_time = time.time()
|
291
|
+
print(f"<install_required_packages>{start_time-end_time}<install_required_packages/>")
|
292
|
+
|
293
|
+
start_time = time.time()
|
266
294
|
donwload_package_generate_documents(
|
267
295
|
package_info_list, output_root, output_doc_folder,
|
268
296
|
github_token, ado_token, len(list(required_package_list)))
|
297
|
+
end_time = time.time()
|
298
|
+
print(f"<donwload_package_generate_documents>{start_time-end_time}<donwload_package_generate_documents/>")
|
269
299
|
return 0
|
270
300
|
|
271
301
|
if __name__ == "__main__":
|
@@ -32,7 +32,7 @@ class PackageInfo:
|
|
32
32
|
package_info = PackageInfo()
|
33
33
|
package_info.exclude_path = dict.get("exclude_path", [])
|
34
34
|
package_info.extension_config = dict.get("extension_config", {})
|
35
|
-
|
35
|
+
|
36
36
|
if reading_required_packages:
|
37
37
|
package_info_dict = dict
|
38
38
|
else:
|
@@ -17,8 +17,6 @@ package_info_1 = PackageInfo.parse_from(test_dict["packages"][1], False)
|
|
17
17
|
|
18
18
|
package_info_2 = PackageInfo.parse_from(test_dict["packages"][2], False)
|
19
19
|
|
20
|
-
package_info_3 = PackageInfo.parse_from(test_dict["packages"][3], False)
|
21
|
-
|
22
20
|
def test_parse_from():
|
23
21
|
assert package_info_0.exclude_path == ["test*", "example*", "sample*", "doc*"]
|
24
22
|
assert package_info_0.name == "azure-mltable-py2docfxtest"
|
@@ -28,11 +26,6 @@ def test_get_combined_name_version():
|
|
28
26
|
name_version = package_info_1.get_combined_name_version()
|
29
27
|
assert name_version == "azureml-accel-models==1.0.0"
|
30
28
|
|
31
|
-
def test_get_sphinx_extensions():
|
32
|
-
assert package_info_3.sphinx_extensions == ["sphinx-pydantic"]
|
33
|
-
assert package_info_3.name == "semantic-kernel"
|
34
|
-
assert package_info_3.install_type.name == "PYPI"
|
35
|
-
|
36
29
|
def test_intall_command():
|
37
30
|
install_command = package_info_0.get_install_command()
|
38
31
|
assert install_command[0] == "azure-mltable-py2docfxtest"
|
@@ -42,6 +35,28 @@ def test_intall_command():
|
|
42
35
|
assert install_command[0] == "azureml-accel-models==1.0.0"
|
43
36
|
assert install_command[1] == []
|
44
37
|
|
38
|
+
def test_get_exclude_command(tmp_path):
|
39
|
+
source_folder = os.path.join(tmp_path,"source_folder")
|
40
|
+
yaml_output_folder = os.path.join(tmp_path,"yaml_output_folder")
|
41
|
+
package_info_0.path = Source(
|
42
|
+
source_folder = source_folder, yaml_output_folder = yaml_output_folder, package_name = "azure-mltable-py2docfxtest"
|
43
|
+
)
|
44
|
+
exclude_path = package_info_0.get_exluded_command()
|
45
|
+
expected_exclude_path = [
|
46
|
+
"build/*",
|
47
|
+
"setup.py",
|
48
|
+
"test*",
|
49
|
+
"example*",
|
50
|
+
"sample*",
|
51
|
+
"doc*",
|
52
|
+
"azure/__init__.py",
|
53
|
+
"azure/mltable/__init__.py"
|
54
|
+
]
|
55
|
+
def form_exclude_path(raletive_path):
|
56
|
+
return os.path.join(source_folder, raletive_path)
|
57
|
+
assert exclude_path == [form_exclude_path(path) for path in expected_exclude_path]
|
58
|
+
|
59
|
+
|
45
60
|
def test_get_exclude_command(tmp_path):
|
46
61
|
source_folder = os.path.join(tmp_path,"source_folder")
|
47
62
|
yaml_output_folder = os.path.join(tmp_path,"yaml_output_folder")
|
@@ -21,11 +21,6 @@ def package_info_assert(package_info_list, required_package_info_list):
|
|
21
21
|
assert package.install_type.name == "PYPI"
|
22
22
|
assert package.exclude_path == []
|
23
23
|
|
24
|
-
package = package_info_list[3]
|
25
|
-
assert package.name == "semantic-kernel"
|
26
|
-
assert package.install_type.name == "PYPI"
|
27
|
-
assert package.sphinx_extensions == ["sphinx-pydantic"]
|
28
|
-
|
29
24
|
required_package = required_package_info_list[0]
|
30
25
|
assert required_package.name == None
|
31
26
|
assert required_package.install_type.name == "DIST_FILE"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: py2docfx
|
3
|
-
Version: 0.1.9.
|
3
|
+
Version: 0.1.9.dev1818320
|
4
4
|
Summary: A package built based on Sphinx which download source code package and generate yaml files supported by docfx.
|
5
5
|
Author: Microsoft Corporation
|
6
6
|
License: MIT License
|
@@ -1,5 +1,5 @@
|
|
1
1
|
py2docfx/__init__.py,sha256=kPRhPGPC1JknDotkksG428c1iIgfFr_4_7Jm-llrowY,72
|
2
|
-
py2docfx/__main__.py,sha256=
|
2
|
+
py2docfx/__main__.py,sha256=YdTYVT4zBUxFI8AoK4L0k_RV8snAYGdUAxdVrH6wo04,11881
|
3
3
|
py2docfx/convert_prepare/__init__.py,sha256=XxtxrP0kmW3ZBHIAoxsPDEHzcgeC0WSnole8Lk6CjKs,11
|
4
4
|
py2docfx/convert_prepare/environment.py,sha256=AwS4c4OSwVdxlExBLVo310HrVhFMhWQ2Wh9RJPJKH1c,894
|
5
5
|
py2docfx/convert_prepare/generate_conf.py,sha256=wqs6iyElzJarH-20_qEL9zvZvt5xfBMsGXSXPSZy6wg,2295
|
@@ -8,7 +8,7 @@ py2docfx/convert_prepare/get_source.py,sha256=o13Ka_zBjekF_7lhHkyi6GSy4E5cWTnnIt
|
|
8
8
|
py2docfx/convert_prepare/git.py,sha256=xGJp2nDWLfVljrxyPnFKPoLIqmBh6by-QdITogIuxi0,5893
|
9
9
|
py2docfx/convert_prepare/install_package.py,sha256=hATmgazcSX7k2n4jQXh9sQMyNUc1k1YqHv5K5UMALq4,262
|
10
10
|
py2docfx/convert_prepare/pack.py,sha256=vZS67_GzEhUmZWHU1dxm8gnWyRBs-kB6-KjX1d_FdOU,1260
|
11
|
-
py2docfx/convert_prepare/package_info.py,sha256=
|
11
|
+
py2docfx/convert_prepare/package_info.py,sha256=V-xasck6ZfqJdUjlGHtkC1iE-DCBDAMK8Z0q-NronkE,7254
|
12
12
|
py2docfx/convert_prepare/package_info_extra_settings.py,sha256=u5B5e8hc0m9PA_-0kJzq1LtKn-xzZlucwXHTFy49mDg,1475
|
13
13
|
py2docfx/convert_prepare/params.py,sha256=PXMB8pLtb4XbfI322avA47q0AO-TyBE6kZf7FU8I6v4,1771
|
14
14
|
py2docfx/convert_prepare/paths.py,sha256=964RX81Qf__rzXgEATfqBNFCKTYVjLt9J7WCz2TnNdc,485
|
@@ -26,8 +26,8 @@ py2docfx/convert_prepare/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
26
26
|
py2docfx/convert_prepare/tests/test_generate_document.py,sha256=hOAtib9pTFaZCS8QbYS6Dhz0hNGESDHPXumRIuIWp4Y,2415
|
27
27
|
py2docfx/convert_prepare/tests/test_get_source.py,sha256=70EVlIZe71aDYDOXMnhqzZclKL8KuIg4t-X0U-pVyhA,7429
|
28
28
|
py2docfx/convert_prepare/tests/test_pack.py,sha256=46JWMNzknIptDVs7D3CuxcmqBr_OKMmaw1br9H7wqco,4134
|
29
|
-
py2docfx/convert_prepare/tests/test_package_info.py,sha256=
|
30
|
-
py2docfx/convert_prepare/tests/test_params.py,sha256=
|
29
|
+
py2docfx/convert_prepare/tests/test_package_info.py,sha256=hdNpAH9hlLF-cX9sKAu3cmiCtphX4USy9G_gWI_iaHo,3883
|
30
|
+
py2docfx/convert_prepare/tests/test_params.py,sha256=p9DaGveocMBRih02KjpudJZE752neFBTLzOFbS47izQ,2036
|
31
31
|
py2docfx/convert_prepare/tests/test_post_process_merge_toc.py,sha256=YKOcn4_lf4syGsAvJ9BqpdUUc3SLfK4TiOX1lpXJT_Y,885
|
32
32
|
py2docfx/convert_prepare/tests/test_source.py,sha256=LNFZtvjz6QhVLOxatjWokYCCcoSm0bhTikMF9KoTPIE,2025
|
33
33
|
py2docfx/convert_prepare/tests/test_sphinx_caller.py,sha256=bhZJ7eH-YvjAPxPS4ANzmMqKo5SHExiCd1kvLWvPHtc,2484
|
@@ -123,7 +123,7 @@ py2docfx/docfx_yaml/tests/roots/test-writer-uri/conf.py,sha256=avcbnIOV2mlGQwhMQ
|
|
123
123
|
py2docfx/docfx_yaml/tests/roots/test-writer-versions/code_with_version_directives.py,sha256=UuizbrJPaG_PcaH18BvbI9KQevOaLd4SslpnzMSqcrE,1030
|
124
124
|
py2docfx/docfx_yaml/tests/roots/test-writer-versions/conf.py,sha256=SCEKrm9VigArfdgf-GAieJD-40d0ctT6urmGIjFOZLM,404
|
125
125
|
py2docfx/docfx_yaml/tests/utils/test_utils.py,sha256=d0OYSUQ6NyoZx5mlLdNGGNhiNmmQhjVT4hQ6jY3VE_M,3383
|
126
|
-
py2docfx-0.1.9.
|
127
|
-
py2docfx-0.1.9.
|
128
|
-
py2docfx-0.1.9.
|
129
|
-
py2docfx-0.1.9.
|
126
|
+
py2docfx-0.1.9.dev1818320.dist-info/METADATA,sha256=gLehVEZCsLViVvw8ALhfoU4iWYY4ZuKRePORIIqZ9Q8,600
|
127
|
+
py2docfx-0.1.9.dev1818320.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
128
|
+
py2docfx-0.1.9.dev1818320.dist-info/top_level.txt,sha256=5dH2uP81dczt_qQJ38wiZ-gzoVWasfiJALWRSjdbnYU,9
|
129
|
+
py2docfx-0.1.9.dev1818320.dist-info/RECORD,,
|
File without changes
|
File without changes
|