wandb 0.18.7__py3-none-win32.whl → 0.19.0__py3-none-win32.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. package_readme.md +8 -0
  2. wandb/__init__.py +5 -7
  3. wandb/__init__.pyi +51 -30
  4. wandb/analytics/sentry.py +4 -10
  5. wandb/apis/importers/internals/internal.py +6 -6
  6. wandb/apis/importers/internals/protocols.py +11 -7
  7. wandb/apis/public/jobs.py +1 -7
  8. wandb/apis/public/reports.py +6 -17
  9. wandb/apis/public/runs.py +12 -10
  10. wandb/bin/gpu_stats.exe +0 -0
  11. wandb/bin/wandb-core +0 -0
  12. wandb/cli/cli.py +9 -45
  13. wandb/env.py +3 -5
  14. wandb/errors/links.py +1 -1
  15. wandb/errors/term.py +1 -6
  16. wandb/filesync/dir_watcher.py +3 -3
  17. wandb/filesync/step_upload.py +2 -5
  18. wandb/integration/fastai/__init__.py +1 -6
  19. wandb/integration/gym/__init__.py +1 -7
  20. wandb/integration/keras/callbacks/metrics_logger.py +1 -8
  21. wandb/integration/keras/callbacks/model_checkpoint.py +1 -8
  22. wandb/integration/keras/keras.py +3 -5
  23. wandb/integration/lightgbm/__init__.py +1 -1
  24. wandb/integration/sb3/sb3.py +1 -7
  25. wandb/integration/sklearn/utils.py +1 -1
  26. wandb/integration/tensorboard/log.py +1 -2
  27. wandb/integration/torch/wandb_torch.py +1 -1
  28. wandb/integration/ultralytics/bbox_utils.py +9 -2
  29. wandb/jupyter.py +4 -4
  30. wandb/proto/v3/wandb_internal_pb2.py +31 -31
  31. wandb/proto/v3/wandb_settings_pb2.py +2 -2
  32. wandb/proto/v4/wandb_internal_pb2.py +31 -31
  33. wandb/proto/v4/wandb_settings_pb2.py +2 -2
  34. wandb/proto/v5/wandb_internal_pb2.py +31 -31
  35. wandb/proto/v5/wandb_settings_pb2.py +2 -2
  36. wandb/proto/wandb_deprecated.py +1 -11
  37. wandb/proto/wandb_generate_deprecated.py +3 -7
  38. wandb/sdk/artifacts/artifact.py +2 -10
  39. wandb/sdk/artifacts/artifact_file_cache.py +2 -5
  40. wandb/sdk/artifacts/artifact_saver.py +2 -6
  41. wandb/sdk/artifacts/storage_handlers/gcs_handler.py +2 -4
  42. wandb/sdk/artifacts/storage_handlers/local_file_handler.py +2 -4
  43. wandb/sdk/artifacts/storage_handlers/s3_handler.py +2 -4
  44. wandb/sdk/backend/backend.py +1 -1
  45. wandb/sdk/data_types/histogram.py +1 -3
  46. wandb/sdk/data_types/object_3d.py +2 -6
  47. wandb/sdk/data_types/table.py +1 -1
  48. wandb/sdk/data_types/utils.py +1 -2
  49. wandb/sdk/data_types/video.py +15 -4
  50. wandb/sdk/integration_utils/auto_logging.py +1 -8
  51. wandb/sdk/interface/interface.py +12 -5
  52. wandb/sdk/interface/interface_shared.py +9 -0
  53. wandb/sdk/internal/file_stream.py +1 -4
  54. wandb/sdk/internal/flow_control.py +1 -1
  55. wandb/sdk/internal/handler.py +7 -2
  56. wandb/sdk/internal/internal.py +3 -3
  57. wandb/sdk/internal/internal_api.py +3 -10
  58. wandb/sdk/internal/job_builder.py +20 -12
  59. wandb/sdk/internal/progress.py +1 -5
  60. wandb/sdk/internal/sender.py +9 -13
  61. wandb/sdk/internal/settings_static.py +4 -10
  62. wandb/sdk/internal/system/assets/cpu.py +2 -2
  63. wandb/sdk/internal/system/assets/disk.py +3 -3
  64. wandb/sdk/internal/system/assets/gpu.py +7 -7
  65. wandb/sdk/internal/system/assets/gpu_amd.py +1 -7
  66. wandb/sdk/internal/system/assets/interfaces.py +11 -13
  67. wandb/sdk/internal/system/assets/ipu.py +1 -1
  68. wandb/sdk/internal/system/assets/memory.py +2 -2
  69. wandb/sdk/internal/system/assets/open_metrics.py +2 -8
  70. wandb/sdk/internal/system/assets/trainium.py +3 -9
  71. wandb/sdk/internal/system/system_info.py +14 -13
  72. wandb/sdk/internal/system/system_monitor.py +5 -12
  73. wandb/sdk/internal/tb_watcher.py +1 -1
  74. wandb/sdk/internal/writer.py +1 -1
  75. wandb/sdk/launch/agent/run_queue_item_file_saver.py +1 -7
  76. wandb/sdk/launch/create_job.py +2 -3
  77. wandb/sdk/launch/runner/abstract.py +1 -6
  78. wandb/sdk/launch/runner/kubernetes_monitor.py +2 -4
  79. wandb/sdk/lib/apikey.py +2 -6
  80. wandb/sdk/lib/fsm.py +12 -6
  81. wandb/sdk/lib/ipython.py +1 -6
  82. wandb/sdk/lib/module.py +0 -3
  83. wandb/sdk/lib/progress.py +2 -3
  84. wandb/sdk/lib/run_moment.py +1 -7
  85. wandb/sdk/lib/server.py +10 -24
  86. wandb/sdk/service/server.py +1 -1
  87. wandb/sdk/service/service.py +5 -5
  88. wandb/sdk/wandb_init.py +215 -166
  89. wandb/sdk/wandb_login.py +17 -27
  90. wandb/sdk/wandb_run.py +90 -116
  91. wandb/sdk/wandb_settings.py +978 -1778
  92. wandb/sdk/wandb_setup.py +86 -89
  93. wandb/sdk/wandb_watch.py +1 -1
  94. wandb/sync/sync.py +1 -2
  95. wandb/util.py +6 -39
  96. wandb/wandb_controller.py +10 -12
  97. {wandb-0.18.7.dist-info → wandb-0.19.0.dist-info}/METADATA +14 -4
  98. {wandb-0.18.7.dist-info → wandb-0.19.0.dist-info}/RECORD +101 -106
  99. {wandb-0.18.7.dist-info → wandb-0.19.0.dist-info}/WHEEL +1 -1
  100. wandb/integration/magic.py +0 -556
  101. wandb/magic.py +0 -3
  102. wandb/sdk/lib/_settings_toposort_generate.py +0 -159
  103. wandb/sdk/lib/_settings_toposort_generated.py +0 -251
  104. wandb/sdk/lib/reporting.py +0 -99
  105. {wandb-0.18.7.dist-info → wandb-0.19.0.dist-info}/entry_points.txt +0 -0
  106. {wandb-0.18.7.dist-info → wandb-0.19.0.dist-info}/licenses/LICENSE +0 -0
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
15
15
  from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n wandb/proto/wandb_settings.proto\x12\x0ewandb_internal\x1a\x1egoogle/protobuf/wrappers.proto\" \n\x0fListStringValue\x12\r\n\x05value\x18\x01 \x03(\t\"\x8a\x01\n\x17MapStringKeyStringValue\x12\x41\n\x05value\x18\x01 \x03(\x0b\x32\x32.wandb_internal.MapStringKeyStringValue.ValueEntry\x1a,\n\nValueEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcb\x01\n#MapStringKeyMapStringKeyStringValue\x12M\n\x05value\x18\x01 \x03(\x0b\x32>.wandb_internal.MapStringKeyMapStringKeyStringValue.ValueEntry\x1aU\n\nValueEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue:\x02\x38\x01\"\x9a\x01\n\x12OpenMetricsFilters\x12\x33\n\x08sequence\x18\x01 \x01(\x0b\x32\x1f.wandb_internal.ListStringValueH\x00\x12\x46\n\x07mapping\x18\x02 \x01(\x0b\x32\x33.wandb_internal.MapStringKeyMapStringKeyStringValueH\x00\x42\x07\n\x05value\"7\n\tRunMoment\x12\x0b\n\x03run\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01\x12\x0e\n\x06metric\x18\x03 \x01(\t\"\xb6H\n\x08Settings\x12-\n\x07\x61pi_key\x18\x37 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x13identity_token_file\x18\xaa\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x10\x63redentials_file\x18\xab\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x08_offline\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12)\n\x05_sync\x18\x1f \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\tsync_file\x18\x86\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x07_shared\x18\xa2\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12,\n\x06run_id\x18k \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07run_url\x18q \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07project\x18\x61 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x65ntity\x18\x45 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x0b_start_time\x18) \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12.\n\x08root_dir\x18i \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07log_dir\x18U \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0clog_internal\x18V \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07\x63onsole\x18< \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\tfiles_dir\x18\x46 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0cignore_globs\x18N \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12.\n\x08\x62\x61se_url\x18\x39 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12<\n\x16_file_stream_max_bytes\x18\xac\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x45\n\x1e_file_stream_transmit_interval\x18\xaf\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x44\n\x13_extra_http_headers\x18\x0e \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12<\n\x16_file_stream_retry_max\x18\x93\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12J\n#_file_stream_retry_wait_min_seconds\x18\x94\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12J\n#_file_stream_retry_wait_max_seconds\x18\x95\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x42\n\x1c_file_stream_timeout_seconds\x18\x0f \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x41\n\x1b_file_stream_max_line_bytes\x18\xb2\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12>\n\x18_file_transfer_retry_max\x18\x96\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12L\n%_file_transfer_retry_wait_min_seconds\x18\x97\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12L\n%_file_transfer_retry_wait_max_seconds\x18\x98\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x45\n\x1e_file_transfer_timeout_seconds\x18\x99\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x38\n\x12_graphql_retry_max\x18\x9a\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x46\n\x1f_graphql_retry_wait_min_seconds\x18\x9b\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x46\n\x1f_graphql_retry_wait_max_seconds\x18\x9c\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12?\n\x18_graphql_timeout_seconds\x18\x9d\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x31\n\nhttp_proxy\x18\xa8\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0bhttps_proxy\x18\xa9\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x08_proxies\x18\xc8\x01 \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12-\n\x07program\x18_ \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0fprogram_relpath\x18` \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x10_code_path_local\x18\xa3\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x0fprogram_abspath\x18\x9f\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x05_args\x18\x01 \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12)\n\x03_os\x18 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x64ocker\x18\x43 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05_cuda\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x0b_executable\x18\r \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07_python\x18\" \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\tcolab_url\x18\xa0\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12*\n\x04host\x18M \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x08username\x18\x8d\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05\x65mail\x18\x44 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06resume\x18\x66 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x0bresume_from\x18\xa7\x01 \x01(\x0b\x32\x19.wandb_internal.RunMoment\x12-\n\tfork_from\x18\xa4\x01 \x01(\x0b\x32\x19.wandb_internal.RunMoment\x12\x30\n\tsweep_url\x18\x83\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x14\x64isable_job_creation\x18\x41 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12:\n\x15_disable_update_check\x18\xa5\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\x0e_disable_stats\x18\n \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x31\n\r_disable_meta\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\tsave_code\x18s \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x0b\x64isable_git\x18? \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12<\n\x17_require_legacy_service\x18\xad\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12:\n\x15_show_operation_stats\x18\xb0\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12<\n\x17\x61llow_offline_artifacts\x18\xb1\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x0b_aws_lambda\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\x0e_cli_only_mode\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06_colab\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x34\n\x10_disable_service\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x39\n\x15_disable_setproctitle\x18\t \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x33\n\x0f_disable_viewer\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x38\n\x14_flow_control_custom\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12:\n\x16_flow_control_disabled\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12=\n\x17_internal_check_process\x18\x12 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12=\n\x17_internal_queue_timeout\x18\x13 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12,\n\x08_ipython\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12,\n\x08_jupyter\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x33\n\r_jupyter_root\x18\x16 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x07_kaggle\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12<\n\x17_live_policy_rate_limit\x18\x18 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12;\n\x16_live_policy_wait_time\x18\x19 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12/\n\n_log_level\x18\x1a \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x34\n\x0f_network_buffer\x18\x1b \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12)\n\x05_noop\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\t_notebook\x18\x1d \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\t_platform\x18! \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x11_runqueue_item_id\x18# \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x12_save_requirements\x18% \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x38\n\x12_service_transport\x18& \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\r_service_wait\x18\' \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x35\n\x0f_start_datetime\x18( \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\n_stats_pid\x18* \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12?\n\x18_stats_sampling_interval\x18\xae\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12@\n\x1a_stats_sample_rate_seconds\x18+ \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12>\n\x19_stats_samples_to_average\x18, \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x36\n\x12_stats_join_assets\x18- \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12G\n!_stats_neuron_monitor_config_path\x18. \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12N\n\x1d_stats_open_metrics_endpoints\x18/ \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12G\n\x1b_stats_open_metrics_filters\x18\x30 \x01(\x0b\x32\".wandb_internal.OpenMetricsFilters\x12\x33\n\r_tmp_code_dir\x18\x31 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\r_unsaved_keys\x18\x33 \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12,\n\x08_windows\x18\x34 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x34\n\x10\x61llow_val_change\x18\x35 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\tanonymous\x18\x36 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12P\n\x1f\x61zure_account_url_to_access_key\x18\x38 \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12.\n\x08\x63ode_dir\x18: \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0c\x63onfig_paths\x18; \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12\x30\n\ndeployment\x18= \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\x0c\x64isable_code\x18> \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x31\n\rdisable_hints\x18@ \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12,\n\x08\x64isabled\x18\x42 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12)\n\x05\x66orce\x18G \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\ngit_commit\x18H \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\ngit_remote\x18I \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\x0egit_remote_url\x18J \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08git_root\x18K \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x11heartbeat_seconds\x18L \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x32\n\x0cinit_timeout\x18O \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12,\n\x08is_local\x18P \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\njob_source\x18Q \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\rlabel_disable\x18R \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06launch\x18S \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x38\n\x12launch_config_path\x18T \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x14log_symlink_internal\x18W \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10log_symlink_user\x18X \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08log_user\x18Y \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\rlogin_timeout\x18Z \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12*\n\x04mode\x18\\ \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\rnotebook_name\x18] \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x0bproject_url\x18\x62 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x05quiet\x18\x63 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06reinit\x18\x64 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12+\n\x07relogin\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\x0cresume_fname\x18g \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x07resumed\x18h \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\trun_group\x18j \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0crun_job_type\x18l \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08run_mode\x18m \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08run_name\x18n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\trun_notes\x18o \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x08run_tags\x18p \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12\x35\n\x11sagemaker_disable\x18r \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x35\n\x0fsettings_system\x18t \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x12settings_workspace\x18u \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x0bshow_colors\x18v \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12.\n\nshow_emoji\x18w \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x0bshow_errors\x18x \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\tshow_info\x18y \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x31\n\rshow_warnings\x18z \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06silent\x18{ \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\x0cstart_method\x18| \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12*\n\x06strict\x18} \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x33\n\x0esummary_errors\x18~ \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x34\n\x0fsummary_timeout\x18\x7f \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x36\n\x10summary_warnings\x18\x80\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12/\n\x08sweep_id\x18\x81\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x10sweep_param_path\x18\x82\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x07symlink\x18\x84\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x08sync_dir\x18\x85\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x13sync_symlink_latest\x18\x87\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12J\n%table_raise_on_max_row_limit_exceeded\x18\x8a\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x08timespec\x18\x8b\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x07tmp_dir\x18\x8c\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\twandb_dir\x18\x8e\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\r_jupyter_name\x18\x8f\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\r_jupyter_path\x18\x90\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x08job_name\x18\x91\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12;\n\x11_stats_disk_paths\x18\x92\x01 \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12:\n\x15_disable_machine_info\x18\x9e\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x38\n\x12_stats_buffer_size\x18\xa1\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x36\n\x11\x63onsole_multipart\x18\xa6\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValueJ\x04\x08\x0c\x10\rJ\x04\x08$\x10%J\x04\x08\x32\x10\x33J\x04\x08^\x10_J\x06\x08\x88\x01\x10\x89\x01J\x06\x08\x89\x01\x10\x8a\x01\x42\x1bZ\x19\x63ore/pkg/service_go_protob\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n wandb/proto/wandb_settings.proto\x12\x0ewandb_internal\x1a\x1egoogle/protobuf/wrappers.proto\" \n\x0fListStringValue\x12\r\n\x05value\x18\x01 \x03(\t\"\x8a\x01\n\x17MapStringKeyStringValue\x12\x41\n\x05value\x18\x01 \x03(\x0b\x32\x32.wandb_internal.MapStringKeyStringValue.ValueEntry\x1a,\n\nValueEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcb\x01\n#MapStringKeyMapStringKeyStringValue\x12M\n\x05value\x18\x01 \x03(\x0b\x32>.wandb_internal.MapStringKeyMapStringKeyStringValue.ValueEntry\x1aU\n\nValueEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue:\x02\x38\x01\"\x9a\x01\n\x12OpenMetricsFilters\x12\x33\n\x08sequence\x18\x01 \x01(\x0b\x32\x1f.wandb_internal.ListStringValueH\x00\x12\x46\n\x07mapping\x18\x02 \x01(\x0b\x32\x33.wandb_internal.MapStringKeyMapStringKeyStringValueH\x00\x42\x07\n\x05value\"7\n\tRunMoment\x12\x0b\n\x03run\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01\x12\x0e\n\x06metric\x18\x03 \x01(\t\"\x9cI\n\x08Settings\x12-\n\x07\x61pi_key\x18\x37 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x13identity_token_file\x18\xaa\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x10\x63redentials_file\x18\xab\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x08_offline\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06x_sync\x18\x1f \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\tsync_file\x18\x86\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x07_shared\x18\xa2\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12,\n\x06run_id\x18k \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07run_url\x18q \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07project\x18\x61 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x65ntity\x18\x45 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0cx_start_time\x18) \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12.\n\x08root_dir\x18i \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07log_dir\x18U \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0clog_internal\x18V \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\tfiles_dir\x18\x46 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0bx_files_dir\x18\xb4\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0cignore_globs\x18N \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12.\n\x08\x62\x61se_url\x18\x39 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12=\n\x17x_file_stream_max_bytes\x18\xac\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x46\n\x1fx_file_stream_transmit_interval\x18\xaf\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x45\n\x14x_extra_http_headers\x18\x0e \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12=\n\x17x_file_stream_retry_max\x18\x93\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12K\n$x_file_stream_retry_wait_min_seconds\x18\x94\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12K\n$x_file_stream_retry_wait_max_seconds\x18\x95\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x43\n\x1dx_file_stream_timeout_seconds\x18\x0f \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x42\n\x1cx_file_stream_max_line_bytes\x18\xb2\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12?\n\x19x_file_transfer_retry_max\x18\x96\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12M\n&x_file_transfer_retry_wait_min_seconds\x18\x97\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12M\n&x_file_transfer_retry_wait_max_seconds\x18\x98\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x46\n\x1fx_file_transfer_timeout_seconds\x18\x99\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x39\n\x13x_graphql_retry_max\x18\x9a\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12G\n x_graphql_retry_wait_min_seconds\x18\x9b\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12G\n x_graphql_retry_wait_max_seconds\x18\x9c\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12@\n\x19x_graphql_timeout_seconds\x18\x9d\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x31\n\nhttp_proxy\x18\xa8\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0bhttps_proxy\x18\xa9\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12;\n\tx_proxies\x18\xc8\x01 \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12-\n\x07program\x18_ \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0fprogram_relpath\x18` \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x10_code_path_local\x18\xa3\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x0fprogram_abspath\x18\x9f\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x05_args\x18\x01 \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12)\n\x03_os\x18 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x64ocker\x18\x43 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0cx_executable\x18\r \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07_python\x18\" \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\tcolab_url\x18\xa0\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12*\n\x04host\x18M \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x08username\x18\x8d\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05\x65mail\x18\x44 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06resume\x18\x66 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x0bresume_from\x18\xa7\x01 \x01(\x0b\x32\x19.wandb_internal.RunMoment\x12-\n\tfork_from\x18\xa4\x01 \x01(\x0b\x32\x19.wandb_internal.RunMoment\x12\x38\n\x14\x64isable_job_creation\x18\x41 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\tsweep_url\x18\x83\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12;\n\x16x_disable_update_check\x18\xa5\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\x0ex_disable_meta\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\tsave_code\x18s \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x0b\x64isable_git\x18? \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12;\n\x16x_disable_machine_info\x18\x9e\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x33\n\x0fx_disable_stats\x18\n \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x39\n\x13x_stats_buffer_size\x18\xa1\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12@\n\x19x_stats_sampling_interval\x18\xae\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x30\n\x0bx_stats_pid\x18* \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12<\n\x12x_stats_disk_paths\x18\x92\x01 \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12H\n\"x_stats_neuron_monitor_config_path\x18. \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12O\n\x1ex_stats_open_metrics_endpoints\x18/ \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12H\n\x1cx_stats_open_metrics_filters\x18\x30 \x01(\x0b\x32\".wandb_internal.OpenMetricsFilters\x12S\n!x_stats_open_metrics_http_headers\x18\xb8\x01 \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12.\n\x07x_label\x18\xb5\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12=\n\x18x_require_legacy_service\x18\xad\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12;\n\x16x_show_operation_stats\x18\xb0\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x33\n\x0ex_primary_node\x18\xb6\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12:\n\x15x_update_finish_state\x18\xb7\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12<\n\x17\x61llow_offline_artifacts\x18\xb1\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\x07\x63onsole\x18< \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x11\x63onsole_multipart\x18\xa6\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x35\n\x10sync_tensorboard\x18\xb3\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x0b_aws_lambda\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x33\n\x0fx_cli_only_mode\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06_colab\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x35\n\x11x_disable_service\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12:\n\x16x_disable_setproctitle\x18\t \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x34\n\x10x_disable_viewer\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x39\n\x15x_flow_control_custom\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12;\n\x17x_flow_control_disabled\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12>\n\x18x_internal_check_process\x18\x12 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12,\n\x08_ipython\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12,\n\x08_jupyter\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x34\n\x0ex_jupyter_root\x18\x16 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x07_kaggle\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12=\n\x18x_live_policy_rate_limit\x18\x18 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12<\n\x17x_live_policy_wait_time\x18\x19 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x30\n\x0bx_log_level\x18\x1a \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x35\n\x10x_network_buffer\x18\x1b \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12)\n\x05_noop\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\t_notebook\x18\x1d \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\t_platform\x18! \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x12x_runqueue_item_id\x18# \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x13x_save_requirements\x18% \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x39\n\x13x_service_transport\x18& \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\x0ex_service_wait\x18\' \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12\x35\n\x0f_start_datetime\x18( \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\r_tmp_code_dir\x18\x31 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x08_windows\x18\x34 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x34\n\x10\x61llow_val_change\x18\x35 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\tanonymous\x18\x36 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12P\n\x1f\x61zure_account_url_to_access_key\x18\x38 \x01(\x0b\x32\'.wandb_internal.MapStringKeyStringValue\x12.\n\x08\x63ode_dir\x18: \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0c\x63onfig_paths\x18; \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12\x30\n\ndeployment\x18= \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\x0c\x64isable_code\x18> \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x31\n\rdisable_hints\x18@ \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12,\n\x08\x64isabled\x18\x42 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12)\n\x05\x66orce\x18G \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\ngit_commit\x18H \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\ngit_remote\x18I \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\x0egit_remote_url\x18J \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08git_root\x18K \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x11heartbeat_seconds\x18L \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x32\n\x0cinit_timeout\x18O \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12,\n\x08is_local\x18P \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\njob_source\x18Q \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\rlabel_disable\x18R \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06launch\x18S \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x38\n\x12launch_config_path\x18T \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x14log_symlink_internal\x18W \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10log_symlink_user\x18X \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08log_user\x18Y \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\rlogin_timeout\x18Z \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12*\n\x04mode\x18\\ \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\rnotebook_name\x18] \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x0bproject_url\x18\x62 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x05quiet\x18\x63 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06reinit\x18\x64 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12+\n\x07relogin\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\x0cresume_fname\x18g \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x07resumed\x18h \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\trun_group\x18j \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0crun_job_type\x18l \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08run_mode\x18m \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08run_name\x18n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\trun_notes\x18o \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x31\n\x08run_tags\x18p \x01(\x0b\x32\x1f.wandb_internal.ListStringValue\x12\x35\n\x11sagemaker_disable\x18r \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x35\n\x0fsettings_system\x18t \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x12settings_workspace\x18u \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x0bshow_colors\x18v \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12.\n\nshow_emoji\x18w \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x0bshow_errors\x18x \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\tshow_info\x18y \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x31\n\rshow_warnings\x18z \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12*\n\x06silent\x18{ \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\x0cstart_method\x18| \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12*\n\x06strict\x18} \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x33\n\x0esummary_errors\x18~ \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x34\n\x0fsummary_timeout\x18\x7f \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x36\n\x10summary_warnings\x18\x80\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12/\n\x08sweep_id\x18\x81\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x10sweep_param_path\x18\x82\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x07symlink\x18\x84\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x08sync_dir\x18\x85\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x13sync_symlink_latest\x18\x87\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12J\n%table_raise_on_max_row_limit_exceeded\x18\x8a\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12/\n\x08timespec\x18\x8b\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x07tmp_dir\x18\x8c\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\twandb_dir\x18\x8e\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0ex_jupyter_name\x18\x8f\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0ex_jupyter_path\x18\x90\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\x08job_name\x18\x91\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValueJ\x04\x08\x03\x10\x04J\x04\x08\x06\x10\x07J\x04\x08\x0c\x10\rJ\x04\x08\x13\x10\x14J\x04\x08$\x10%J\x04\x08+\x10,J\x04\x08,\x10-J\x04\x08-\x10.J\x04\x08\x32\x10\x33J\x04\x08\x33\x10\x34J\x04\x08[\x10\\J\x04\x08^\x10_J\x06\x08\x88\x01\x10\x89\x01J\x06\x08\x89\x01\x10\x8a\x01\x42\x1bZ\x19\x63ore/pkg/service_go_protob\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -42,5 +42,5 @@ if not _descriptor._USE_C_DESCRIPTORS:
42
42
  _globals['_RUNMOMENT']._serialized_start=622
43
43
  _globals['_RUNMOMENT']._serialized_end=677
44
44
  _globals['_SETTINGS']._serialized_start=680
45
- _globals['_SETTINGS']._serialized_end=9950
45
+ _globals['_SETTINGS']._serialized_end=10052
46
46
  # @@protoc_insertion_point(module_scope)
@@ -1,15 +1,6 @@
1
1
  # Generated by wandb/proto/wandb_internal_codegen.py. DO NOT EDIT!
2
2
 
3
-
4
- import sys
5
-
6
-
7
- if sys.version_info >= (3, 8):
8
- from typing import Literal
9
- else:
10
- from typing_extensions import Literal
11
-
12
-
3
+ from typing import Literal
13
4
  DEPRECATED_FEATURES = Literal[
14
5
  "keras_callback__data_type",
15
6
  "run__mode",
@@ -32,7 +23,6 @@ DEPRECATED_FEATURES = Literal[
32
23
  "run__finish_quiet",
33
24
  ]
34
25
 
35
-
36
26
  class Deprecated:
37
27
  keras_callback__data_type: DEPRECATED_FEATURES = "keras_callback__data_type"
38
28
  run__mode: DEPRECATED_FEATURES = "run__mode"
@@ -10,16 +10,12 @@ def generate_deprecated_class_definition() -> None:
10
10
  deprecated_features = Deprecated.DESCRIPTOR.fields_by_name.keys()
11
11
 
12
12
  code: str = (
13
- "# Generated by wandb/proto/wandb_internal_codegen.py. DO NOT EDIT!\n\n\n"
14
- "import sys\n\n\n"
15
- "if sys.version_info >= (3, 8):\n"
16
- " from typing import Literal\n"
17
- "else:\n"
18
- " from typing_extensions import Literal\n\n\n"
13
+ "# Generated by wandb/proto/wandb_internal_codegen.py. DO NOT EDIT!\n\n"
14
+ "from typing import Literal\n"
19
15
  "DEPRECATED_FEATURES = Literal[\n"
20
16
  + ",\n".join(f' "{feature}"' for feature in deprecated_features)
21
17
  + ",\n"
22
- + "]\n\n\n"
18
+ + "]\n\n"
23
19
  "class Deprecated:\n"
24
20
  + "".join(
25
21
  [
@@ -12,22 +12,13 @@ import os
12
12
  import re
13
13
  import shutil
14
14
  import stat
15
- import sys
16
15
  import tempfile
17
16
  import time
18
17
  from copy import copy
19
18
  from datetime import datetime, timedelta
20
19
  from functools import partial
21
20
  from pathlib import PurePosixPath
22
- from typing import IO, TYPE_CHECKING, Any, Dict, Iterator, Sequence, Type, cast
23
-
24
- from wandb.sdk.artifacts.storage_handlers.gcs_handler import _GCSIsADirectoryError
25
-
26
- if sys.version_info < (3, 8):
27
- from typing_extensions import Literal
28
- else:
29
- from typing import Literal
30
-
21
+ from typing import IO, TYPE_CHECKING, Any, Dict, Iterator, Literal, Sequence, Type, cast
31
22
  from urllib.parse import urlparse
32
23
 
33
24
  import requests
@@ -55,6 +46,7 @@ from wandb.sdk.artifacts.artifact_state import ArtifactState
55
46
  from wandb.sdk.artifacts.artifact_ttl import ArtifactTTL
56
47
  from wandb.sdk.artifacts.exceptions import ArtifactNotLoggedError, WaitTimeoutError
57
48
  from wandb.sdk.artifacts.staging import get_staging_dir
49
+ from wandb.sdk.artifacts.storage_handlers.gcs_handler import _GCSIsADirectoryError
58
50
  from wandb.sdk.artifacts.storage_layout import StorageLayout
59
51
  from wandb.sdk.artifacts.storage_policies import WANDB_STORAGE_POLICY
60
52
  from wandb.sdk.artifacts.storage_policy import StoragePolicy
@@ -20,10 +20,7 @@ from wandb.sdk.lib.hashutil import B64MD5, ETag, b64_to_hex_id
20
20
  from wandb.sdk.lib.paths import FilePathStr, StrPath, URIStr
21
21
 
22
22
  if TYPE_CHECKING:
23
- if sys.version_info >= (3, 8):
24
- from typing import Protocol
25
- else:
26
- from typing_extensions import Protocol
23
+ from typing import Protocol
27
24
 
28
25
  class Opener(Protocol):
29
26
  def __call__(self, mode: str = ...) -> ContextManager[IO]:
@@ -171,7 +168,7 @@ class ArtifactFileCache:
171
168
  if total_size > target_size:
172
169
  wandb.termerror(
173
170
  f"Failed to reclaim enough space in {self._cache_dir}. Try running"
174
- " `wandb artifact cleanup --remove-temp` to remove temporary files."
171
+ " `wandb artifact cache cleanup --remove-temp` to remove temporary files."
175
172
  )
176
173
 
177
174
  return bytes_reclaimed
@@ -5,7 +5,6 @@ from __future__ import annotations
5
5
  import concurrent.futures
6
6
  import json
7
7
  import os
8
- import sys
9
8
  import tempfile
10
9
  from typing import TYPE_CHECKING, Awaitable, Sequence
11
10
 
@@ -17,16 +16,13 @@ from wandb.sdk.lib.hashutil import B64MD5, b64_to_hex_id, md5_file_b64
17
16
  from wandb.sdk.lib.paths import URIStr
18
17
 
19
18
  if TYPE_CHECKING:
19
+ from typing import Protocol
20
+
20
21
  from wandb.sdk.artifacts.artifact_manifest_entry import ArtifactManifestEntry
21
22
  from wandb.sdk.internal.file_pusher import FilePusher
22
23
  from wandb.sdk.internal.internal_api import Api as InternalApi
23
24
  from wandb.sdk.internal.progress import ProgressFn
24
25
 
25
- if sys.version_info >= (3, 8):
26
- from typing import Protocol
27
- else:
28
- from typing_extensions import Protocol
29
-
30
26
  class SaveFn(Protocol):
31
27
  def __call__(
32
28
  self, entry: ArtifactManifestEntry, progress_callback: ProgressFn
@@ -133,8 +133,7 @@ class GCSHandler(StorageHandler):
133
133
  if multi:
134
134
  start_time = time.time()
135
135
  termlog(
136
- 'Generating checksum for up to %i objects with prefix "%s"... '
137
- % (max_objects, key),
136
+ f'Generating checksum for up to {max_objects} objects with prefix "{key}"... ',
138
137
  newline=False,
139
138
  )
140
139
  objects = self._client.bucket(bucket).list_blobs(
@@ -152,8 +151,7 @@ class GCSHandler(StorageHandler):
152
151
  termlog("Done. %.1fs" % (time.time() - start_time), prefix=False)
153
152
  if len(entries) > max_objects:
154
153
  raise ValueError(
155
- "Exceeded %i objects tracked, pass max_objects to add_reference"
156
- % max_objects
154
+ f"Exceeded {max_objects} objects tracked, pass max_objects to add_reference"
157
155
  )
158
156
  return entries
159
157
 
@@ -95,8 +95,7 @@ class LocalFileHandler(StorageHandler):
95
95
  start_time = time.time()
96
96
  if checksum:
97
97
  termlog(
98
- 'Generating checksum for up to %i files in "%s"...\n'
99
- % (max_objects, local_path),
98
+ f'Generating checksum for up to {max_objects} files in "{local_path}"... ',
100
99
  newline=False,
101
100
  )
102
101
  for root, _, files in os.walk(local_path):
@@ -104,8 +103,7 @@ class LocalFileHandler(StorageHandler):
104
103
  i += 1
105
104
  if i > max_objects:
106
105
  raise ValueError(
107
- "Exceeded %i objects tracked, pass max_objects to add_reference"
108
- % max_objects
106
+ f"Exceeded {max_objects} objects tracked, pass max_objects to add_reference"
109
107
  )
110
108
  physical_path = os.path.join(root, sub_path)
111
109
  # TODO(spencerpearson): this is not a "logical path" in the sense that
@@ -196,8 +196,7 @@ class S3Handler(StorageHandler):
196
196
  if multi:
197
197
  start_time = time.time()
198
198
  termlog(
199
- 'Generating checksum for up to %i objects in "%s/%s"... '
200
- % (max_objects, bucket, key),
199
+ f'Generating checksum for up to {max_objects} objects in "{bucket}/{key}"... ',
201
200
  newline=False,
202
201
  )
203
202
  if key != "":
@@ -219,8 +218,7 @@ class S3Handler(StorageHandler):
219
218
  termlog("Done. %.1fs" % (time.time() - start_time), prefix=False)
220
219
  if len(entries) > max_objects:
221
220
  raise ValueError(
222
- "Exceeded %i objects tracked, pass max_objects to add_reference"
223
- % max_objects
221
+ f"Exceeded {max_objects} objects tracked, pass max_objects to add_reference"
224
222
  )
225
223
  return entries
226
224
 
@@ -146,7 +146,7 @@ class Backend:
146
146
 
147
147
  assert self._settings
148
148
  settings = self._settings.copy()
149
- settings.update(_log_level=self._log_level or logging.DEBUG)
149
+ settings.x_log_level = self._log_level or logging.DEBUG
150
150
 
151
151
  start_method = settings.start_method
152
152
 
@@ -78,9 +78,7 @@ class Histogram(WBValue):
78
78
  self.histogram = self.histogram.tolist()
79
79
  self.bins = self.bins.tolist()
80
80
  if len(self.histogram) > self.MAX_LENGTH:
81
- raise ValueError(
82
- "The maximum length of a histogram is %i" % self.MAX_LENGTH
83
- )
81
+ raise ValueError(f"The maximum length of a histogram is {self.MAX_LENGTH}")
84
82
  if len(self.histogram) + 1 != len(self.bins):
85
83
  raise ValueError("len(bins) must be len(histogram) + 1")
86
84
 
@@ -2,24 +2,20 @@ import codecs
2
2
  import itertools
3
3
  import json
4
4
  import os
5
- import sys
6
5
  from typing import (
7
6
  TYPE_CHECKING,
8
7
  ClassVar,
8
+ Literal,
9
9
  Optional,
10
10
  Sequence,
11
11
  Set,
12
12
  TextIO,
13
13
  Tuple,
14
14
  Type,
15
+ TypedDict,
15
16
  Union,
16
17
  )
17
18
 
18
- if sys.version_info >= (3, 8):
19
- from typing import Literal, TypedDict
20
- else:
21
- from typing_extensions import Literal, TypedDict
22
-
23
19
  import wandb
24
20
  from wandb import util
25
21
  from wandb.sdk.lib import runid
@@ -490,7 +490,7 @@ class Table(Media):
490
490
  f"the limit with `wandb.Table.MAX_ARTIFACT_ROWS = X` and try again. Note: "
491
491
  f"this may cause slower queries in the W&B UI."
492
492
  )
493
- logging.warning("Truncating wandb.Table object to %i rows." % max_rows)
493
+ logging.warning(f"Truncating wandb.Table object to {max_rows} rows.")
494
494
  return {"columns": self.columns, "data": self.data[:max_rows]}
495
495
 
496
496
  def bind_to_run(self, *args, **kwargs):
@@ -175,8 +175,7 @@ def _prune_max_seq(seq: Sequence["BatchableMedia"]) -> Sequence["BatchableMedia"
175
175
  items = seq
176
176
  if hasattr(seq[0], "MAX_ITEMS") and seq[0].MAX_ITEMS < len(seq):
177
177
  logging.warning(
178
- "Only %i %s will be uploaded."
179
- % (seq[0].MAX_ITEMS, seq[0].__class__.__name__)
178
+ f"Only {seq[0].MAX_ITEMS} {seq[0].__class__.__name__} will be uploaded."
180
179
  )
181
180
  items = seq[: seq[0].MAX_ITEMS]
182
181
  return items
@@ -138,10 +138,21 @@ class Video(BatchableMedia):
138
138
  self.encode(fps=fps)
139
139
 
140
140
  def encode(self, fps: int = 4) -> None:
141
- mpy = util.get_module(
142
- "moviepy.editor",
143
- required='wandb.Video requires moviepy when passing raw data. Install with "pip install wandb[media]"',
144
- )
141
+ # Try to import ImageSequenceClip from the appropriate MoviePy module
142
+ mpy = None
143
+ try:
144
+ # Attempt to load moviepy.editor for MoviePy < 2.0
145
+ mpy = util.get_module(
146
+ "moviepy.editor",
147
+ required='wandb.Video requires moviepy when passing raw data. Install with "pip install wandb[media]"',
148
+ )
149
+ except wandb.Error:
150
+ # Fallback to moviepy for MoviePy >= 2.0
151
+ mpy = util.get_module(
152
+ "moviepy",
153
+ required='wandb.Video requires moviepy when passing raw data. Install with "pip install wandb[media]"',
154
+ )
155
+
145
156
  tensor = self._prepare_video(self.data)
146
157
  _, self._height, self._width, self._channels = tensor.shape # type: ignore
147
158
 
@@ -2,20 +2,13 @@ import asyncio
2
2
  import functools
3
3
  import inspect
4
4
  import logging
5
- import sys
6
- from typing import Any, Dict, Optional, Sequence, TypeVar
5
+ from typing import Any, Dict, Optional, Protocol, Sequence, TypeVar
7
6
 
8
7
  import wandb.sdk
9
8
  import wandb.util
10
9
  from wandb.sdk.lib import telemetry as wb_telemetry
11
10
  from wandb.sdk.lib.timer import Timer
12
11
 
13
- if sys.version_info >= (3, 8):
14
- from typing import Protocol
15
- else:
16
- from typing_extensions import Protocol
17
-
18
-
19
12
  logger = logging.getLogger(__name__)
20
13
 
21
14
 
@@ -11,7 +11,6 @@ InterfaceRelay: Responses are routed to a relay queue (not matching uuids)
11
11
  import gzip
12
12
  import logging
13
13
  import os
14
- import sys
15
14
  import time
16
15
  from abc import abstractmethod
17
16
  from pathlib import Path
@@ -22,9 +21,11 @@ from typing import (
22
21
  Dict,
23
22
  Iterable,
24
23
  List,
24
+ Literal,
25
25
  NewType,
26
26
  Optional,
27
27
  Tuple,
28
+ TypedDict,
28
29
  Union,
29
30
  )
30
31
 
@@ -54,10 +55,6 @@ MANIFEST_FILE_SIZE_THRESHOLD = 100_000
54
55
 
55
56
  GlobStr = NewType("GlobStr", str)
56
57
 
57
- if sys.version_info >= (3, 8):
58
- from typing import Literal, TypedDict
59
- else:
60
- from typing_extensions import Literal, TypedDict
61
58
 
62
59
  PolicyName = Literal["now", "live", "end"]
63
60
 
@@ -953,6 +950,16 @@ class InterfaceBase:
953
950
  def _deliver_poll_exit(self, poll_exit: pb.PollExitRequest) -> MailboxHandle:
954
951
  raise NotImplementedError
955
952
 
953
+ def deliver_finish_without_exit(self) -> MailboxHandle:
954
+ run_finish_without_exit = pb.RunFinishWithoutExitRequest()
955
+ return self._deliver_finish_without_exit(run_finish_without_exit)
956
+
957
+ @abstractmethod
958
+ def _deliver_finish_without_exit(
959
+ self, run_finish_without_exit: pb.RunFinishWithoutExitRequest
960
+ ) -> MailboxHandle:
961
+ raise NotImplementedError
962
+
956
963
  def deliver_request_sampled_history(self) -> MailboxHandle:
957
964
  sampled_history = pb.SampledHistoryRequest()
958
965
  return self._deliver_request_sampled_history(sampled_history)
@@ -153,6 +153,7 @@ class InterfaceShared(InterfaceBase):
153
153
  get_system_metrics: Optional[pb.GetSystemMetricsRequest] = None,
154
154
  python_packages: Optional[pb.PythonPackagesRequest] = None,
155
155
  job_input: Optional[pb.JobInputRequest] = None,
156
+ run_finish_without_exit: Optional[pb.RunFinishWithoutExitRequest] = None,
156
157
  ) -> pb.Record:
157
158
  request = pb.Request()
158
159
  if login:
@@ -217,6 +218,8 @@ class InterfaceShared(InterfaceBase):
217
218
  request.python_packages.CopyFrom(python_packages)
218
219
  elif job_input:
219
220
  request.job_input.CopyFrom(job_input)
221
+ elif run_finish_without_exit:
222
+ request.run_finish_without_exit.CopyFrom(run_finish_without_exit)
220
223
  else:
221
224
  raise Exception("Invalid request")
222
225
  record = self._make_record(request=request)
@@ -482,6 +485,12 @@ class InterfaceShared(InterfaceBase):
482
485
  record = self._make_request(poll_exit=poll_exit)
483
486
  return self._deliver_record(record)
484
487
 
488
+ def _deliver_finish_without_exit(
489
+ self, run_finish_without_exit: pb.RunFinishWithoutExitRequest
490
+ ) -> MailboxHandle:
491
+ record = self._make_request(run_finish_without_exit=run_finish_without_exit)
492
+ return self._deliver_record(record)
493
+
485
494
  def _deliver_stop_status(self, stop_status: pb.StopStatusRequest) -> MailboxHandle:
486
495
  record = self._make_request(stop_status=stop_status)
487
496
  return self._deliver_record(record)
@@ -24,10 +24,7 @@ from typing import (
24
24
  )
25
25
 
26
26
  if TYPE_CHECKING:
27
- if sys.version_info >= (3, 8):
28
- from typing import TypedDict
29
- else:
30
- from typing_extensions import TypedDict
27
+ from typing import TypedDict
31
28
 
32
29
  class ProcessedChunk(TypedDict):
33
30
  offset: int
@@ -88,7 +88,7 @@ class FlowControl:
88
88
  or _threshold_bytes_mid == 0
89
89
  or _threshold_bytes_low == 0
90
90
  ):
91
- threshold = settings._network_buffer or DEFAULT_THRESHOLD
91
+ threshold = settings.x_network_buffer or DEFAULT_THRESHOLD
92
92
  _threshold_bytes_high = threshold
93
93
  _threshold_bytes_mid = threshold // 2
94
94
  _threshold_bytes_low = threshold // 4
@@ -692,9 +692,14 @@ class HandleManager:
692
692
  self._settings,
693
693
  self._interface,
694
694
  )
695
- if not self._settings._disable_stats:
695
+ if not (
696
+ self._settings.x_disable_stats or self._settings.x_disable_machine_info
697
+ ):
696
698
  self._system_monitor.start()
697
- if not self._settings._disable_meta and not run_start.run.resumed:
699
+ if (
700
+ not (self._settings.x_disable_meta or self._settings.x_disable_machine_info)
701
+ and not run_start.run.resumed
702
+ ):
698
703
  self._system_monitor.probe(publish=True)
699
704
 
700
705
  self._tb_watcher = tb_watcher.TBWatcher(
@@ -75,7 +75,7 @@ def wandb_internal(
75
75
  # Let's make sure we don't modify settings so use a static object
76
76
  _settings = settings
77
77
  if _settings.log_internal:
78
- configure_logging(_settings.log_internal, _settings._log_level)
78
+ configure_logging(_settings.log_internal, _settings.x_log_level)
79
79
 
80
80
  user_pid = user_pid or os.getppid()
81
81
  pid = os.getpid()
@@ -169,7 +169,7 @@ def wandb_internal(
169
169
  traceback.print_exception(*exc_info)
170
170
  wandb._sentry.exception(exc_info)
171
171
  wandb.termerror("Internal wandb error: file data was not synced")
172
- if not settings._disable_service:
172
+ if not settings.x_disable_service:
173
173
  # TODO: We can make this more graceful by returning an error to streams.py
174
174
  # and potentially just fail the one stream.
175
175
  os._exit(-1)
@@ -380,7 +380,7 @@ class ProcessCheck:
380
380
  self.settings = settings
381
381
  self.pid = user_pid
382
382
  self.check_process_last = None
383
- self.check_process_interval = settings._internal_check_process
383
+ self.check_process_interval = settings.x_internal_check_process
384
384
 
385
385
  def is_dead(self) -> bool:
386
386
  if not self.check_process_interval or not self.pid:
@@ -20,6 +20,7 @@ from typing import (
20
20
  Dict,
21
21
  Iterable,
22
22
  List,
23
+ Literal,
23
24
  Mapping,
24
25
  MutableMapping,
25
26
  NamedTuple,
@@ -30,11 +31,6 @@ from typing import (
30
31
  Union,
31
32
  )
32
33
 
33
- if sys.version_info >= (3, 8):
34
- from typing import Literal
35
- else:
36
- from typing_extensions import Literal
37
-
38
34
  import click
39
35
  import requests
40
36
  import yaml
@@ -63,10 +59,7 @@ logger = logging.getLogger(__name__)
63
59
  LAUNCH_DEFAULT_PROJECT = "model-registry"
64
60
 
65
61
  if TYPE_CHECKING:
66
- if sys.version_info >= (3, 8):
67
- from typing import Literal, TypedDict
68
- else:
69
- from typing_extensions import Literal, TypedDict
62
+ from typing import Literal, TypedDict
70
63
 
71
64
  from .progress import ProgressFn
72
65
 
@@ -4557,7 +4550,7 @@ class Api:
4557
4550
  check_httpclient_logger_handler()
4558
4551
  return requests.put(
4559
4552
  url=url,
4560
- headers={"Content-Length": "0", "Content-Range": "bytes */%i" % length},
4553
+ headers={"Content-Length": "0", "Content-Range": f"bytes */{length}"},
4561
4554
  )
4562
4555
 
4563
4556
  def _flatten_edges(self, response: "_Response") -> List[Dict]: