omniopt2 8762__py3-none-any.whl → 8763__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 +3 -2
  2. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt.py +3 -2
  3. {omniopt2-8762.dist-info → omniopt2-8763.dist-info}/METADATA +1 -1
  4. {omniopt2-8762.dist-info → omniopt2-8763.dist-info}/RECORD +36 -36
  5. omniopt2.egg-info/PKG-INFO +1 -1
  6. pyproject.toml +1 -1
  7. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.colorfunctions.sh +0 -0
  8. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.general.sh +0 -0
  9. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.helpers.py +0 -0
  10. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_cpu_ram_usage.py +0 -0
  11. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_general.py +0 -0
  12. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_gpu_usage.py +0 -0
  13. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_kde.py +0 -0
  14. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_scatter.py +0 -0
  15. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_scatter_generation_method.py +0 -0
  16. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_scatter_hex.py +0 -0
  17. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_time_and_exit_code.py +0 -0
  18. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_trial_index_result.py +0 -0
  19. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.omniopt_plot_worker.py +0 -0
  20. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.random_generator.py +0 -0
  21. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.shellscript_functions +0 -0
  22. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/.tpe.py +0 -0
  23. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/LICENSE +0 -0
  24. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/apt-dependencies.txt +0 -0
  25. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/omniopt +0 -0
  26. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/omniopt_docker +0 -0
  27. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/omniopt_evaluate +0 -0
  28. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/omniopt_plot +0 -0
  29. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/omniopt_share +0 -0
  30. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/pylint.rc +0 -0
  31. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/requirements.txt +0 -0
  32. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/setup.py +0 -0
  33. {omniopt2-8762.data → omniopt2-8763.data}/data/bin/test_requirements.txt +0 -0
  34. {omniopt2-8762.dist-info → omniopt2-8763.dist-info}/WHEEL +0 -0
  35. {omniopt2-8762.dist-info → omniopt2-8763.dist-info}/licenses/LICENSE +0 -0
  36. {omniopt2-8762.dist-info → omniopt2-8763.dist-info}/top_level.txt +0 -0
.omniopt.py CHANGED
@@ -87,6 +87,7 @@ log_nr_gen_jobs: list[int] = []
87
87
  generation_strategy_human_readable: str = ""
88
88
  oo_call: str = "./omniopt"
89
89
  progress_bar_length: int = 0
90
+ worker_usage_file = 'worker_usage.csv'
90
91
 
91
92
  if os.environ.get("CUSTOM_VIRTUAL_ENV") == "1":
92
93
  oo_call = "omniopt"
@@ -2453,7 +2454,7 @@ def set_nr_inserted_jobs(new_nr_inserted_jobs: int) -> None:
2453
2454
 
2454
2455
  def write_worker_usage() -> None:
2455
2456
  if len(WORKER_PERCENTAGE_USAGE):
2456
- csv_filename = get_current_run_folder('worker_usage.csv')
2457
+ csv_filename = get_current_run_folder(worker_usage_file)
2457
2458
 
2458
2459
  csv_columns = ['time', 'num_parallel_jobs', 'nr_current_workers', 'percentage']
2459
2460
 
@@ -2463,7 +2464,7 @@ def write_worker_usage() -> None:
2463
2464
  csv_writer.writerow(row)
2464
2465
  else:
2465
2466
  if is_slurm_job():
2466
- print_debug("WORKER_PERCENTAGE_USAGE seems to be empty. Not writing worker_usage.csv")
2467
+ print_debug(f"WORKER_PERCENTAGE_USAGE seems to be empty. Not writing {worker_usage_file}")
2467
2468
 
2468
2469
  def log_system_usage() -> None:
2469
2470
  if not get_current_run_folder():
@@ -87,6 +87,7 @@ log_nr_gen_jobs: list[int] = []
87
87
  generation_strategy_human_readable: str = ""
88
88
  oo_call: str = "./omniopt"
89
89
  progress_bar_length: int = 0
90
+ worker_usage_file = 'worker_usage.csv'
90
91
 
91
92
  if os.environ.get("CUSTOM_VIRTUAL_ENV") == "1":
92
93
  oo_call = "omniopt"
