omniopt2 8394__py3-none-any.whl → 8395__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.

Potentially problematic release.


This version of omniopt2 might be problematic. Click here for more details.

Files changed (36) hide show
  1. .omniopt.py +7 -1
  2. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt.py +7 -1
  3. {omniopt2-8394.dist-info → omniopt2-8395.dist-info}/METADATA +1 -1
  4. {omniopt2-8394.dist-info → omniopt2-8395.dist-info}/RECORD +36 -36
  5. omniopt2.egg-info/PKG-INFO +1 -1
  6. pyproject.toml +1 -1
  7. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.colorfunctions.sh +0 -0
  8. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.general.sh +0 -0
  9. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.helpers.py +0 -0
  10. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_cpu_ram_usage.py +0 -0
  11. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_general.py +0 -0
  12. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_gpu_usage.py +0 -0
  13. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_kde.py +0 -0
  14. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_scatter.py +0 -0
  15. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_scatter_generation_method.py +0 -0
  16. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_scatter_hex.py +0 -0
  17. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_time_and_exit_code.py +0 -0
  18. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_trial_index_result.py +0 -0
  19. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.omniopt_plot_worker.py +0 -0
  20. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.random_generator.py +0 -0
  21. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.shellscript_functions +0 -0
  22. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/.tpe.py +0 -0
  23. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/LICENSE +0 -0
  24. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/apt-dependencies.txt +0 -0
  25. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/omniopt +0 -0
  26. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/omniopt_docker +0 -0
  27. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/omniopt_evaluate +0 -0
  28. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/omniopt_plot +0 -0
  29. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/omniopt_share +0 -0
  30. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/pylint.rc +0 -0
  31. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/requirements.txt +0 -0
  32. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/setup.py +0 -0
  33. {omniopt2-8394.data → omniopt2-8395.data}/data/bin/test_requirements.txt +0 -0
  34. {omniopt2-8394.dist-info → omniopt2-8395.dist-info}/WHEEL +0 -0
  35. {omniopt2-8394.dist-info → omniopt2-8395.dist-info}/licenses/LICENSE +0 -0
  36. {omniopt2-8394.dist-info → omniopt2-8395.dist-info}/top_level.txt +0 -0
.omniopt.py CHANGED
@@ -10500,17 +10500,23 @@ def build_gui_url(config: argparse.Namespace) -> str:
10500
10500
 
10501
10501
  def collect_params(config: argparse.Namespace) -> dict:
10502
10502
  params = {}
10503
+ user_home = os.path.expanduser("~")
10504
+
10503
10505
  for attr, value in vars(config).items():
10504
10506
  if attr == "run_program":
10505
10507
  params[attr] = global_vars["joined_run_program"]
10506
10508
  elif attr == "parameter" and value is not None:
10507
10509
  params.update(process_parameters(config.parameter))
10510
+ elif attr == "root_venv_dir":
10511
+ if value is not None and os.path.abspath(value) != os.path.abspath(user_home):
10512
+ params[attr] = value
10508
10513
  elif isinstance(value, bool):
10509
10514
  params[attr] = int(value)
10510
10515
  elif isinstance(value, list):
10511
10516
  params[attr] = value
10512
10517
  elif value is not None:
10513
10518
  params[attr] = value
10519
+
10514
10520
  return params
10515
10521
 
10516
10522
  def process_parameters(parameters: list) -> dict:
@@ -10563,7 +10569,7 @@ def get_base_url() -> str:
10563
10569
  def write_ui_url() -> None:
10564
10570
  url = build_gui_url(args)
10565
10571
  with open(get_current_run_folder("ui_url.txt"), mode="a", encoding="utf-8") as myfile:
10566
- myfile.write(decode_if_base64(url))
10572
+ myfile.write(url)
10567
10573
 
10568
10574
  def handle_random_steps() -> None:
10569
10575
  if args.parameter and args.continue_previous_job and random_steps <= 0:
@@ -10500,17 +10500,23 @@ def build_gui_url(config: argparse.Namespace) -> str:
10500
10500
 
10501
10501
  def collect_params(config: argparse.Namespace) -> dict:
10502
10502
  params = {}
10503
+ user_home = os.path.expanduser("~")
10504
+
10503
10505
  for attr, value in vars(config).items():
10504
10506
  if attr == "run_program":
10505
10507
  params[attr] = global_vars["joined_run_program"]
10506
10508
  elif attr == "parameter" and value is not None:
10507
10509
  params.update(process_parameters(config.parameter))
10510
+ elif attr == "root_venv_dir":
10511
+ if value is not None and os.path.abspath(value) != os.path.abspath(user_home):
10512
+ params[attr] = value
10508
10513
  elif isinstance(value, bool):
10509
10514
  params[attr] = int(value)
