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 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
- package_info.sphinx_extensions = dict.get("sphinx_extensions", [])
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.dev1817832
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=oN3abj4Z6abbyjgYHkRQ5VGQSWf6WAk90YR37gifbQw,10747
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=vRkFKuBxxIm4yyb2daWTzdISma8pL-RMqu3cp5Kx1Fg,7328
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=3B-IzmUjETVO-5s3g3Lmh2E6JgopwnRauv8mB-SDZEM,3361
30
- py2docfx/convert_prepare/tests/test_params.py,sha256=C-aY9xDjsNTcGQATco_J_i4nF4JSmaeFPEMI3-NtiGE,2229
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.dev1817832.dist-info/METADATA,sha256=Y9r4Wmga4TL_cFAy0LhLmYXzUMaKL1X2kibDeWsV1Oo,600
127
- py2docfx-0.1.9.dev1817832.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
128
- py2docfx-0.1.9.dev1817832.dist-info/top_level.txt,sha256=5dH2uP81dczt_qQJ38wiZ-gzoVWasfiJALWRSjdbnYU,9
129
- py2docfx-0.1.9.dev1817832.dist-info/RECORD,,
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,,