py2docfx 0.1.9.dev1814875__py3-none-any.whl → 0.1.9.dev1817546__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 +18 -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.dev1814875.dist-info → py2docfx-0.1.9.dev1817546.dist-info}/METADATA +1 -1
- {py2docfx-0.1.9.dev1814875.dist-info → py2docfx-0.1.9.dev1817546.dist-info}/RECORD +8 -8
- {py2docfx-0.1.9.dev1814875.dist-info → py2docfx-0.1.9.dev1817546.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.9.dev1814875.dist-info → py2docfx-0.1.9.dev1817546.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
|
@@ -227,6 +229,7 @@ def donwload_package_generate_documents(
|
|
227
229
|
github_token: str, ado_token: str, start_num: int):
|
228
230
|
|
229
231
|
for idx, package in enumerate(package_info_list):
|
232
|
+
start_time = time.time()
|
230
233
|
package_number = start_num + idx
|
231
234
|
get_source(package, package_number, vststoken=ado_token, githubtoken=github_token)
|
232
235
|
install_package(package)
|
@@ -234,6 +237,10 @@ def donwload_package_generate_documents(
|
|
234
237
|
merge_toc(YAML_OUTPUT_ROOT, package.path.yaml_output_folder)
|
235
238
|
if output_doc_folder:
|
236
239
|
package.path.move_document_to_target(os.path.join(output_doc_folder, package.name))
|
240
|
+
end_time = time.time()
|
241
|
+
print(f"Time to download package {package.name} and generate documents: {end_time - start_time} seconds")
|
242
|
+
with open(os.path.join(PACKAGE_ROOT, "time.txt"), "a") as f:
|
243
|
+
f.write(f"Time to download package {package.name} and generate documents: {end_time - start_time} seconds\n")
|
237
244
|
if output_doc_folder:
|
238
245
|
move_root_toc_to_target(YAML_OUTPUT_ROOT, output_doc_folder)
|
239
246
|
|
@@ -258,14 +265,25 @@ def prepare_out_dir(output_root: str | os.PathLike) -> os.PathLike | None:
|
|
258
265
|
def main(argv) -> int:
|
259
266
|
(package_info_list, required_package_list, github_token, ado_token, output_root, \
|
260
267
|
venv_required) = parse_command_line_args(argv)
|
268
|
+
venv_required = False
|
261
269
|
if venv_required and sys.prefix == sys.base_prefix:
|
262
270
|
raise ValueError("""Please run in a virtual env to prevent breaking your dev
|
263
271
|
environment when not running on pipeliens""")
|
264
272
|
output_doc_folder = prepare_out_dir(output_root)
|
273
|
+
start_time = time.time()
|
265
274
|
install_required_packages(required_package_list, github_token, ado_token)
|
275
|
+
end_time = time.time()
|
276
|
+
print(f"Time to install required packages: {end_time - start_time} seconds")
|
277
|
+
with open(os.path.join(PACKAGE_ROOT, "time.txt"), "a") as f:
|
278
|
+
f.write(f"Time to install required packages: {end_time - start_time} seconds\n")
|
279
|
+
start_time = time.time()
|
266
280
|
donwload_package_generate_documents(
|
267
281
|
package_info_list, output_root, output_doc_folder,
|
268
282
|
github_token, ado_token, len(list(required_package_list)))
|
283
|
+
end_time = time.time()
|
284
|
+
print(f"Time to download packages and generate documents: {end_time - start_time} seconds")
|
285
|
+
with open(os.path.join(PACKAGE_ROOT, "time.txt"), "a") as f:
|
286
|
+
f.write(f"Time to download packages and generate documents: {end_time - start_time} seconds\n")
|
269
287
|
return 0
|
270
288
|
|
271
289
|
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.dev1817546
|
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=yc_yJ8MAEJgPKv3R9cSUM-BzFGIgVM3gwrnqp8wz1dc,11785
|
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.dev1817546.dist-info/METADATA,sha256=fUNo0M0ip5XJ1IDq49V3bncNheWrYm3S5jI1HrNJ5ng,601
|
127
|
+
py2docfx-0.1.9.dev1817546.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
128
|
+
py2docfx-0.1.9.dev1817546.dist-info/top_level.txt,sha256=5dH2uP81dczt_qQJ38wiZ-gzoVWasfiJALWRSjdbnYU,9
|
129
|
+
py2docfx-0.1.9.dev1817546.dist-info/RECORD,,
|
File without changes
|
File without changes
|