10510
10515
  elif isinstance(value, list):
10511
10516
  params[attr] = value
10512
10517
  elif value is not None:
10513
10518
  params[attr] = value
10519
+
10514
10520
  return params
10515
10521
 
10516
10522
  def process_parameters(parameters: list) -> dict:
@@ -10563,7 +10569,7 @@ def get_base_url() -> str:
10563
10569
  def write_ui_url() -> None:
10564
10570
  url = build_gui_url(args)
10565
10571
  with open(get_current_run_folder("ui_url.txt"), mode="a", encoding="utf-8") as myfile:
10566
- myfile.write(decode_if_base64(url))
10572
+ myfile.write(url)
10567
10573
 
10568
10574
  def handle_random_steps() -> None:
10569
10575
  if args.parameter and args.continue_previous_job and random_steps <= 0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omniopt2
3
- Version: 8394
3
+ Version: 8395
4
4
  Summary: Automatic highly parallelized hyperparameter optimizer based on Ax/Botorch
5
5
  Home-page: https://scads.ai/transfer-2/verfuegbare-software-dienste-en/omniopt/
6
6
  Author: Norman Koch
@@ -3,7 +3,7 @@
3
3
  .general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
4
4
  .gitignore,sha256=GmSD6dE4AqN4_fhQUdAzydst60s3w3ePYxetTr3Et7c,3776
5
5
  .helpers.py,sha256=posn69_5fnlCqU-jRTFaED0LoeC2uuQe6r9NuqvfHm0,31456
6
- .omniopt.py,sha256=A8xWEypGKmTn8sWM_tfUql-7P7ghLGm4iQ00W-cBV70,436490
6
+ .omniopt.py,sha256=7lVKHilbHx9QtWmKTmedvMFUotHbmEWOQf02f-cEvWw,436680
7
7
  .omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
8
8
  .omniopt_plot_general.py,sha256=3iy-bPef8I5rTB3KRz-TuleMdgKDmVZ6c8LuNQhNwu0,6810
9
9
  .omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
@@ -26,46 +26,46 @@ omniopt_docker,sha256=XyEGZ71l-tUlAYUluVF39fGO3NLDRa8UyrwxmAsXWNI,3542
26
26
  omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
27
27
  omniopt_plot,sha256=ze6Dz2k0w5jyUnfatAA7dk59nzQjKC_G36tDvJGWsfA,13696
28
28
  omniopt_share,sha256=2KZcTjN_7vcxNjb4sLLiWgUc38pl2-6-Qwmgq6_nTb0,13856
29
- pyproject.toml,sha256=_5fyuBMgFVtCxqDKDVzGzxJa7sTHT3yxD6f8kh6BBFA,397
29
+ pyproject.toml,sha256=VpKvvuVesuQTZpJSn8EDo738vf4i6thLBjF6fAGzQns,397
30
30
  requirements.txt,sha256=-dJa3VXI74qUD39-aF6whZV6RTN7Dt7KE3o43PnFHqA,299
31
31
  setup.cfg,sha256=HEc8uu6NpfxG5_AVh5SvXOpEFMNKPPPxgMIAH144vT4,38
32
32
  test_requirements.txt,sha256=jpyZzAwbWR_qnoRqWvpBB5MUjIX9jVwynX2D-B-r8aA,487
33
33
  .tests/pylint.rc,sha256=ZGtZjVgJtK_6tdwgscJneS-LUeDASjSVVz6veCkp9rw,22631
34
- omniopt2-8394.data/data/bin/.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
35
- omniopt2-8394.data/data/bin/.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
36
- omniopt2-8394.data/data/bin/.helpers.py,sha256=posn69_5fnlCqU-jRTFaED0LoeC2uuQe6r9NuqvfHm0,31456
37
- omniopt2-8394.data/data/bin/.omniopt.py,sha256=A8xWEypGKmTn8sWM_tfUql-7P7ghLGm4iQ00W-cBV70,436490
38
- omniopt2-8394.data/data/bin/.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
39
- omniopt2-8394.data/data/bin/.omniopt_plot_general.py,sha256=3iy-bPef8I5rTB3KRz-TuleMdgKDmVZ6c8LuNQhNwu0,6810
40
- omniopt2-8394.data/data/bin/.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
41
- omniopt2-8394.data/data/bin/.omniopt_plot_kde.py,sha256=uRLWr72TDKvj3AqJ0O0AvkKZ1ok1O1QpXnbfQQdo0nA,6873
42
- omniopt2-8394.data/data/bin/.omniopt_plot_scatter.py,sha256=b0_CIqgyi6PztaUVJRL9X9XBTaOonh-yDH2hRxMGkH0,8403
43
- omniopt2-8394.data/data/bin/.omniopt_plot_scatter_generation_method.py,sha256=rgKY_w1E516c9UucVaEvaKd8tCnoUq9xg-RrYSDzYEQ,4289
44
- omniopt2-8394.data/data/bin/.omniopt_plot_scatter_hex.py,sha256=UKjw40c1eumgEcf0xqB-_SakX5PB6HD3u4VwBxbsgQo,10279
45
- omniopt2-8394.data/data/bin/.omniopt_plot_time_and_exit_code.py,sha256=WUyl2uI59wsC1eSX_5uJHOrqcF-s5cUDIEu8u3IFMLU,6462
46
- omniopt2-8394.data/data/bin/.omniopt_plot_trial_index_result.py,sha256=Xlo_dYTQNnxPhYakmgMM58CCcW9gUoXZ3gLap9RScTY,4578
47
- omniopt2-8394.data/data/bin/.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
48
- omniopt2-8394.data/data/bin/.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
49
- omniopt2-8394.data/data/bin/.shellscript_functions,sha256=9Yo5j3BBLDNVPwe2uNjHbVCbj3H1v1gC5Ju8KvPXfC4,13624
50
- omniopt2-8394.data/data/bin/.tpe.py,sha256=xxQuTZFQHHobvZuqG8cP2y2ev8ifjlLvex3TOaNWq8w,6754
51
- omniopt2-8394.data/data/bin/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
52
- omniopt2-8394.data/data/bin/apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
53
- omniopt2-8394.data/data/bin/omniopt,sha256=BtjRGkWCDsttL-Ey5zN33Ll_SSAu7ORPXQ-hNUMzWGY,51051
54
- omniopt2-8394.data/data/bin/omniopt_docker,sha256=XyEGZ71l-tUlAYUluVF39fGO3NLDRa8UyrwxmAsXWNI,3542
55
- omniopt2-8394.data/data/bin/omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
56
- omniopt2-8394.data/data/bin/omniopt_plot,sha256=ze6Dz2k0w5jyUnfatAA7dk59nzQjKC_G36tDvJGWsfA,13696
57
- omniopt2-8394.data/data/bin/omniopt_share,sha256=2KZcTjN_7vcxNjb4sLLiWgUc38pl2-6-Qwmgq6_nTb0,13856
58
- omniopt2-8394.data/data/bin/pylint.rc,sha256=ZGtZjVgJtK_6tdwgscJneS-LUeDASjSVVz6veCkp9rw,22631
59
- omniopt2-8394.data/data/bin/requirements.txt,sha256=-dJa3VXI74qUD39-aF6whZV6RTN7Dt7KE3o43PnFHqA,299
60
- omniopt2-8394.data/data/bin/setup.py,sha256=zg7k4jeHXEdaGWGeB1mPC14fFj-hqz1vNimnU0JcMyk,4632
61
- omniopt2-8394.data/data/bin/test_requirements.txt,sha256=jpyZzAwbWR_qnoRqWvpBB5MUjIX9jVwynX2D-B-r8aA,487
62
- omniopt2-8394.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
63
- omniopt2.egg-info/PKG-INFO,sha256=l9mbhieJySmL72wIjgjn56J1Eb0UszHdXz2IOLoI7cA,5740
34
+ omniopt2-8395.data/data/bin/.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
35
+ omniopt2-8395.data/data/bin/.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
36
+ omniopt2-8395.data/data/bin/.helpers.py,sha256=posn69_5fnlCqU-jRTFaED0LoeC2uuQe6r9NuqvfHm0,31456
37
+ omniopt2-8395.data/data/bin/.omniopt.py,sha256=7lVKHilbHx9QtWmKTmedvMFUotHbmEWOQf02f-cEvWw,436680
38
+ omniopt2-8395.data/data/bin/.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
39
+ omniopt2-8395.data/data/bin/.omniopt_plot_general.py,sha256=3iy-bPef8I5rTB3KRz-TuleMdgKDmVZ6c8LuNQhNwu0,6810
40
+ omniopt2-8395.data/data/bin/.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
41
+ omniopt2-8395.data/data/bin/.omniopt_plot_kde.py,sha256=uRLWr72TDKvj3AqJ0O0AvkKZ1ok1O1QpXnbfQQdo0nA,6873
42
+ omniopt2-8395.data/data/bin/.omniopt_plot_scatter.py,sha256=b0_CIqgyi6PztaUVJRL9X9XBTaOonh-yDH2hRxMGkH0,8403
43
+ omniopt2-8395.data/data/bin/.omniopt_plot_scatter_generation_method.py,sha256=rgKY_w1E516c9UucVaEvaKd8tCnoUq9xg-RrYSDzYEQ,4289
44
+ omniopt2-8395.data/data/bin/.omniopt_plot_scatter_hex.py,sha256=UKjw40c1eumgEcf0xqB-_SakX5PB6HD3u4VwBxbsgQo,10279
45
+ omniopt2-8395.data/data/bin/.omniopt_plot_time_and_exit_code.py,sha256=WUyl2uI59wsC1eSX_5uJHOrqcF-s5cUDIEu8u3IFMLU,6462
46
+ omniopt2-8395.data/data/bin/.omniopt_plot_trial_index_result.py,sha256=Xlo_dYTQNnxPhYakmgMM58CCcW9gUoXZ3gLap9RScTY,4578
47
+ omniopt2-8395.data/data/bin/.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
48
+ omniopt2-8395.data/data/bin/.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
49
+ omniopt2-8395.data/data/bin/.shellscript_functions,sha256=9Yo5j3BBLDNVPwe2uNjHbVCbj3H1v1gC5Ju8KvPXfC4,13624
50
+ omniopt2-8395.data/data/bin/.tpe.py,sha256=xxQuTZFQHHobvZuqG8cP2y2ev8ifjlLvex3TOaNWq8w,6754
51
+ omniopt2-8395.data/data/bin/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
52
+ omniopt2-8395.data/data/bin/apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
53
+ omniopt2-8395.data/data/bin/omniopt,sha256=BtjRGkWCDsttL-Ey5zN33Ll_SSAu7ORPXQ-hNUMzWGY,51051
54
+ omniopt2-8395.data/data/bin/omniopt_docker,sha256=XyEGZ71l-tUlAYUluVF39fGO3NLDRa8UyrwxmAsXWNI,3542
55
+ omniopt2-8395.data/data/bin/omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
56
+ omniopt2-8395.data/data/bin/omniopt_plot,sha256=ze6Dz2k0w5jyUnfatAA7dk59nzQjKC_G36tDvJGWsfA,13696
57
+ omniopt2-8395.data/data/bin/omniopt_share,sha256=2KZcTjN_7vcxNjb4sLLiWgUc38pl2-6-Qwmgq6_nTb0,13856
58
+ omniopt2-8395.data/data/bin/pylint.rc,sha256=ZGtZjVgJtK_6tdwgscJneS-LUeDASjSVVz6veCkp9rw,22631
59
+ omniopt2-8395.data/data/bin/requirements.txt,sha256=-dJa3VXI74qUD39-aF6whZV6RTN7Dt7KE3o43PnFHqA,299
60
+ omniopt2-8395.data/data/bin/setup.py,sha256=zg7k4jeHXEdaGWGeB1mPC14fFj-hqz1vNimnU0JcMyk,4632
61
+ omniopt2-8395.data/data/bin/test_requirements.txt,sha256=jpyZzAwbWR_qnoRqWvpBB5MUjIX9jVwynX2D-B-r8aA,487
62
+ omniopt2-8395.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
63
+ omniopt2.egg-info/PKG-INFO,sha256=XLAuqOajFMwddgId612buFHOKZtc6pEqqBoeTffm8NU,5740
64
64
  omniopt2.egg-info/SOURCES.txt,sha256=2mSVIhM8Ncyl5_s8ZFBlb6qjRDbTCQmV9FwVVjp5ROE,795
