py2docfx 0.1.9.dev1817546__py3-none-any.whl → 0.1.10__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,8 +2,6 @@ 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
-
7
5
  from py2docfx import PACKAGE_ROOT
8
6
  from py2docfx.convert_prepare.generate_document import generate_document
9
7
  from py2docfx.convert_prepare.get_source import get_source, YAML_OUTPUT_ROOT
@@ -229,7 +227,6 @@ def donwload_package_generate_documents(
229
227
  github_token: str, ado_token: str, start_num: int):
230
228
 
231
229
  for idx, package in enumerate(package_info_list):
232
- start_time = time.time()
233
230
  package_number = start_num + idx
234
231
  get_source(package, package_number, vststoken=ado_token, githubtoken=github_token)
235
232
  install_package(package)
@@ -237,10 +234,6 @@ def donwload_package_generate_documents(
237
234
  merge_toc(YAML_OUTPUT_ROOT, package.path.yaml_output_folder)
238
235
  if output_doc_folder:
239
236
  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")
244
237
  if output_doc_folder:
245
238
  move_root_toc_to_target(YAML_OUTPUT_ROOT, output_doc_folder)
246
239
 
@@ -265,25 +258,14 @@ def prepare_out_dir(output_root: str | os.PathLike) -> os.PathLike | None:
265
258
  def main(argv) -> int:
266
259
  (package_info_list, required_package_list, github_token, ado_token, output_root, \
267
260
  venv_required) = parse_command_line_args(argv)
268
- venv_required = False
269
261
  if venv_required and sys.prefix == sys.base_prefix:
270
262
  raise ValueError("""Please run in a virtual env to prevent breaking your dev
271
263
  environment when not running on pipeliens""")
272
264
  output_doc_folder = prepare_out_dir(output_root)
273
- start_time = time.time()
274
265
  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()
280
266
  donwload_package_generate_documents(
281
267
  package_info_list, output_root, output_doc_folder,
282
268
  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")
287
269
  return 0
288
270
 
289
271
  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
+ package_info.sphinx_extensions = dict.get("sphinx_extensions", [])
36
36
  if reading_required_packages:
37
37
  package_info_dict = dict
38
38
  else:
@@ -17,6 +17,8 @@ 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
+
20
22
  def test_parse_from():
21
23
  assert package_info_0.exclude_path == ["test*", "example*", "sample*", "doc*"]
22
24
  assert package_info_0.name == "azure-mltable-py2docfxtest"
@@ -26,6 +28,11 @@ def test_get_combined_name_version():
26
28
  name_version = package_info_1.get_combined_name_version()
27
29
  assert name_version == "azureml-accel-models==1.0.0"
28
30
 
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
+
29
36
  def test_intall_command():
30
37
  install_command = package_info_0.get_install_command()
31
38
  assert install_command[0] == "azure-mltable-py2docfxtest"
@@ -35,28 +42,6 @@ def test_intall_command():
35
42
  assert install_command[0] == "azureml-accel-models==1.0.0"
36
43
  assert install_command[1] == []
37
44
 
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
-
60
45
  def test_get_exclude_command(tmp_path):
61
46
  source_folder = os.path.join(tmp_path,"source_folder")
62
47
  yaml_output_folder = os.path.join(tmp_path,"yaml_output_folder")
@@ -21,6 +21,11 @@ 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
+
24
29
  required_package = required_package_info_list[0]
25
30
  assert required_package.name == None
26
31
  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.dev1817546
3
+ Version: 0.1.10
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
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Classifier: Programming Language :: Python :: 3.13
12
12
  Requires-Python: >=3.9
13
- Requires-Dist: sphinx ==6.1.3
13
+ Requires-Dist: sphinx==6.1.3
14
14
  Requires-Dist: pyyaml
15
15
  Requires-Dist: wheel
16
16
 
@@ -1,5 +1,5 @@
1
1
  py2docfx/__init__.py,sha256=kPRhPGPC1JknDotkksG428c1iIgfFr_4_7Jm-llrowY,72
2
- py2docfx/__main__.py,sha256=yc_yJ8MAEJgPKv3R9cSUM-BzFGIgVM3gwrnqp8wz1dc,11785
2
+ py2docfx/__main__.py,sha256=oN3abj4Z6abbyjgYHkRQ5VGQSWf6WAk90YR37gifbQw,10747
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=V-xasck6ZfqJdUjlGHtkC1iE-DCBDAMK8Z0q-NronkE,7254
11
+ py2docfx/convert_prepare/package_info.py,sha256=vRkFKuBxxIm4yyb2daWTzdISma8pL-RMqu3cp5Kx1Fg,7328
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=hdNpAH9hlLF-cX9sKAu3cmiCtphX4USy9G_gWI_iaHo,3883
30
- py2docfx/convert_prepare/tests/test_params.py,sha256=p9DaGveocMBRih02KjpudJZE752neFBTLzOFbS47izQ,2036
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
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.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,,
126
+ py2docfx-0.1.10.dist-info/METADATA,sha256=NNOcAHG9usYjlAP9bCu_uKk9g8yJmsZckG9rIC4FKmA,590
127
+ py2docfx-0.1.10.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
128
+ py2docfx-0.1.10.dist-info/top_level.txt,sha256=5dH2uP81dczt_qQJ38wiZ-gzoVWasfiJALWRSjdbnYU,9
129
+ py2docfx-0.1.10.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5