@@ -2453,7 +2454,7 @@ def set_nr_inserted_jobs(new_nr_inserted_jobs: int) -> None:
2453
2454
 
2454
2455
  def write_worker_usage() -> None:
2455
2456
  if len(WORKER_PERCENTAGE_USAGE):
2456
- csv_filename = get_current_run_folder('worker_usage.csv')
2457
+ csv_filename = get_current_run_folder(worker_usage_file)
2457
2458
 
2458
2459
  csv_columns = ['time', 'num_parallel_jobs', 'nr_current_workers', 'percentage']
2459
2460
 
@@ -2463,7 +2464,7 @@ def write_worker_usage() -> None:
2463
2464
  csv_writer.writerow(row)
2464
2465
  else:
2465
2466
  if is_slurm_job():
2466
- print_debug("WORKER_PERCENTAGE_USAGE seems to be empty. Not writing worker_usage.csv")
2467
+ print_debug(f"WORKER_PERCENTAGE_USAGE seems to be empty. Not writing {worker_usage_file}")
2467
2468
 
2468
2469
  def log_system_usage() -> None:
2469
2470
  if not get_current_run_folder():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omniopt2
3
- Version: 8762
3
+ Version: 8763
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=3A7BlH7vV-liv6jRnjoLhPFCBWO_b-mxjTPXiNIQdQs,3802
5
5
  .helpers.py,sha256=4YPKu3HBjV9SWUhOGlnmBPLtvn2ofbUPqwQrDIPegmM,30848
6
- .omniopt.py,sha256=PJX6eMEkRBUffU5W43KhvZlrMorGd-Kxd3R1xTeeiuA,449143
6
+ .omniopt.py,sha256=K4tMPsJtc6e0kfXTOI13msoC1PxqiC-Qy5mCARPPWbM,449185
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=0Hs03791zlDN-3fk6LENApaGrxls5BE9DC7qH81x858,397
29
+ pyproject.toml,sha256=zhmMn2WONwz-wJTNc4oX1plMQpL81QX-dc_PKSZeMUs,397
30
30
  requirements.txt,sha256=iL8Nj0cyoHnj0Uk1jzVUr1DnaosD-nXZYVGXnSW2B8A,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=w77rayiyvpPxZYrmZ446S0_rLgBEbsR9q6E_W_skQHs,22467
