wandb 0.20.2rc20250616__py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.23.0rc1__py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.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.
Files changed (344) hide show
  1. package_readme.md +57 -38
  2. wandb/__init__.py +19 -52
  3. wandb/__init__.pyi +462 -483
  4. wandb/_analytics.py +65 -0
  5. wandb/_iterutils.py +10 -2
  6. wandb/_pydantic/__init__.py +20 -13
  7. wandb/_pydantic/base.py +102 -79
  8. wandb/_pydantic/field_types.py +34 -0
  9. wandb/_pydantic/pagination.py +47 -0
  10. wandb/_pydantic/utils.py +4 -2
  11. wandb/_pydantic/v1_compat.py +66 -47
  12. wandb/_strutils.py +57 -0
  13. wandb/agents/pyagent.py +41 -12
  14. wandb/analytics/__init__.py +2 -2
  15. wandb/analytics/sentry.py +159 -116
  16. wandb/apis/__init__.py +5 -3
  17. wandb/apis/attrs.py +2 -0
  18. wandb/apis/importers/internals/internal.py +16 -23
  19. wandb/apis/importers/mlflow.py +1 -1
  20. wandb/apis/internal.py +5 -4
  21. wandb/apis/normalize.py +4 -1
  22. wandb/apis/paginator.py +17 -4
  23. wandb/apis/public/__init__.py +46 -3
  24. wandb/apis/public/api.py +913 -563
  25. wandb/apis/public/artifacts.py +629 -345
  26. wandb/apis/public/automations.py +21 -4
  27. wandb/apis/public/const.py +2 -0
  28. wandb/apis/public/files.py +234 -70
  29. wandb/apis/public/history.py +69 -15
  30. wandb/apis/public/integrations.py +25 -2
  31. wandb/apis/public/jobs.py +110 -20
  32. wandb/apis/public/projects.py +165 -70
  33. wandb/apis/public/query_generator.py +14 -1
  34. wandb/apis/public/registries/__init__.py +7 -0
  35. wandb/apis/public/registries/_freezable_list.py +18 -20
  36. wandb/apis/public/registries/_members.py +110 -0
  37. wandb/apis/public/registries/_utils.py +53 -65
  38. wandb/apis/public/registries/registries_search.py +204 -316
  39. wandb/apis/public/registries/registry.py +486 -182
  40. wandb/apis/public/reports.py +155 -16
  41. wandb/apis/public/runs.py +585 -155
  42. wandb/apis/public/sweeps.py +225 -24
  43. wandb/apis/public/teams.py +51 -5
  44. wandb/apis/public/users.py +51 -5
  45. wandb/apis/public/utils.py +57 -32
  46. wandb/automations/__init__.py +10 -10
  47. wandb/automations/_filters/expressions.py +3 -2
  48. wandb/automations/_filters/operators.py +6 -3
  49. wandb/automations/_filters/run_metrics.py +38 -35
  50. wandb/automations/_generated/__init__.py +54 -127
  51. wandb/automations/_generated/create_automation.py +2 -2
  52. wandb/automations/_generated/create_generic_webhook_integration.py +7 -12
  53. wandb/automations/_generated/delete_automation.py +3 -5
  54. wandb/automations/_generated/enums.py +13 -11
  55. wandb/automations/_generated/fragments.py +128 -225
  56. wandb/automations/_generated/generic_webhook_integrations_by_entity.py +3 -3
  57. wandb/automations/_generated/get_automations.py +3 -3
  58. wandb/automations/_generated/get_automations_by_entity.py +3 -3
  59. wandb/automations/_generated/input_types.py +9 -9
  60. wandb/automations/_generated/integrations_by_entity.py +3 -3
  61. wandb/automations/_generated/operations.py +6 -6
  62. wandb/automations/_generated/slack_integrations_by_entity.py +3 -3
  63. wandb/automations/_generated/update_automation.py +2 -2
  64. wandb/automations/_utils.py +10 -12
  65. wandb/automations/_validators.py +22 -2
  66. wandb/automations/actions.py +8 -8
  67. wandb/automations/automations.py +6 -7
  68. wandb/automations/events.py +22 -26
  69. wandb/automations/integrations.py +2 -2
  70. wandb/automations/scopes.py +1 -1
  71. wandb/beta/workflows.py +66 -30
  72. wandb/bin/gpu_stats +0 -0
  73. wandb/bin/wandb-core +0 -0
  74. wandb/cli/beta.py +73 -135
  75. wandb/cli/beta_leet.py +75 -0
  76. wandb/cli/beta_sync.py +224 -0
  77. wandb/cli/cli.py +184 -28
  78. wandb/env.py +8 -0
  79. wandb/errors/errors.py +7 -4
  80. wandb/errors/term.py +130 -16
  81. wandb/filesync/upload_job.py +3 -2
  82. wandb/integration/catboost/catboost.py +6 -2
  83. wandb/integration/dspy/__init__.py +5 -0
  84. wandb/integration/dspy/dspy.py +422 -0
  85. wandb/integration/keras/keras.py +11 -11
  86. wandb/integration/kfp/kfp_patch.py +3 -1
  87. wandb/integration/langchain/wandb_tracer.py +5 -5
  88. wandb/integration/lightning/fabric/logger.py +3 -4
  89. wandb/integration/metaflow/__init__.py +6 -0
  90. wandb/integration/metaflow/data_pandas.py +74 -0
  91. wandb/integration/metaflow/data_pytorch.py +75 -0
  92. wandb/integration/metaflow/data_sklearn.py +76 -0
  93. wandb/integration/metaflow/errors.py +13 -0
  94. wandb/integration/metaflow/metaflow.py +167 -223
  95. wandb/integration/openai/fine_tuning.py +1 -2
  96. wandb/integration/sb3/sb3.py +3 -3
  97. wandb/integration/ultralytics/callback.py +6 -2
  98. wandb/integration/weave/__init__.py +6 -0
  99. wandb/integration/weave/interface.py +49 -0
  100. wandb/integration/weave/weave.py +118 -0
  101. wandb/jupyter.py +26 -71
  102. wandb/old/settings.py +14 -9
  103. wandb/plot/__init__.py +2 -0
  104. wandb/plot/bar.py +30 -29
  105. wandb/plot/confusion_matrix.py +75 -71
  106. wandb/plot/custom_chart.py +30 -7
  107. wandb/plot/histogram.py +26 -25
  108. wandb/plot/line.py +33 -32
  109. wandb/plot/line_series.py +100 -103
  110. wandb/plot/pr_curve.py +33 -32
  111. wandb/plot/roc_curve.py +38 -38
  112. wandb/plot/scatter.py +27 -27
  113. wandb/proto/v3/wandb_api_pb2.py +86 -0
  114. wandb/proto/v3/wandb_internal_pb2.py +378 -385
  115. wandb/proto/v3/wandb_server_pb2.py +39 -57
  116. wandb/proto/v3/wandb_settings_pb2.py +2 -2
  117. wandb/proto/v3/wandb_sync_pb2.py +113 -0
  118. wandb/proto/v3/wandb_telemetry_pb2.py +12 -12
  119. wandb/proto/v4/wandb_api_pb2.py +37 -0
  120. wandb/proto/v4/wandb_internal_pb2.py +354 -356
  121. wandb/proto/v4/wandb_server_pb2.py +39 -41
  122. wandb/proto/v4/wandb_settings_pb2.py +2 -2
  123. wandb/proto/v4/wandb_sync_pb2.py +46 -0
  124. wandb/proto/v4/wandb_telemetry_pb2.py +12 -12
  125. wandb/proto/v5/wandb_api_pb2.py +38 -0
  126. wandb/proto/v5/wandb_internal_pb2.py +354 -356
  127. wandb/proto/v5/wandb_server_pb2.py +39 -41
  128. wandb/proto/v5/wandb_settings_pb2.py +2 -2
  129. wandb/proto/v5/wandb_sync_pb2.py +47 -0
  130. wandb/proto/v5/wandb_telemetry_pb2.py +12 -12
  131. wandb/proto/v6/wandb_api_pb2.py +48 -0
  132. wandb/proto/v6/wandb_base_pb2.py +3 -3
  133. wandb/proto/v6/wandb_internal_pb2.py +357 -359
  134. wandb/proto/v6/wandb_server_pb2.py +42 -44
  135. wandb/proto/v6/wandb_settings_pb2.py +5 -5
  136. wandb/proto/v6/wandb_sync_pb2.py +57 -0
  137. wandb/proto/v6/wandb_telemetry_pb2.py +15 -15
  138. wandb/proto/wandb_api_pb2.py +18 -0
  139. wandb/proto/wandb_generate_proto.py +2 -0
  140. wandb/proto/wandb_sync_pb2.py +12 -0
  141. wandb/sdk/__init__.py +0 -1
  142. wandb/sdk/artifacts/_factories.py +14 -0
  143. wandb/sdk/artifacts/_generated/__init__.py +259 -242
  144. wandb/sdk/artifacts/_generated/add_aliases.py +4 -6
  145. wandb/sdk/artifacts/_generated/add_artifact_collection_tags.py +26 -0
  146. wandb/sdk/artifacts/_generated/artifact_by_id.py +17 -0
  147. wandb/sdk/artifacts/_generated/artifact_by_name.py +22 -0
  148. wandb/sdk/artifacts/_generated/artifact_collection_membership_file_urls.py +63 -0
  149. wandb/sdk/artifacts/_generated/artifact_collection_membership_files.py +29 -8
  150. wandb/sdk/artifacts/_generated/artifact_created_by.py +34 -0
  151. wandb/sdk/artifacts/_generated/artifact_file_urls.py +35 -0
  152. wandb/sdk/artifacts/_generated/artifact_membership_by_name.py +26 -0
  153. wandb/sdk/artifacts/_generated/artifact_type.py +31 -0
  154. wandb/sdk/artifacts/_generated/artifact_used_by.py +34 -0
  155. wandb/sdk/artifacts/_generated/artifact_version_files.py +20 -8
  156. wandb/sdk/artifacts/_generated/create_registry_members.py +19 -0
  157. wandb/sdk/artifacts/_generated/delete_aliases.py +4 -6
  158. wandb/sdk/artifacts/_generated/delete_artifact.py +24 -0
  159. wandb/sdk/artifacts/_generated/delete_artifact_collection_tags.py +23 -0
  160. wandb/sdk/artifacts/_generated/delete_artifact_portfolio.py +6 -5
  161. wandb/sdk/artifacts/_generated/delete_artifact_sequence.py +6 -5
  162. wandb/sdk/artifacts/_generated/delete_registry.py +21 -0
  163. wandb/sdk/artifacts/_generated/delete_registry_members.py +19 -0
  164. wandb/sdk/artifacts/_generated/enums.py +5 -0
  165. wandb/sdk/artifacts/_generated/fetch_artifact_manifest.py +26 -0
  166. wandb/sdk/artifacts/_generated/fetch_linked_artifacts.py +13 -35
  167. wandb/sdk/artifacts/_generated/fetch_org_info_from_entity.py +28 -0
  168. wandb/sdk/artifacts/_generated/fetch_registries.py +42 -0
  169. wandb/sdk/{projects → artifacts}/_generated/fetch_registry.py +4 -4
  170. wandb/sdk/artifacts/_generated/fragments.py +299 -119
  171. wandb/sdk/artifacts/_generated/input_types.py +176 -6
  172. wandb/sdk/artifacts/_generated/link_artifact.py +27 -0
  173. wandb/sdk/artifacts/_generated/operations.py +1553 -287
  174. wandb/sdk/artifacts/_generated/project_artifact_collection.py +9 -77
  175. wandb/sdk/artifacts/_generated/project_artifact_collections.py +21 -9
  176. wandb/sdk/artifacts/_generated/project_artifact_type.py +3 -3
  177. wandb/sdk/artifacts/_generated/project_artifact_types.py +19 -6
  178. wandb/sdk/artifacts/_generated/project_artifacts.py +9 -9
  179. wandb/sdk/artifacts/_generated/registry_collections.py +46 -0
  180. wandb/sdk/artifacts/_generated/registry_team_members.py +24 -0
  181. wandb/sdk/artifacts/_generated/registry_user_members.py +22 -0
  182. wandb/sdk/artifacts/_generated/registry_versions.py +45 -0
  183. wandb/sdk/artifacts/_generated/rename_registry.py +25 -0
  184. wandb/sdk/artifacts/_generated/run_input_artifacts.py +7 -31
  185. wandb/sdk/artifacts/_generated/run_output_artifacts.py +7 -31
  186. wandb/sdk/artifacts/_generated/type_info.py +19 -0
  187. wandb/sdk/artifacts/_generated/unlink_artifact.py +19 -0
  188. wandb/sdk/artifacts/_generated/update_artifact.py +5 -9
  189. wandb/sdk/artifacts/_generated/update_artifact_collection_type.py +28 -0
  190. wandb/sdk/artifacts/_generated/update_artifact_portfolio.py +7 -16
  191. wandb/sdk/artifacts/_generated/update_artifact_sequence.py +7 -16
  192. wandb/sdk/artifacts/_generated/update_team_registry_role.py +19 -0
  193. wandb/sdk/artifacts/_generated/update_user_registry_role.py +19 -0
  194. wandb/sdk/artifacts/_generated/upsert_registry.py +25 -0
  195. wandb/sdk/artifacts/_gqlutils.py +216 -0
  196. wandb/sdk/artifacts/_internal_artifact.py +23 -12
  197. wandb/sdk/artifacts/_models/__init__.py +13 -0
  198. wandb/sdk/artifacts/_models/artifact_collection.py +114 -0
  199. wandb/sdk/artifacts/_models/base_model.py +20 -0
  200. wandb/sdk/artifacts/_models/manifest.py +27 -0
  201. wandb/sdk/artifacts/_models/pagination.py +26 -0
  202. wandb/sdk/artifacts/_models/registry.py +110 -0
  203. wandb/sdk/artifacts/_models/storage.py +29 -0
  204. wandb/sdk/artifacts/_validators.py +190 -103
  205. wandb/sdk/artifacts/artifact.py +918 -830
  206. wandb/sdk/artifacts/artifact_file_cache.py +21 -13
  207. wandb/sdk/artifacts/artifact_manifest.py +42 -35
  208. wandb/sdk/artifacts/artifact_manifest_entry.py +154 -148
  209. wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py +45 -61
  210. wandb/sdk/artifacts/artifact_saver.py +1 -1
  211. wandb/sdk/artifacts/exceptions.py +4 -3
  212. wandb/sdk/artifacts/storage_handler.py +18 -12
  213. wandb/sdk/artifacts/storage_handlers/_timing.py +34 -0
  214. wandb/sdk/artifacts/storage_handlers/azure_handler.py +11 -6
  215. wandb/sdk/artifacts/storage_handlers/gcs_handler.py +143 -108
  216. wandb/sdk/artifacts/storage_handlers/http_handler.py +70 -61
  217. wandb/sdk/artifacts/storage_handlers/local_file_handler.py +66 -59
  218. wandb/sdk/artifacts/storage_handlers/multi_handler.py +5 -4
  219. wandb/sdk/artifacts/storage_handlers/s3_handler.py +39 -36
  220. wandb/sdk/artifacts/storage_handlers/tracking_handler.py +6 -4
  221. wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py +24 -21
  222. wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py +6 -3
  223. wandb/sdk/artifacts/storage_layout.py +9 -1
  224. wandb/sdk/artifacts/storage_policies/_factories.py +68 -0
  225. wandb/sdk/artifacts/storage_policies/_multipart.py +191 -0
  226. wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +120 -365
  227. wandb/sdk/artifacts/storage_policy.py +26 -12
  228. wandb/sdk/backend/backend.py +7 -5
  229. wandb/sdk/data_types/audio.py +38 -10
  230. wandb/sdk/data_types/base_types/media.py +15 -63
  231. wandb/sdk/data_types/base_types/wb_value.py +6 -6
  232. wandb/sdk/data_types/bokeh.py +5 -1
  233. wandb/sdk/data_types/graph.py +48 -14
  234. wandb/sdk/data_types/helper_types/bounding_boxes_2d.py +1 -3
  235. wandb/sdk/data_types/helper_types/image_mask.py +1 -3
  236. wandb/sdk/data_types/histogram.py +34 -21
  237. wandb/sdk/data_types/html.py +35 -12
  238. wandb/sdk/data_types/image.py +123 -76
  239. wandb/sdk/data_types/molecule.py +32 -19
  240. wandb/sdk/data_types/object_3d.py +103 -19
  241. wandb/sdk/data_types/plotly.py +18 -5
  242. wandb/sdk/data_types/saved_model.py +7 -9
  243. wandb/sdk/data_types/table.py +99 -70
  244. wandb/sdk/data_types/trace_tree.py +12 -12
  245. wandb/sdk/data_types/video.py +53 -26
  246. wandb/sdk/integration_utils/auto_logging.py +2 -2
  247. wandb/sdk/interface/interface.py +172 -144
  248. wandb/sdk/interface/interface_queue.py +31 -15
  249. wandb/sdk/interface/interface_shared.py +99 -79
  250. wandb/sdk/interface/interface_sock.py +36 -16
  251. wandb/sdk/internal/_generated/__init__.py +2 -12
  252. wandb/sdk/internal/_generated/server_features_query.py +4 -4
  253. wandb/sdk/internal/datastore.py +18 -30
  254. wandb/sdk/internal/file_stream.py +4 -3
  255. wandb/sdk/internal/handler.py +3 -5
  256. wandb/sdk/internal/internal_api.py +403 -316
  257. wandb/sdk/internal/job_builder.py +33 -10
  258. wandb/sdk/internal/sender.py +31 -7
  259. wandb/sdk/internal/sender_config.py +9 -0
  260. wandb/sdk/internal/settings_static.py +1 -82
  261. wandb/sdk/launch/_launch.py +2 -2
  262. wandb/sdk/launch/_project_spec.py +3 -3
  263. wandb/sdk/launch/agent/agent.py +20 -12
  264. wandb/sdk/launch/agent/job_status_tracker.py +3 -1
  265. wandb/sdk/launch/agent/run_queue_item_file_saver.py +2 -2
  266. wandb/sdk/launch/create_job.py +17 -3
  267. wandb/sdk/launch/inputs/internal.py +28 -28
  268. wandb/sdk/launch/inputs/schema.py +41 -7
  269. wandb/sdk/launch/runner/kubernetes_monitor.py +1 -0
  270. wandb/sdk/launch/runner/kubernetes_runner.py +346 -19
  271. wandb/sdk/launch/sweeps/scheduler.py +4 -4
  272. wandb/sdk/launch/sweeps/utils.py +2 -2
  273. wandb/sdk/launch/utils.py +85 -4
  274. wandb/sdk/lib/apikey.py +39 -68
  275. wandb/sdk/lib/asyncio_compat.py +106 -38
  276. wandb/sdk/lib/asyncio_manager.py +252 -0
  277. wandb/sdk/lib/config_util.py +4 -2
  278. wandb/sdk/lib/console_capture.py +69 -14
  279. wandb/sdk/lib/credentials.py +2 -2
  280. wandb/sdk/lib/deprecation.py +28 -0
  281. wandb/sdk/lib/disabled.py +7 -7
  282. wandb/sdk/lib/gql_request.py +20 -8
  283. wandb/sdk/lib/hashutil.py +27 -5
  284. wandb/sdk/lib/module.py +7 -13
  285. wandb/sdk/lib/paths.py +23 -21
  286. wandb/sdk/lib/printer.py +11 -15
  287. wandb/sdk/lib/printer_asyncio.py +3 -1
  288. wandb/sdk/lib/progress.py +163 -151
  289. wandb/sdk/lib/retry.py +189 -81
  290. wandb/sdk/lib/server.py +2 -1
  291. wandb/sdk/lib/service/service_client.py +102 -0
  292. wandb/sdk/lib/service/service_connection.py +89 -49
  293. wandb/sdk/lib/service/service_process.py +4 -4
  294. wandb/sdk/lib/service/service_token.py +30 -13
  295. wandb/sdk/lib/timed_input.py +28 -21
  296. wandb/sdk/lib/wb_logging.py +2 -1
  297. wandb/sdk/mailbox/mailbox.py +14 -6
  298. wandb/sdk/mailbox/mailbox_handle.py +24 -13
  299. wandb/sdk/mailbox/response_handle.py +42 -106
  300. wandb/sdk/mailbox/wait_with_progress.py +8 -43
  301. wandb/sdk/wandb_init.py +149 -167
  302. wandb/sdk/wandb_login.py +104 -69
  303. wandb/sdk/wandb_metric.py +2 -0
  304. wandb/sdk/wandb_require.py +0 -1
  305. wandb/sdk/wandb_run.py +622 -684
  306. wandb/sdk/wandb_settings.py +600 -118
  307. wandb/sdk/wandb_setup.py +207 -126
  308. wandb/sdk/wandb_summary.py +0 -1
  309. wandb/sdk/wandb_sweep.py +17 -15
  310. wandb/sdk/wandb_watch.py +4 -6
  311. wandb/sync/sync.py +17 -4
  312. wandb/util.py +179 -157
  313. wandb/wandb_agent.py +44 -9
  314. wandb/wandb_run.py +1 -2
  315. {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/METADATA +60 -40
  316. {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/RECORD +835 -790
  317. wandb/proto/wandb_deprecated.py +0 -53
  318. wandb/proto/wandb_generate_deprecated.py +0 -30
  319. wandb/sdk/artifacts/_generated/create_artifact_collection_tag_assignments.py +0 -36
  320. wandb/sdk/artifacts/_generated/delete_artifact_collection_tag_assignments.py +0 -25
  321. wandb/sdk/artifacts/_generated/move_artifact_collection.py +0 -35
  322. wandb/sdk/artifacts/_graphql_fragments.py +0 -102
  323. wandb/sdk/interface/interface_relay.py +0 -38
  324. wandb/sdk/interface/router.py +0 -89
  325. wandb/sdk/interface/router_queue.py +0 -43
  326. wandb/sdk/interface/router_relay.py +0 -50
  327. wandb/sdk/interface/router_sock.py +0 -32
  328. wandb/sdk/lib/deprecate.py +0 -33
  329. wandb/sdk/lib/sock_client.py +0 -236
  330. wandb/sdk/projects/_generated/__init__.py +0 -47
  331. wandb/sdk/projects/_generated/delete_project.py +0 -22
  332. wandb/sdk/projects/_generated/enums.py +0 -4
  333. wandb/sdk/projects/_generated/fragments.py +0 -41
  334. wandb/sdk/projects/_generated/input_types.py +0 -13
  335. wandb/sdk/projects/_generated/operations.py +0 -88
  336. wandb/sdk/projects/_generated/rename_project.py +0 -27
  337. wandb/sdk/projects/_generated/upsert_registry_project.py +0 -27
  338. wandb/sdk/wandb_metadata.py +0 -623
  339. wandb/sdk/wandb_sync.py +0 -71
  340. wandb/vendor/pynvml/__init__.py +0 -0
  341. wandb/vendor/pynvml/pynvml.py +0 -4779
  342. {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/WHEEL +0 -0
  343. {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/entry_points.txt +0 -0
  344. {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/licenses/LICENSE +0 -0
package_readme.md CHANGED
@@ -1,88 +1,107 @@
1
1
  <div align="center">
2
- <img src="https://i.imgur.com/RUtiVzH.png" width="600" /><br><br>
2
+ <img src="https://i.imgur.com/dQLeGCc.png" width="600" /><br><br>
3
3
  </div>
4
4
 
5
- # Weights and Biases [![PyPI](https://img.shields.io/pypi/v/wandb)](https://pypi.python.org/pypi/wandb) [![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/wandb)](https://anaconda.org/conda-forge/wandb) [![CircleCI](https://img.shields.io/circleci/build/github/wandb/wandb/main)](https://circleci.com/gh/wandb/wandb) [![Codecov](https://img.shields.io/codecov/c/gh/wandb/wandb)](https://codecov.io/gh/wandb/wandb)
5
+ <p align="center">
6
+ <a href="https://pypi.python.org/pypi/wandb"><img src="https://img.shields.io/pypi/v/wandb" /></a>
7
+ <a href="https://anaconda.org/conda-forge/wandb"><img src="https://img.shields.io/conda/vn/conda-forge/wandb" /></a>
8
+ <a href="https://pypi.python.org/pypi/wandb"><img src="https://img.shields.io/pypi/pyversions/wandb" /></a>
9
+ <a href="https://circleci.com/gh/wandb/wandb"><img src="https://img.shields.io/circleci/build/github/wandb/wandb/main" /></a>
10
+ <a href="https://codecov.io/gh/wandb/wandb"><img src="https://img.shields.io/codecov/c/gh/wandb/wandb" /></a>
11
+ </p>
12
+ <p align='center'>
13
+ <a href="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/intro/Intro_to_Weights_%26_Biases.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" /></a>
14
+ </p>
6
15
 
7
- Use W&B to build better models faster. Track and visualize all the pieces of your machine learning pipeline, from datasets to production machine learning models. Get started with W&B today, [sign up for an account!](https://wandb.com?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=readme)
16
+ Use W&B to build better models faster. Track and visualize all the pieces of your machine learning pipeline, from datasets to production machine learning models. Get started with W&B today, [sign up for a W&B account](https://wandb.com?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=readme)!
8
17
 
18
+ <br>
9
19
 
20
+ Building an LLM app? Track, debug, evaluate, and monitor LLM apps with [Weave](https://wandb.github.io/weave?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=readme), our new suite of tools for GenAI.
10
21
 
11
- See the [W&B Developer Guide](https://docs.wandb.ai/?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) and [API Reference Guide](https://docs.wandb.ai/ref?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) for a full technical description of the W&B platform.
22
+ &nbsp;
23
+
24
+ # Documentation
25
+
26
+ See the [W&B Developer Guide](https://docs.wandb.ai/?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) and [API Reference Guide](https://docs.wandb.ai/training/api-reference#api-overview?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) for a full technical description of the W&B platform.
12
27
 
13
28
  &nbsp;
14
29
 
15
30
  # Quickstart
16
31
 
17
- Get started with W&B in four steps:
32
+ Install W&B to track, visualize, and manage machine learning experiments of any size.
18
33
 
19
- 1. First, sign up for a [W&B account](https://wandb.ai/login?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=quickstart).
20
-
21
- 2. Second, install the W&B SDK with [pip](https://pip.pypa.io/en/stable/). Navigate to your terminal and type the following command:
34
+ ## Install the wandb library
22
35
 
23
36
  ```shell
24
37
  pip install wandb
25
38
  ```
26
39
 
27
- 3. Third, log into W&B:
40
+ ## Sign up and create an API key
28
41
 
29
- ```python
30
- wandb.login()
31
- ```
42
+ Sign up for a [W&B account](https://wandb.ai/login?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=quickstart). Optionally, use the `wandb login` CLI to configure an API key on your machine. You can skip this step -- W&B will prompt you for an API key the first time you use it.
32
43
 
33
- 4. Use the example code snippet below as a template to integrate W&B to your Python script:
44
+ ## Create a machine learning training experiment
45
+
46
+ In your Python script or notebook, initialize a W&B run with `wandb.init()`.
47
+ Specify hyperparameters and log metrics and other information to W&B.
34
48
 
35
49
  ```python
36
50
  import wandb
37
51
 
38
- # Start a W&B Run with wandb.init
39
- run = wandb.init(project="my_first_project")
40
-
41
- # Save model inputs and hyperparameters in a wandb.config object
42
- config = run.config
43
- config.learning_rate = 0.01
52
+ # Project that the run is recorded to
53
+ project = "my-awesome-project"
44
54
 
45
- # Model training code here ...
55
+ # Dictionary with hyperparameters
56
+ config = {"epochs" : 1337, "lr" : 3e-4}
46
57
 
47
- # Log metrics over time to visualize performance with wandb.log
48
- for i in range(10):
49
- run.log({"loss": ...})
58
+ # The `with` syntax marks the run as finished upon exiting the `with` block,
59
+ # and it marks the run "failed" if there's an exception.
60
+ #
61
+ # In a notebook, it may be more convenient to write `run = wandb.init()`
62
+ # and manually call `run.finish()` instead of using a `with` block.
63
+ with wandb.init(project=project, config=config) as run:
64
+ # Training code here
50
65
 
51
- # Mark the run as finished, and finish uploading all data
52
- run.finish()
66
+ # Log values to W&B with run.log()
67
+ run.log({"accuracy": 0.9, "loss": 0.1})
53
68
  ```
54
69
 
55
- For example, if the preceding code was stored in a script called train.py:
70
+ Visit [wandb.ai/home](https://wandb.ai/home) to view recorded metrics such as accuracy and loss and how they changed during each training step. Each run object appears in the Runs column with generated names.
56
71
 
57
- ```shell
58
- python train.py
59
- ```
72
+ &nbsp;
60
73
 
61
- You will see a URL in your terminal logs when your script starts and finishes. Data is staged locally in a directory named _wandb_ relative to your script. Navigate to the W&B App to view a dashboard of your first W&B Experiment. Use the W&B App to compare multiple experiments in a unified place, dive into the results of a single run, and much more!
74
+ # Integrations
75
+
76
+ W&B [integrates](https://docs.wandb.ai/models/integrations) with popular ML frameworks and libraries making it fast and easy to set up experiment tracking and data versioning inside existing projects.
77
+
78
+ For developers adding W&B to a new framework, follow the [W&B Developer Guide](https://docs.wandb.ai/models/integrations/add-wandb-to-any-library).
62
79
 
63
80
  &nbsp;
64
81
 
65
- # Integrations
82
+ # W&B Hosting Options
83
+
84
+ Weights & Biases is available in the cloud or installed on your private infrastructure. Set up a W&B Server in a production environment in one of three ways:
66
85
 
67
- Use your favorite framework with W&B. W&B integrations make it fast and easy to set up experiment tracking and data versioning inside existing projects. For more information on how to integrate W&B with the framework of your choice, see [W&B Integrations](https://docs.wandb.ai/guides/integrations) in the W&B Developer Guide.
86
+ 1. [Multi-tenant Cloud](https://docs.wandb.ai/platform/hosting/hosting-options/multi_tenant_cloud?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Fully managed platform deployed in W&B’s Google Cloud Platform (GCP) account in GCP’s North America regions.
87
+ 2. [Dedicated Cloud](https://docs.wandb.ai/platform/hosting/hosting-options/dedicated_cloud?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Single-tenant, fully managed platform deployed in W&B’s AWS, GCP, or Azure cloud accounts. Each Dedicated Cloud instance has its own isolated network, compute and storage from other W&B Dedicated Cloud instances.
88
+ 3. [Self-Managed](https://docs.wandb.ai/platform/hosting/hosting-options/self-managed?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Deploy W&B Server on your AWS, GCP, or Azure cloud account or within your on-premises infrastructure.
89
+
90
+ See the [Hosting documentation](https://docs.wandb.ai/guides/hosting?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting) in the W&B Developer Guide for more information.
68
91
 
69
92
  &nbsp;
70
93
 
71
94
  # Python Version Support
72
95
 
73
- We are committed to supporting our minimum required Python version for *at least* six months after its official end-of-life (EOL) date, as defined by the Python Software Foundation. You can find a list of Python EOL dates [here](https://devguide.python.org/versions/).
96
+ We are committed to supporting our minimum required Python version for _at least_ six months after its official end-of-life (EOL) date, as defined by the Python Software Foundation. You can find a list of Python EOL dates [here](https://devguide.python.org/versions/).
74
97
 
75
98
  When we discontinue support for a Python version, we will increment the library’s minor version number to reflect this change.
76
99
 
77
100
  &nbsp;
78
101
 
79
102
  # Contribution guidelines
80
- Weights & Biases ❤️ open source, and we welcome contributions from the community! See the [Contribution guide](https://github.com/wandb/wandb/blob/main/CONTRIBUTING.md) for more information on the development workflow and the internals of the wandb library. For wandb bugs and feature requests, visit [GitHub Issues](https://github.com/wandb/wandb/issues) or contact support@wandb.com.
81
103
 
82
- &nbsp;
83
-
84
- # Academic Researchers
85
- Reach out to W&B Support at support@wandb.com to get a [free academic license](https://www.wandb.com/academic) for you and your research group.
104
+ Weights & Biases ❤️ open source, and we welcome contributions from the community! See the [Contribution guide](https://github.com/wandb/wandb/blob/main/CONTRIBUTING.md) for more information on the development workflow and the internals of the wandb library. For wandb bugs and feature requests, visit [GitHub Issues](https://github.com/wandb/wandb/issues) or contact support@wandb.com.
86
105
 
87
106
  &nbsp;
88
107
 
wandb/__init__.py CHANGED
@@ -6,11 +6,11 @@ For guides and examples, see https://docs.wandb.ai.
6
6
 
7
7
  For scripts and interactive notebooks, see https://github.com/wandb/examples.
8
8
 
9
- For reference documentation, see https://docs.wandb.com/ref/python.
9
+ For reference documentation, see https://docs.wandb.ai/models/ref/python.
10
10
  """
11
11
  from __future__ import annotations
12
12
 
13
- __version__ = "0.20.2rc20250616"
13
+ __version__ = "0.23.0rc1"
14
14
 
15
15
 
16
16
  from wandb.errors import Error
@@ -31,7 +31,6 @@ wandb.wandb_lib = wandb_sdk.lib # type: ignore
31
31
  init = wandb_sdk.init
32
32
  setup = wandb_sdk.setup
33
33
  attach = _attach = wandb_sdk._attach
34
- _sync = wandb_sdk._sync
35
34
  teardown = _teardown = wandb_sdk.teardown
36
35
  finish = wandb_sdk.finish
37
36
  join = finish
@@ -53,7 +52,6 @@ _lazyloader = wandb.wandb_lib.lazyloader # type: ignore
53
52
 
54
53
  from wandb.integration.torch import wandb_torch
55
54
 
56
- # Move this (keras.__init__ expects it at top level)
57
55
  from wandb.sdk.data_types._private import _cleanup_media_tmp_dir
58
56
 
59
57
  _cleanup_media_tmp_dir()
@@ -61,8 +59,6 @@ _cleanup_media_tmp_dir()
61
59
  from wandb.data_types import Graph
62
60
  from wandb.data_types import Image
63
61
  from wandb.data_types import Plotly
64
-
65
- # from wandb.data_types import Bokeh # keeping out of top level for now since Bokeh plots have poor UI
66
62
  from wandb.data_types import Video
67
63
  from wandb.data_types import Audio
68
64
  from wandb.data_types import Table
@@ -79,71 +75,47 @@ from wandb.wandb_agent import agent
79
75
  from wandb.plot import visualize, plot_table
80
76
  from wandb.integration.sagemaker import sagemaker_auth
81
77
  from wandb.sdk.internal import profiler
78
+ from wandb.sdk.wandb_run import Run
82
79
 
83
80
  # Artifact import types
84
81
  from wandb.sdk.artifacts.artifact_ttl import ArtifactTTL
85
82
 
86
- # Used to make sure we don't use some code in the incorrect process context
87
- _IS_INTERNAL_PROCESS = False
88
-
89
-
90
- def _set_internal_process(disable=False):
91
- global _IS_INTERNAL_PROCESS
92
- if _IS_INTERNAL_PROCESS is None:
93
- return
94
- if disable:
95
- _IS_INTERNAL_PROCESS = None
96
- return
97
- _IS_INTERNAL_PROCESS = True
98
-
99
-
100
- def _assert_is_internal_process():
101
- if _IS_INTERNAL_PROCESS is None:
102
- return
103
- assert _IS_INTERNAL_PROCESS
104
-
105
-
106
- def _assert_is_user_process():
107
- if _IS_INTERNAL_PROCESS is None:
108
- return
109
- assert not _IS_INTERNAL_PROCESS
110
-
111
83
 
112
84
  # globals
113
85
  Api = PublicApi
114
86
  api = InternalApi()
115
- run: wandb_sdk.wandb_run.Run | None = None
87
+ run: Run | None = None
116
88
  config = _preinit.PreInitObject("wandb.config", wandb_sdk.wandb_config.Config)
117
89
  summary = _preinit.PreInitObject("wandb.summary", wandb_sdk.wandb_summary.Summary)
118
- log = _preinit.PreInitCallable("wandb.log", wandb_sdk.wandb_run.Run.log) # type: ignore
119
- watch = _preinit.PreInitCallable("wandb.watch", wandb_sdk.wandb_run.Run.watch) # type: ignore
120
- unwatch = _preinit.PreInitCallable("wandb.unwatch", wandb_sdk.wandb_run.Run.unwatch) # type: ignore
121
- save = _preinit.PreInitCallable("wandb.save", wandb_sdk.wandb_run.Run.save) # type: ignore
90
+ log = _preinit.PreInitCallable("wandb.log", Run.log) # type: ignore
91
+ watch = _preinit.PreInitCallable("wandb.watch", Run.watch) # type: ignore
92
+ unwatch = _preinit.PreInitCallable("wandb.unwatch", Run.unwatch) # type: ignore
93
+ save = _preinit.PreInitCallable("wandb.save", Run.save) # type: ignore
122
94
  restore = wandb_sdk.wandb_run.restore
123
95
  use_artifact = _preinit.PreInitCallable(
124
- "wandb.use_artifact", wandb_sdk.wandb_run.Run.use_artifact # type: ignore
96
+ "wandb.use_artifact", Run.use_artifact # type: ignore
125
97
  )
126
98
  log_artifact = _preinit.PreInitCallable(
127
- "wandb.log_artifact", wandb_sdk.wandb_run.Run.log_artifact # type: ignore
99
+ "wandb.log_artifact", Run.log_artifact # type: ignore
128
100
  )
129
101
  log_model = _preinit.PreInitCallable(
130
- "wandb.log_model", wandb_sdk.wandb_run.Run.log_model # type: ignore
102
+ "wandb.log_model", Run.log_model # type: ignore
131
103
  )
132
104
  use_model = _preinit.PreInitCallable(
133
- "wandb.use_model", wandb_sdk.wandb_run.Run.use_model # type: ignore
105
+ "wandb.use_model", Run.use_model # type: ignore
134
106
  )
135
107
  link_model = _preinit.PreInitCallable(
136
- "wandb.link_model", wandb_sdk.wandb_run.Run.link_model # type: ignore
108
+ "wandb.link_model", Run.link_model # type: ignore
137
109
  )
138
110
  define_metric = _preinit.PreInitCallable(
139
- "wandb.define_metric", wandb_sdk.wandb_run.Run.define_metric # type: ignore
111
+ "wandb.define_metric", Run.define_metric # type: ignore
140
112
  )
141
113
 
142
114
  mark_preempting = _preinit.PreInitCallable(
143
- "wandb.mark_preempting", wandb_sdk.wandb_run.Run.mark_preempting # type: ignore
115
+ "wandb.mark_preempting", Run.mark_preempting # type: ignore
144
116
  )
145
117
 
146
- alert = _preinit.PreInitCallable("wandb.alert", wandb_sdk.wandb_run.Run.alert) # type: ignore
118
+ alert = _preinit.PreInitCallable("wandb.alert", Run.alert) # type: ignore
147
119
 
148
120
  # record of patched libraries
149
121
  patched = {"tensorboard": [], "keras": [], "gym": []} # type: ignore
@@ -176,10 +148,9 @@ def ensure_configured():
176
148
 
177
149
 
178
150
  def set_trace():
179
- import pdb # TODO: support other debuggers
151
+ import pdb
180
152
 
181
- # frame = sys._getframe().f_back
182
- pdb.set_trace() # TODO: pass the parent stack...
153
+ pdb.set_trace()
183
154
 
184
155
 
185
156
  def load_ipython_extension(ipython):
@@ -192,8 +163,6 @@ if wandb_sdk.lib.ipython.in_notebook():
192
163
  load_ipython_extension(get_ipython())
193
164
 
194
165
 
195
- from .analytics import Sentry as _Sentry
196
-
197
166
  if "dev" in __version__:
198
167
  import wandb.env
199
168
  import os
@@ -204,9 +173,6 @@ if "dev" in __version__:
204
173
  "false",
205
174
  )
206
175
 
207
- _sentry = _Sentry()
208
- _sentry.setup()
209
-
210
176
 
211
177
  __all__ = (
212
178
  "__version__",
@@ -243,4 +209,5 @@ __all__ = (
243
209
  "watch",
244
210
  "unwatch",
245
211
  "plot_table",
212
+ "Run",
246
213
  )