65
65
  omniopt2.egg-info/dependency_links.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
66
66
  omniopt2.egg-info/requires.txt,sha256=aCvaeeNulrw3AspOfG7FYwkso3fOUXeUqioyYvEnyFI,786
67
67
  omniopt2.egg-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
68
- omniopt2-8394.dist-info/METADATA,sha256=l9mbhieJySmL72wIjgjn56J1Eb0UszHdXz2IOLoI7cA,5740
69
- omniopt2-8394.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
- omniopt2-8394.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
71
- omniopt2-8394.dist-info/RECORD,,
68
+ omniopt2-8395.dist-info/METADATA,sha256=XLAuqOajFMwddgId612buFHOKZtc6pEqqBoeTffm8NU,5740
69
+ omniopt2-8395.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
+ omniopt2-8395.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
71
+ omniopt2-8395.dist-info/RECORD,,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omniopt2
3
- Version: 8394
3
+ Version: 8395
4
4
  Summary: Automatic highly parallelized hyperparameter optimizer based on Ax/Botorch
5
5
  Home-page: https://scads.ai/transfer-2/verfuegbare-software-dienste-en/omniopt/
6
6
  Author: Norman Koch
pyproject.toml CHANGED
@@ -5,7 +5,7 @@ authors = [
5
5
  {email = "norman.koch@tu-dresden.de"},
6
6
  {name = "Norman Koch"}
7
7
  ]
8
- version = "8394"
8
+ version = "8395"
9
9
 
10
10
  readme = "README.md"
11
11
  dynamic = ["dependencies"]