34
- omniopt2-8762.data/data/bin/.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
35
- omniopt2-8762.data/data/bin/.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
36
- omniopt2-8762.data/data/bin/.helpers.py,sha256=4YPKu3HBjV9SWUhOGlnmBPLtvn2ofbUPqwQrDIPegmM,30848
37
- omniopt2-8762.data/data/bin/.omniopt.py,sha256=PJX6eMEkRBUffU5W43KhvZlrMorGd-Kxd3R1xTeeiuA,449143
38
- omniopt2-8762.data/data/bin/.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
39
- omniopt2-8762.data/data/bin/.omniopt_plot_general.py,sha256=3iy-bPef8I5rTB3KRz-TuleMdgKDmVZ6c8LuNQhNwu0,6810
40
- omniopt2-8762.data/data/bin/.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
41
- omniopt2-8762.data/data/bin/.omniopt_plot_kde.py,sha256=uRLWr72TDKvj3AqJ0O0AvkKZ1ok1O1QpXnbfQQdo0nA,6873
42
- omniopt2-8762.data/data/bin/.omniopt_plot_scatter.py,sha256=b0_CIqgyi6PztaUVJRL9X9XBTaOonh-yDH2hRxMGkH0,8403
43
- omniopt2-8762.data/data/bin/.omniopt_plot_scatter_generation_method.py,sha256=rgKY_w1E516c9UucVaEvaKd8tCnoUq9xg-RrYSDzYEQ,4289
44
- omniopt2-8762.data/data/bin/.omniopt_plot_scatter_hex.py,sha256=UKjw40c1eumgEcf0xqB-_SakX5PB6HD3u4VwBxbsgQo,10279
45
- omniopt2-8762.data/data/bin/.omniopt_plot_time_and_exit_code.py,sha256=WUyl2uI59wsC1eSX_5uJHOrqcF-s5cUDIEu8u3IFMLU,6462
46
- omniopt2-8762.data/data/bin/.omniopt_plot_trial_index_result.py,sha256=Xlo_dYTQNnxPhYakmgMM58CCcW9gUoXZ3gLap9RScTY,4578
47
- omniopt2-8762.data/data/bin/.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
48
- omniopt2-8762.data/data/bin/.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
49
- omniopt2-8762.data/data/bin/.shellscript_functions,sha256=DxcCtTZBRxFp6P6EesUM4JcxqeCSsZOb7rLXbmBdQt8,13628
50
- omniopt2-8762.data/data/bin/.tpe.py,sha256=93yjviAtxPRYUCpSIShW_H3QQ5JPNcnXNjF0g8zc7Wc,6766
51
- omniopt2-8762.data/data/bin/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
52
- omniopt2-8762.data/data/bin/apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
53
- omniopt2-8762.data/data/bin/omniopt,sha256=MgQAN6Gcn21TszmFuY87XsRUwO4uMmbz4fW5QpGSH-I,51544
54
- omniopt2-8762.data/data/bin/omniopt_docker,sha256=XyEGZ71l-tUlAYUluVF39fGO3NLDRa8UyrwxmAsXWNI,3542
55
- omniopt2-8762.data/data/bin/omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
56
- omniopt2-8762.data/data/bin/omniopt_plot,sha256=ze6Dz2k0w5jyUnfatAA7dk59nzQjKC_G36tDvJGWsfA,13696
57
- omniopt2-8762.data/data/bin/omniopt_share,sha256=2KZcTjN_7vcxNjb4sLLiWgUc38pl2-6-Qwmgq6_nTb0,13856
58
- omniopt2-8762.data/data/bin/pylint.rc,sha256=w77rayiyvpPxZYrmZ446S0_rLgBEbsR9q6E_W_skQHs,22467
59
- omniopt2-8762.data/data/bin/requirements.txt,sha256=iL8Nj0cyoHnj0Uk1jzVUr1DnaosD-nXZYVGXnSW2B8A,299
60
- omniopt2-8762.data/data/bin/setup.py,sha256=zg7k4jeHXEdaGWGeB1mPC14fFj-hqz1vNimnU0JcMyk,4632
61
- omniopt2-8762.data/data/bin/test_requirements.txt,sha256=jpyZzAwbWR_qnoRqWvpBB5MUjIX9jVwynX2D-B-r8aA,487
62
- omniopt2-8762.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
63
- omniopt2.egg-info/PKG-INFO,sha256=BQ4o-T2duRAU1QtUSAJrEK4YvkgNb-eONCFIvwNWiZ4,5725
34
+ omniopt2-8763.data/data/bin/.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
35
+ omniopt2-8763.data/data/bin/.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
36
+ omniopt2-8763.data/data/bin/.helpers.py,sha256=4YPKu3HBjV9SWUhOGlnmBPLtvn2ofbUPqwQrDIPegmM,30848
37
+ omniopt2-8763.data/data/bin/.omniopt.py,sha256=K4tMPsJtc6e0kfXTOI13msoC1PxqiC-Qy5mCARPPWbM,449185
38
+ omniopt2-8763.data/data/bin/.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
39
+ omniopt2-8763.data/data/bin/.omniopt_plot_general.py,sha256=3iy-bPef8I5rTB3KRz-TuleMdgKDmVZ6c8LuNQhNwu0,6810
40
+ omniopt2-8763.data/data/bin/.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
41
+ omniopt2-8763.data/data/bin/.omniopt_plot_kde.py,sha256=uRLWr72TDKvj3AqJ0O0AvkKZ1ok1O1QpXnbfQQdo0nA,6873
42
+ omniopt2-8763.data/data/bin/.omniopt_plot_scatter.py,sha256=b0_CIqgyi6PztaUVJRL9X9XBTaOonh-yDH2hRxMGkH0,8403
43
+ omniopt2-8763.data/data/bin/.omniopt_plot_scatter_generation_method.py,sha256=rgKY_w1E516c9UucVaEvaKd8tCnoUq9xg-RrYSDzYEQ,4289
44
+ omniopt2-8763.data/data/bin/.omniopt_plot_scatter_hex.py,sha256=UKjw40c1eumgEcf0xqB-_SakX5PB6HD3u4VwBxbsgQo,10279
45
+ omniopt2-8763.data/data/bin/.omniopt_plot_time_and_exit_code.py,sha256=WUyl2uI59wsC1eSX_5uJHOrqcF-s5cUDIEu8u3IFMLU,6462
46
+ omniopt2-8763.data/data/bin/.omniopt_plot_trial_index_result.py,sha256=Xlo_dYTQNnxPhYakmgMM58CCcW9gUoXZ3gLap9RScTY,4578
47
+ omniopt2-8763.data/data/bin/.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
48
+ omniopt2-8763.data/data/bin/.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
49
+ omniopt2-8763.data/data/bin/.shellscript_functions,sha256=DxcCtTZBRxFp6P6EesUM4JcxqeCSsZOb7rLXbmBdQt8,13628
50
+ omniopt2-8763.data/data/bin/.tpe.py,sha256=93yjviAtxPRYUCpSIShW_H3QQ5JPNcnXNjF0g8zc7Wc,6766
51
+ omniopt2-8763.data/data/bin/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
52
+ omniopt2-8763.data/data/bin/apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
53
+ omniopt2-8763.data/data/bin/omniopt,sha256=MgQAN6Gcn21TszmFuY87XsRUwO4uMmbz4fW5QpGSH-I,51544
54
+ omniopt2-8763.data/data/bin/omniopt_docker,sha256=XyEGZ71l-tUlAYUluVF39fGO3NLDRa8UyrwxmAsXWNI,3542
55
+ omniopt2-8763.data/data/bin/omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
56
+ omniopt2-8763.data/data/bin/omniopt_plot,sha256=ze6Dz2k0w5jyUnfatAA7dk59nzQjKC_G36tDvJGWsfA,13696
57
+ omniopt2-8763.data/data/bin/omniopt_share,sha256=2KZcTjN_7vcxNjb4sLLiWgUc38pl2-6-Qwmgq6_nTb0,13856
58
+ omniopt2-8763.data/data/bin/pylint.rc,sha256=w77rayiyvpPxZYrmZ446S0_rLgBEbsR9q6E_W_skQHs,22467
59
+ omniopt2-8763.data/data/bin/requirements.txt,sha256=iL8Nj0cyoHnj0Uk1jzVUr1DnaosD-nXZYVGXnSW2B8A,299
60
+ omniopt2-8763.data/data/bin/setup.py,sha256=zg7k4jeHXEdaGWGeB1mPC14fFj-hqz1vNimnU0JcMyk,4632
61
+ omniopt2-8763.data/data/bin/test_requirements.txt,sha256=jpyZzAwbWR_qnoRqWvpBB5MUjIX9jVwynX2D-B-r8aA,487
62
+ omniopt2-8763.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
63
+ omniopt2.egg-info/PKG-INFO,sha256=48IgDhhFVIGq5lAojzI3HGbkfG6vDipSbaAg7tpJYzU,5725
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=0gjAtya3hgDAlLXSjgndq_waff89WU6_cQ6jlLyFn2w,786
67
67
  omniopt2.egg-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
68
- omniopt2-8762.dist-info/METADATA,sha256=BQ4o-T2duRAU1QtUSAJrEK4YvkgNb-eONCFIvwNWiZ4,5725
69
- omniopt2-8762.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
- omniopt2-8762.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
71
- omniopt2-8762.dist-info/RECORD,,
68
+ omniopt2-8763.dist-info/METADATA,sha256=48IgDhhFVIGq5lAojzI3HGbkfG6vDipSbaAg7tpJYzU,5725
69
+ omniopt2-8763.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
+ omniopt2-8763.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
71
+ omniopt2-8763.dist-info/RECORD,,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omniopt2
3
- Version: 8762
3
+ Version: 8763
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 = "8762"
8
+ version = "8763"
9
9
 
10
10
  readme = "README.md"
11
11
  dynamic = ["dependencies"]