wandb 0.16.4__tar.gz → 0.16.6__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (854) hide show
  1. {wandb-0.16.4 → wandb-0.16.6}/MANIFEST.in +0 -2
  2. {wandb-0.16.4/wandb.egg-info → wandb-0.16.6}/PKG-INFO +1 -1
  3. {wandb-0.16.4 → wandb-0.16.6}/pyproject.toml +18 -12
  4. {wandb-0.16.4 → wandb-0.16.6}/wandb/__init__.py +2 -2
  5. {wandb-0.16.4 → wandb-0.16.6}/wandb/agents/pyagent.py +1 -1
  6. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/api.py +6 -6
  7. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/interface.py +4 -8
  8. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/internal.py +12 -45
  9. {wandb-0.16.4 → wandb-0.16.6}/wandb/cli/cli.py +29 -5
  10. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/openai/fine_tuning.py +74 -37
  11. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/ultralytics/callback.py +0 -1
  12. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v3/wandb_internal_pb2.py +332 -312
  13. wandb-0.16.6/wandb/proto/v3/wandb_settings_pb2.py +111 -0
  14. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v3/wandb_telemetry_pb2.py +10 -10
  15. wandb-0.16.6/wandb/proto/v4/wandb_internal_pb2.py +348 -0
  16. wandb-0.16.6/wandb/proto/v4/wandb_settings_pb2.py +44 -0
  17. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v4/wandb_telemetry_pb2.py +10 -10
  18. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact.py +92 -26
  19. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_manifest_entry.py +6 -1
  20. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py +1 -0
  21. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_saver.py +16 -36
  22. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handler.py +2 -1
  23. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +13 -5
  24. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/interface.py +60 -15
  25. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/interface_shared.py +13 -7
  26. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/file_stream.py +19 -0
  27. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/handler.py +1 -4
  28. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/internal_api.py +2 -0
  29. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/job_builder.py +45 -17
  30. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/sender.py +53 -28
  31. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/settings_static.py +9 -0
  32. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/system_info.py +4 -1
  33. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/_launch.py +5 -0
  34. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/_project_spec.py +5 -20
  35. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/agent/agent.py +80 -37
  36. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/agent/config.py +8 -0
  37. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/builder/kaniko_builder.py +149 -134
  38. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/create_job.py +44 -48
  39. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/kubernetes_monitor.py +3 -1
  40. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/kubernetes_runner.py +20 -2
  41. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/sweeps/scheduler.py +3 -1
  42. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/utils.py +23 -5
  43. wandb-0.16.6/wandb/sdk/lib/__init__.py +5 -0
  44. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/_settings_toposort_generated.py +2 -0
  45. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/filesystem.py +11 -1
  46. wandb-0.16.6/wandb/sdk/lib/run_moment.py +78 -0
  47. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/streams.py +1 -6
  48. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_init.py +12 -7
  49. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_login.py +43 -26
  50. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_run.py +179 -94
  51. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_settings.py +55 -16
  52. {wandb-0.16.4 → wandb-0.16.6}/wandb/testing/relay.py +5 -6
  53. {wandb-0.16.4 → wandb-0.16.6/wandb.egg-info}/PKG-INFO +1 -1
  54. {wandb-0.16.4 → wandb-0.16.6}/wandb.egg-info/SOURCES.txt +1 -0
  55. wandb-0.16.4/wandb/proto/v3/wandb_settings_pb2.py +0 -101
  56. wandb-0.16.4/wandb/proto/v4/wandb_internal_pb2.py +0 -344
  57. wandb-0.16.4/wandb/proto/v4/wandb_settings_pb2.py +0 -42
  58. wandb-0.16.4/wandb/sdk/lib/__init__.py +0 -8
  59. {wandb-0.16.4 → wandb-0.16.6}/LICENSE +0 -0
  60. {wandb-0.16.4 → wandb-0.16.6}/README.md +0 -0
  61. {wandb-0.16.4 → wandb-0.16.6}/package_readme.md +0 -0
  62. {wandb-0.16.4 → wandb-0.16.6}/setup.cfg +0 -0
  63. {wandb-0.16.4 → wandb-0.16.6}/setup.py +0 -0
  64. {wandb-0.16.4 → wandb-0.16.6}/wandb/__main__.py +0 -0
  65. {wandb-0.16.4 → wandb-0.16.6}/wandb/_globals.py +0 -0
  66. {wandb-0.16.4 → wandb-0.16.6}/wandb/agents/__init__.py +0 -0
  67. {wandb-0.16.4 → wandb-0.16.6}/wandb/analytics/__init__.py +0 -0
  68. {wandb-0.16.4 → wandb-0.16.6}/wandb/analytics/sentry.py +0 -0
  69. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/__init__.py +0 -0
  70. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/attrs.py +0 -0
  71. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/importers/__init__.py +0 -0
  72. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/importers/internals/internal.py +0 -0
  73. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/importers/internals/protocols.py +0 -0
  74. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/importers/internals/util.py +0 -0
  75. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/importers/mlflow.py +0 -0
  76. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/importers/validation.py +0 -0
  77. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/importers/wandb.py +0 -0
  78. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/internal.py +0 -0
  79. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/normalize.py +0 -0
  80. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/paginator.py +0 -0
  81. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/__init__.py +0 -0
  82. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/artifacts.py +0 -0
  83. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/const.py +0 -0
  84. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/files.py +0 -0
  85. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/history.py +0 -0
  86. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/jobs.py +0 -0
  87. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/projects.py +0 -0
  88. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/query_generator.py +0 -0
  89. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/reports.py +0 -0
  90. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/runs.py +0 -0
  91. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/sweeps.py +0 -0
  92. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/teams.py +0 -0
  93. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/public/users.py +0 -0
  94. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/__init__.py +0 -0
  95. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/__init__.py +0 -0
  96. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/_blocks.py +0 -0
  97. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/_helpers.py +0 -0
  98. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/_panels.py +0 -0
  99. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/_templates.py +0 -0
  100. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/blocks.py +0 -0
  101. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/helpers.py +0 -0
  102. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/mutations.py +0 -0
  103. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/panels.py +0 -0
  104. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/report.py +0 -0
  105. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/runset.py +0 -0
  106. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/templates.py +0 -0
  107. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/util.py +0 -0
  108. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v1/validators.py +0 -0
  109. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/__init__.py +0 -0
  110. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/blocks.py +0 -0
  111. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/expr_parsing.py +0 -0
  112. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/gql.py +0 -0
  113. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/metrics.py +0 -0
  114. {wandb-0.16.4 → wandb-0.16.6}/wandb/apis/reports/v2/panels.py +0 -0
  115. {wandb-0.16.4 → wandb-0.16.6}/wandb/beta/workflows.py +0 -0
  116. {wandb-0.16.4 → wandb-0.16.6}/wandb/bin/apple_gpu_stats +0 -0
  117. {wandb-0.16.4 → wandb-0.16.6}/wandb/catboost/__init__.py +0 -0
  118. {wandb-0.16.4 → wandb-0.16.6}/wandb/cli/__init__.py +0 -0
  119. {wandb-0.16.4 → wandb-0.16.6}/wandb/data_types.py +0 -0
  120. {wandb-0.16.4 → wandb-0.16.6}/wandb/docker/__init__.py +0 -0
  121. {wandb-0.16.4 → wandb-0.16.6}/wandb/docker/auth.py +0 -0
  122. {wandb-0.16.4 → wandb-0.16.6}/wandb/docker/wandb-entrypoint.sh +0 -0
  123. {wandb-0.16.4 → wandb-0.16.6}/wandb/docker/www_authenticate.py +0 -0
  124. {wandb-0.16.4 → wandb-0.16.6}/wandb/env.py +0 -0
  125. {wandb-0.16.4 → wandb-0.16.6}/wandb/errors/__init__.py +0 -0
  126. {wandb-0.16.4 → wandb-0.16.6}/wandb/errors/term.py +0 -0
  127. {wandb-0.16.4 → wandb-0.16.6}/wandb/errors/util.py +0 -0
  128. {wandb-0.16.4 → wandb-0.16.6}/wandb/fastai/__init__.py +0 -0
  129. {wandb-0.16.4 → wandb-0.16.6}/wandb/filesync/__init__.py +0 -0
  130. {wandb-0.16.4 → wandb-0.16.6}/wandb/filesync/dir_watcher.py +0 -0
  131. {wandb-0.16.4 → wandb-0.16.6}/wandb/filesync/stats.py +0 -0
  132. {wandb-0.16.4 → wandb-0.16.6}/wandb/filesync/step_checksum.py +0 -0
  133. {wandb-0.16.4 → wandb-0.16.6}/wandb/filesync/step_prepare.py +0 -0
  134. {wandb-0.16.4 → wandb-0.16.6}/wandb/filesync/step_upload.py +0 -0
  135. {wandb-0.16.4 → wandb-0.16.6}/wandb/filesync/upload_job.py +0 -0
  136. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/__init__.py +0 -0
  137. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/catboost/__init__.py +0 -0
  138. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/catboost/catboost.py +0 -0
  139. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/cohere/__init__.py +0 -0
  140. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/cohere/cohere.py +0 -0
  141. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/cohere/resolver.py +0 -0
  142. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/diffusers/__init__.py +0 -0
  143. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/diffusers/autologger.py +0 -0
  144. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/diffusers/pipeline_resolver.py +0 -0
  145. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/diffusers/resolvers/__init__.py +0 -0
  146. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/diffusers/resolvers/multimodal.py +0 -0
  147. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/diffusers/resolvers/utils.py +0 -0
  148. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/fastai/__init__.py +0 -0
  149. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/gym/__init__.py +0 -0
  150. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/huggingface/__init__.py +0 -0
  151. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/huggingface/huggingface.py +0 -0
  152. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/huggingface/resolver.py +0 -0
  153. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/keras/__init__.py +0 -0
  154. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/keras/callbacks/__init__.py +0 -0
  155. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/keras/callbacks/metrics_logger.py +0 -0
  156. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/keras/callbacks/model_checkpoint.py +0 -0
  157. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/keras/callbacks/tables_builder.py +0 -0
  158. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/keras/keras.py +0 -0
  159. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/kfp/__init__.py +0 -0
  160. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/kfp/helpers.py +0 -0
  161. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/kfp/kfp_patch.py +0 -0
  162. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/kfp/wandb_logging.py +0 -0
  163. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/langchain/__init__.py +0 -0
  164. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/langchain/wandb_tracer.py +0 -0
  165. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/lightgbm/__init__.py +0 -0
  166. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/lightning/__init__.py +0 -0
  167. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/lightning/fabric/__init__.py +0 -0
  168. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/lightning/fabric/logger.py +0 -0
  169. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/magic.py +0 -0
  170. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/metaflow/__init__.py +0 -0
  171. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/metaflow/metaflow.py +0 -0
  172. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/openai/__init__.py +0 -0
  173. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/openai/openai.py +0 -0
  174. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/openai/resolver.py +0 -0
  175. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/prodigy/__init__.py +0 -0
  176. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/prodigy/prodigy.py +0 -0
  177. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sacred/__init__.py +0 -0
  178. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sagemaker/__init__.py +0 -0
  179. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sagemaker/auth.py +0 -0
  180. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sagemaker/config.py +0 -0
  181. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sagemaker/files.py +0 -0
  182. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sagemaker/resources.py +0 -0
  183. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sb3/__init__.py +0 -0
  184. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/sb3/sb3.py +0 -0
  185. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/tensorboard/__init__.py +0 -0
  186. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/tensorboard/log.py +0 -0
  187. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/tensorboard/monkeypatch.py +0 -0
  188. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/tensorflow/__init__.py +0 -0
  189. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/tensorflow/estimator_hook.py +0 -0
  190. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/torch/__init__.py +0 -0
  191. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/ultralytics/__init__.py +0 -0
  192. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/ultralytics/bbox_utils.py +0 -0
  193. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/ultralytics/classification_utils.py +0 -0
  194. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/ultralytics/mask_utils.py +0 -0
  195. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/ultralytics/pose_utils.py +0 -0
  196. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/xgboost/__init__.py +0 -0
  197. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/xgboost/xgboost.py +0 -0
  198. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/yolov8/__init__.py +0 -0
  199. {wandb-0.16.4 → wandb-0.16.6}/wandb/integration/yolov8/yolov8.py +0 -0
  200. {wandb-0.16.4 → wandb-0.16.6}/wandb/jupyter.py +0 -0
  201. {wandb-0.16.4 → wandb-0.16.6}/wandb/keras/__init__.py +0 -0
  202. {wandb-0.16.4 → wandb-0.16.6}/wandb/lightgbm/__init__.py +0 -0
  203. {wandb-0.16.4 → wandb-0.16.6}/wandb/magic.py +0 -0
  204. {wandb-0.16.4 → wandb-0.16.6}/wandb/mpmain/__init__.py +0 -0
  205. {wandb-0.16.4 → wandb-0.16.6}/wandb/mpmain/__main__.py +0 -0
  206. {wandb-0.16.4 → wandb-0.16.6}/wandb/old/__init__.py +0 -0
  207. {wandb-0.16.4 → wandb-0.16.6}/wandb/old/core.py +0 -0
  208. {wandb-0.16.4 → wandb-0.16.6}/wandb/old/settings.py +0 -0
  209. {wandb-0.16.4 → wandb-0.16.6}/wandb/old/summary.py +0 -0
  210. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/__init__.py +0 -0
  211. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/bar.py +0 -0
  212. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/confusion_matrix.py +0 -0
  213. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/histogram.py +0 -0
  214. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/line.py +0 -0
  215. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/line_series.py +0 -0
  216. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/pr_curve.py +0 -0
  217. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/roc_curve.py +0 -0
  218. {wandb-0.16.4 → wandb-0.16.6}/wandb/plot/scatter.py +0 -0
  219. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/__init__.py +0 -0
  220. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/explain_text.py +0 -0
  221. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/heatmap.py +0 -0
  222. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/named_entity.py +0 -0
  223. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/part_of_speech.py +0 -0
  224. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/plot_definitions.py +0 -0
  225. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/precision_recall.py +0 -0
  226. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/roc.py +0 -0
  227. {wandb-0.16.4 → wandb-0.16.6}/wandb/plots/utils.py +0 -0
  228. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/__init__.py +0 -0
  229. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v3/__init__.py +0 -0
  230. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v3/wandb_base_pb2.py +0 -0
  231. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v3/wandb_server_pb2.py +0 -0
  232. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v4/__init__.py +0 -0
  233. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v4/wandb_base_pb2.py +0 -0
  234. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/v4/wandb_server_pb2.py +0 -0
  235. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/wandb_base_pb2.py +0 -0
  236. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/wandb_deprecated.py +0 -0
  237. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/wandb_internal_codegen.py +0 -0
  238. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/wandb_internal_pb2.py +0 -0
  239. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/wandb_server_pb2.py +0 -0
  240. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/wandb_settings_pb2.py +0 -0
  241. {wandb-0.16.4 → wandb-0.16.6}/wandb/proto/wandb_telemetry_pb2.py +0 -0
  242. {wandb-0.16.4 → wandb-0.16.6}/wandb/py.typed +0 -0
  243. {wandb-0.16.4 → wandb-0.16.6}/wandb/sacred/__init__.py +0 -0
  244. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/__init__.py +0 -0
  245. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/__init__.py +0 -0
  246. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_download_logger.py +0 -0
  247. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_file_cache.py +0 -0
  248. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_instance_cache.py +0 -0
  249. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_manifest.py +0 -0
  250. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_manifests/__init__.py +0 -0
  251. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_state.py +0 -0
  252. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/artifact_ttl.py +0 -0
  253. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/exceptions.py +0 -0
  254. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/staging.py +0 -0
  255. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/__init__.py +0 -0
  256. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/azure_handler.py +0 -0
  257. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/gcs_handler.py +0 -0
  258. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/http_handler.py +0 -0
  259. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/local_file_handler.py +0 -0
  260. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/multi_handler.py +0 -0
  261. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/s3_handler.py +0 -0
  262. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/tracking_handler.py +0 -0
  263. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py +0 -0
  264. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py +0 -0
  265. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_layout.py +0 -0
  266. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_policies/__init__.py +0 -0
  267. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_policies/register.py +0 -0
  268. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/artifacts/storage_policy.py +0 -0
  269. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/backend/__init__.py +0 -0
  270. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/backend/backend.py +0 -0
  271. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/__init__.py +0 -0
  272. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/_dtypes.py +0 -0
  273. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/_private.py +0 -0
  274. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/base_types/__init__.py +0 -0
  275. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/base_types/json_metadata.py +0 -0
  276. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/base_types/media.py +0 -0
  277. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/base_types/wb_value.py +0 -0
  278. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/helper_types/__init__.py +0 -0
  279. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/helper_types/bounding_boxes_2d.py +0 -0
  280. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/helper_types/classes.py +0 -0
  281. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/helper_types/image_mask.py +0 -0
  282. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/histogram.py +0 -0
  283. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/html.py +0 -0
  284. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/image.py +0 -0
  285. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/molecule.py +0 -0
  286. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/object_3d.py +0 -0
  287. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/plotly.py +0 -0
  288. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/saved_model.py +0 -0
  289. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/trace_tree.py +0 -0
  290. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/utils.py +0 -0
  291. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/data_types/video.py +0 -0
  292. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/integration_utils/__init__.py +0 -0
  293. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/integration_utils/auto_logging.py +0 -0
  294. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/integration_utils/data_logging.py +0 -0
  295. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/__init__.py +0 -0
  296. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/constants.py +0 -0
  297. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/interface_queue.py +0 -0
  298. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/interface_relay.py +0 -0
  299. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/interface_sock.py +0 -0
  300. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/message_future.py +0 -0
  301. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/message_future_poll.py +0 -0
  302. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/router.py +0 -0
  303. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/router_queue.py +0 -0
  304. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/router_relay.py +0 -0
  305. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/router_sock.py +0 -0
  306. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/interface/summary_record.py +0 -0
  307. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/__init__.py +0 -0
  308. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/context.py +0 -0
  309. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/datastore.py +0 -0
  310. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/file_pusher.py +0 -0
  311. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/flow_control.py +0 -0
  312. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/internal.py +0 -0
  313. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/internal_util.py +0 -0
  314. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/profiler.py +0 -0
  315. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/progress.py +0 -0
  316. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/run.py +0 -0
  317. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/sample.py +0 -0
  318. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/sender_config.py +0 -0
  319. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/__init__.py +0 -0
  320. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/__init__.py +0 -0
  321. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/aggregators.py +0 -0
  322. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/asset_registry.py +0 -0
  323. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/cpu.py +0 -0
  324. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/disk.py +0 -0
  325. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/gpu.py +0 -0
  326. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/gpu_amd.py +0 -0
  327. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/gpu_apple.py +0 -0
  328. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/interfaces.py +0 -0
  329. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/ipu.py +0 -0
  330. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/memory.py +0 -0
  331. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/network.py +0 -0
  332. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/open_metrics.py +0 -0
  333. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/tpu.py +0 -0
  334. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/assets/trainium.py +0 -0
  335. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/env_probe_helpers.py +0 -0
  336. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/system/system_monitor.py +0 -0
  337. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/tb_watcher.py +0 -0
  338. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/thread_local_settings.py +0 -0
  339. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/update.py +0 -0
  340. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/internal/writer.py +0 -0
  341. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/__init__.py +0 -0
  342. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/_launch_add.py +0 -0
  343. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/agent/__init__.py +0 -0
  344. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/agent/job_status_tracker.py +0 -0
  345. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/agent/run_queue_item_file_saver.py +0 -0
  346. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/builder/__init__.py +0 -0
  347. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/builder/abstract.py +0 -0
  348. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/builder/build.py +0 -0
  349. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/builder/docker_builder.py +0 -0
  350. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/builder/noop.py +0 -0
  351. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/builder/templates/_wandb_bootstrap.py +0 -0
  352. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/environment/abstract.py +0 -0
  353. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/environment/aws_environment.py +0 -0
  354. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/environment/azure_environment.py +0 -0
  355. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/environment/gcp_environment.py +0 -0
  356. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/environment/local_environment.py +0 -0
  357. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/errors.py +0 -0
  358. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/git_reference.py +0 -0
  359. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/loader.py +0 -0
  360. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/registry/abstract.py +0 -0
  361. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/registry/anon.py +0 -0
  362. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/registry/azure_container_registry.py +0 -0
  363. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/registry/elastic_container_registry.py +0 -0
  364. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/registry/google_artifact_registry.py +0 -0
  365. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/registry/local_registry.py +0 -0
  366. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/__init__.py +0 -0
  367. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/abstract.py +0 -0
  368. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/local_container.py +0 -0
  369. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/local_process.py +0 -0
  370. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/sagemaker_runner.py +0 -0
  371. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/runner/vertex_runner.py +0 -0
  372. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/sweeps/__init__.py +0 -0
  373. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/sweeps/scheduler_sweep.py +0 -0
  374. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/sweeps/utils.py +0 -0
  375. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/launch/wandb_reference.py +0 -0
  376. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/_settings_toposort_generate.py +0 -0
  377. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/_wburls_generate.py +0 -0
  378. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/_wburls_generated.py +0 -0
  379. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/apikey.py +0 -0
  380. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/capped_dict.py +0 -0
  381. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/config_util.py +0 -0
  382. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/console.py +0 -0
  383. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/deprecate.py +0 -0
  384. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/disabled.py +0 -0
  385. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/exit_hooks.py +0 -0
  386. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/file_stream_utils.py +0 -0
  387. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/filenames.py +0 -0
  388. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/fsm.py +0 -0
  389. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/gitlib.py +0 -0
  390. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/gql_request.py +0 -0
  391. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/handler_util.py +0 -0
  392. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/hashutil.py +0 -0
  393. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/import_hooks.py +0 -0
  394. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/ipython.py +0 -0
  395. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/json_util.py +0 -0
  396. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/lazyloader.py +0 -0
  397. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/mailbox.py +0 -0
  398. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/module.py +0 -0
  399. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/paths.py +0 -0
  400. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/preinit.py +0 -0
  401. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/printer.py +0 -0
  402. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/proto_util.py +0 -0
  403. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/redirect.py +0 -0
  404. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/reporting.py +0 -0
  405. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/retry.py +0 -0
  406. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/runid.py +0 -0
  407. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/server.py +0 -0
  408. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/sock_client.py +0 -0
  409. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/sparkline.py +0 -0
  410. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/telemetry.py +0 -0
  411. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/timed_input.py +0 -0
  412. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/timer.py +0 -0
  413. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/tracelog.py +0 -0
  414. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/lib/wburls.py +0 -0
  415. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/__init__.py +0 -0
  416. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/_startup_debug.py +0 -0
  417. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/port_file.py +0 -0
  418. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/server.py +0 -0
  419. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/server_sock.py +0 -0
  420. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/service.py +0 -0
  421. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/service_base.py +0 -0
  422. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/service/service_sock.py +0 -0
  423. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/verify/__init__.py +0 -0
  424. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/verify/verify.py +0 -0
  425. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_alerts.py +0 -0
  426. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_config.py +0 -0
  427. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_helper.py +0 -0
  428. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_manager.py +0 -0
  429. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_metric.py +0 -0
  430. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_require.py +0 -0
  431. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_require_helpers.py +0 -0
  432. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_setup.py +0 -0
  433. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_summary.py +0 -0
  434. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_sweep.py +0 -0
  435. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_sync.py +0 -0
  436. {wandb-0.16.4 → wandb-0.16.6}/wandb/sdk/wandb_watch.py +0 -0
  437. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/__init__.py +0 -0
  438. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/__init__.py +0 -0
  439. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/calibration_curves.py +0 -0
  440. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/class_proportions.py +0 -0
  441. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/confusion_matrix.py +0 -0
  442. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/decision_boundaries.py +0 -0
  443. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/elbow_curve.py +0 -0
  444. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/feature_importances.py +0 -0
  445. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/learning_curve.py +0 -0
  446. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/outlier_candidates.py +0 -0
  447. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/residuals.py +0 -0
  448. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/silhouette.py +0 -0
  449. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/calculate/summary_metrics.py +0 -0
  450. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/plot/__init__.py +0 -0
  451. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/plot/classifier.py +0 -0
  452. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/plot/clusterer.py +0 -0
  453. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/plot/regressor.py +0 -0
  454. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/plot/shared.py +0 -0
  455. {wandb-0.16.4 → wandb-0.16.6}/wandb/sklearn/utils.py +0 -0
  456. {wandb-0.16.4 → wandb-0.16.6}/wandb/sync/__init__.py +0 -0
  457. {wandb-0.16.4 → wandb-0.16.6}/wandb/sync/sync.py +0 -0
  458. {wandb-0.16.4 → wandb-0.16.6}/wandb/trigger.py +0 -0
  459. {wandb-0.16.4 → wandb-0.16.6}/wandb/util.py +0 -0
  460. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/__init__.py +0 -0
  461. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/setup.py +0 -0
  462. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/__init__.py +0 -0
  463. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/starwars/__init__.py +0 -0
  464. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/starwars/fixtures.py +0 -0
  465. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/starwars/schema.py +0 -0
  466. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/starwars/test_dsl.py +0 -0
  467. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/starwars/test_query.py +0 -0
  468. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/starwars/test_validation.py +0 -0
  469. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/test_client.py +0 -0
  470. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/tests/test_transport.py +0 -0
  471. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/__init__.py +0 -0
  472. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/client.py +0 -0
  473. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/dsl.py +0 -0
  474. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/gql.py +0 -0
  475. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/transport/__init__.py +0 -0
  476. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/transport/http.py +0 -0
  477. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/transport/local_schema.py +0 -0
  478. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/transport/requests.py +0 -0
  479. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/gql-0.2.0/wandb_gql/utils.py +0 -0
  480. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/setup.py +0 -0
  481. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/__init__.py +0 -0
  482. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/__init__.py +0 -0
  483. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/base.py +0 -0
  484. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/format_error.py +0 -0
  485. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/located_error.py +0 -0
  486. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/syntax_error.py +0 -0
  487. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/__init__.py +0 -0
  488. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/base.py +0 -0
  489. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executor.py +0 -0
  490. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/__init__.py +0 -0
  491. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/asyncio.py +0 -0
  492. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/gevent.py +0 -0
  493. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/process.py +0 -0
  494. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/sync.py +0 -0
  495. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/thread.py +0 -0
  496. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/utils.py +0 -0
  497. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/__init__.py +0 -0
  498. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/executor.py +0 -0
  499. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/fragment.py +0 -0
  500. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/resolver.py +0 -0
  501. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/utils.py +0 -0
  502. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/middleware.py +0 -0
  503. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/values.py +0 -0
  504. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/graphql.py +0 -0
  505. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/__init__.py +0 -0
  506. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/ast.py +0 -0
  507. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/base.py +0 -0
  508. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/lexer.py +0 -0
  509. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/location.py +0 -0
  510. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/parser.py +0 -0
  511. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/printer.py +0 -0
  512. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/source.py +0 -0
  513. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/visitor.py +0 -0
  514. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/visitor_meta.py +0 -0
  515. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/__init__.py +0 -0
  516. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/cached_property.py +0 -0
  517. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/contain_subset.py +0 -0
  518. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/default_ordered_dict.py +0 -0
  519. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/ordereddict.py +0 -0
  520. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/pair_set.py +0 -0
  521. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/version.py +0 -0
  522. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/__init__.py +0 -0
  523. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/definition.py +0 -0
  524. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/directives.py +0 -0
  525. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/introspection.py +0 -0
  526. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/scalars.py +0 -0
  527. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/schema.py +0 -0
  528. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/typemap.py +0 -0
  529. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/__init__.py +0 -0
  530. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/assert_valid_name.py +0 -0
  531. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_from_value.py +0 -0
  532. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_to_code.py +0 -0
  533. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_to_dict.py +0 -0
  534. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/base.py +0 -0
  535. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/build_ast_schema.py +0 -0
  536. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/build_client_schema.py +0 -0
  537. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/concat_ast.py +0 -0
  538. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/extend_schema.py +0 -0
  539. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/get_field_def.py +0 -0
  540. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/get_operation_ast.py +0 -0
  541. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/introspection_query.py +0 -0
  542. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/is_valid_literal_value.py +0 -0
  543. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/is_valid_value.py +0 -0
  544. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/quoted_or_list.py +0 -0
  545. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/schema_printer.py +0 -0
  546. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/suggestion_list.py +0 -0
  547. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_comparators.py +0 -0
  548. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_from_ast.py +0 -0
  549. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_info.py +0 -0
  550. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/value_from_ast.py +0 -0
  551. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/__init__.py +0 -0
  552. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/__init__.py +0 -0
  553. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/arguments_of_correct_type.py +0 -0
  554. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/base.py +0 -0
  555. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/default_values_of_correct_type.py +0 -0
  556. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/fields_on_correct_type.py +0 -0
  557. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/fragments_on_composite_types.py +0 -0
  558. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_argument_names.py +0 -0
  559. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_directives.py +0 -0
  560. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_fragment_names.py +0 -0
  561. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_type_names.py +0 -0
  562. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/lone_anonymous_operation.py +0 -0
  563. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_fragment_cycles.py +0 -0
  564. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_undefined_variables.py +0 -0
  565. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_unused_fragments.py +0 -0
  566. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_unused_variables.py +0 -0
  567. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/overlapping_fields_can_be_merged.py +0 -0
  568. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/possible_fragment_spreads.py +0 -0
  569. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/provided_non_null_arguments.py +0 -0
  570. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/scalar_leafs.py +0 -0
  571. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_argument_names.py +0 -0
  572. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_fragment_names.py +0 -0
  573. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_input_field_names.py +0 -0
  574. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_operation_names.py +0 -0
  575. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_variable_names.py +0 -0
  576. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/variables_are_input_types.py +0 -0
  577. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/variables_in_allowed_position.py +0 -0
  578. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/validation.py +0 -0
  579. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/conftest.py +0 -0
  580. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/setup.py +0 -0
  581. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/__init__.py +0 -0
  582. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/conftest.py +0 -0
  583. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_awaitable.py +0 -0
  584. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_awaitable_35.py +0 -0
  585. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_benchmark.py +0 -0
  586. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_complex_threads.py +0 -0
  587. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_dataloader.py +0 -0
  588. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_dataloader_awaitable_35.py +0 -0
  589. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_dataloader_extra.py +0 -0
  590. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_extra.py +0 -0
  591. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_issues.py +0 -0
  592. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_promise_list.py +0 -0
  593. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_spec.py +0 -0
  594. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/test_thread_safety.py +0 -0
  595. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/tests/utils.py +0 -0
  596. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/__init__.py +0 -0
  597. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/async_.py +0 -0
  598. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/compat.py +0 -0
  599. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/dataloader.py +0 -0
  600. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/iterate_promise.py +0 -0
  601. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/promise.py +0 -0
  602. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/promise_list.py +0 -0
  603. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/pyutils/__init__.py +0 -0
  604. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/pyutils/version.py +0 -0
  605. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/__init__.py +0 -0
  606. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/asyncio.py +0 -0
  607. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/gevent.py +0 -0
  608. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/immediate.py +0 -0
  609. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/thread.py +0 -0
  610. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/promise-2.3.0/wandb_promise/utils.py +0 -0
  611. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/__init__.py +0 -0
  612. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/cmdline.py +0 -0
  613. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/console.py +0 -0
  614. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/filter.py +0 -0
  615. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/filters/__init__.py +0 -0
  616. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatter.py +0 -0
  617. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/__init__.py +0 -0
  618. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/_mapping.py +0 -0
  619. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/bbcode.py +0 -0
  620. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/html.py +0 -0
  621. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/img.py +0 -0
  622. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/irc.py +0 -0
  623. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/latex.py +0 -0
  624. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/other.py +0 -0
  625. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/rtf.py +0 -0
  626. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/svg.py +0 -0
  627. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/terminal.py +0 -0
  628. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/formatters/terminal256.py +0 -0
  629. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexer.py +0 -0
  630. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/__init__.py +0 -0
  631. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_asy_builtins.py +0 -0
  632. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_cl_builtins.py +0 -0
  633. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_cocoa_builtins.py +0 -0
  634. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_csound_builtins.py +0 -0
  635. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_lasso_builtins.py +0 -0
  636. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_lua_builtins.py +0 -0
  637. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_mapping.py +0 -0
  638. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_mql_builtins.py +0 -0
  639. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_openedge_builtins.py +0 -0
  640. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_php_builtins.py +0 -0
  641. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_postgres_builtins.py +0 -0
  642. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_scilab_builtins.py +0 -0
  643. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_sourcemod_builtins.py +0 -0
  644. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_stan_builtins.py +0 -0
  645. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_stata_builtins.py +0 -0
  646. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_tsql_builtins.py +0 -0
  647. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/_vim_builtins.py +0 -0
  648. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/actionscript.py +0 -0
  649. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/agile.py +0 -0
  650. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/algebra.py +0 -0
  651. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ambient.py +0 -0
  652. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ampl.py +0 -0
  653. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/apl.py +0 -0
  654. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/archetype.py +0 -0
  655. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/asm.py +0 -0
  656. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/automation.py +0 -0
  657. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/basic.py +0 -0
  658. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/bibtex.py +0 -0
  659. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/business.py +0 -0
  660. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/c_cpp.py +0 -0
  661. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/c_like.py +0 -0
  662. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/capnproto.py +0 -0
  663. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/chapel.py +0 -0
  664. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/clean.py +0 -0
  665. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/compiled.py +0 -0
  666. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/configs.py +0 -0
  667. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/console.py +0 -0
  668. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/crystal.py +0 -0
  669. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/csound.py +0 -0
  670. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/css.py +0 -0
  671. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/d.py +0 -0
  672. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/dalvik.py +0 -0
  673. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/data.py +0 -0
  674. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/diff.py +0 -0
  675. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/dotnet.py +0 -0
  676. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/dsls.py +0 -0
  677. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/dylan.py +0 -0
  678. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ecl.py +0 -0
  679. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/eiffel.py +0 -0
  680. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/elm.py +0 -0
  681. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/erlang.py +0 -0
  682. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/esoteric.py +0 -0
  683. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ezhil.py +0 -0
  684. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/factor.py +0 -0
  685. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/fantom.py +0 -0
  686. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/felix.py +0 -0
  687. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/forth.py +0 -0
  688. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/fortran.py +0 -0
  689. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/foxpro.py +0 -0
  690. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/functional.py +0 -0
  691. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/go.py +0 -0
  692. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/grammar_notation.py +0 -0
  693. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/graph.py +0 -0
  694. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/graphics.py +0 -0
  695. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/haskell.py +0 -0
  696. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/haxe.py +0 -0
  697. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/hdl.py +0 -0
  698. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/hexdump.py +0 -0
  699. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/html.py +0 -0
  700. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/idl.py +0 -0
  701. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/igor.py +0 -0
  702. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/inferno.py +0 -0
  703. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/installers.py +0 -0
  704. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/int_fiction.py +0 -0
  705. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/iolang.py +0 -0
  706. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/j.py +0 -0
  707. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/javascript.py +0 -0
  708. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/julia.py +0 -0
  709. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/jvm.py +0 -0
  710. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/lisp.py +0 -0
  711. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/make.py +0 -0
  712. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/markup.py +0 -0
  713. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/math.py +0 -0
  714. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/matlab.py +0 -0
  715. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ml.py +0 -0
  716. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/modeling.py +0 -0
  717. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/modula2.py +0 -0
  718. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/monte.py +0 -0
  719. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ncl.py +0 -0
  720. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/nimrod.py +0 -0
  721. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/nit.py +0 -0
  722. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/nix.py +0 -0
  723. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/oberon.py +0 -0
  724. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/objective.py +0 -0
  725. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ooc.py +0 -0
  726. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/other.py +0 -0
  727. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/parasail.py +0 -0
  728. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/parsers.py +0 -0
  729. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/pascal.py +0 -0
  730. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/pawn.py +0 -0
  731. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/perl.py +0 -0
  732. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/php.py +0 -0
  733. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/praat.py +0 -0
  734. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/prolog.py +0 -0
  735. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/python.py +0 -0
  736. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/qvt.py +0 -0
  737. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/r.py +0 -0
  738. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/rdf.py +0 -0
  739. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/rebol.py +0 -0
  740. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/resource.py +0 -0
  741. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/rnc.py +0 -0
  742. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/roboconf.py +0 -0
  743. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/robotframework.py +0 -0
  744. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/ruby.py +0 -0
  745. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/rust.py +0 -0
  746. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/sas.py +0 -0
  747. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/scripting.py +0 -0
  748. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/shell.py +0 -0
  749. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/smalltalk.py +0 -0
  750. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/smv.py +0 -0
  751. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/snobol.py +0 -0
  752. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/special.py +0 -0
  753. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/sql.py +0 -0
  754. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/stata.py +0 -0
  755. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/supercollider.py +0 -0
  756. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/tcl.py +0 -0
  757. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/templates.py +0 -0
  758. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/testing.py +0 -0
  759. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/text.py +0 -0
  760. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/textedit.py +0 -0
  761. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/textfmts.py +0 -0
  762. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/theorem.py +0 -0
  763. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/trafficscript.py +0 -0
  764. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/typoscript.py +0 -0
  765. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/urbi.py +0 -0
  766. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/varnish.py +0 -0
  767. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/verification.py +0 -0
  768. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/web.py +0 -0
  769. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/webmisc.py +0 -0
  770. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/whiley.py +0 -0
  771. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/lexers/x10.py +0 -0
  772. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/modeline.py +0 -0
  773. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/plugin.py +0 -0
  774. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/regexopt.py +0 -0
  775. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/scanner.py +0 -0
  776. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/sphinxext.py +0 -0
  777. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/style.py +0 -0
  778. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/__init__.py +0 -0
  779. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/abap.py +0 -0
  780. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/algol.py +0 -0
  781. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/algol_nu.py +0 -0
  782. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/arduino.py +0 -0
  783. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/autumn.py +0 -0
  784. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/borland.py +0 -0
  785. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/bw.py +0 -0
  786. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/colorful.py +0 -0
  787. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/default.py +0 -0
  788. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/emacs.py +0 -0
  789. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/friendly.py +0 -0
  790. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/fruity.py +0 -0
  791. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/igor.py +0 -0
  792. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/lovelace.py +0 -0
  793. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/manni.py +0 -0
  794. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/monokai.py +0 -0
  795. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/murphy.py +0 -0
  796. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/native.py +0 -0
  797. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/paraiso_dark.py +0 -0
  798. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/paraiso_light.py +0 -0
  799. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/pastie.py +0 -0
  800. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/perldoc.py +0 -0
  801. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/rainbow_dash.py +0 -0
  802. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/rrt.py +0 -0
  803. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/sas.py +0 -0
  804. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/stata.py +0 -0
  805. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/tango.py +0 -0
  806. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/trac.py +0 -0
  807. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/vim.py +0 -0
  808. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/vs.py +0 -0
  809. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/styles/xcode.py +0 -0
  810. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/token.py +0 -0
  811. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/unistring.py +0 -0
  812. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pygments/util.py +0 -0
  813. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pynvml/__init__.py +0 -0
  814. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/pynvml/pynvml.py +0 -0
  815. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/__init__.py +0 -0
  816. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/events.py +0 -0
  817. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/__init__.py +0 -0
  818. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/api.py +0 -0
  819. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/fsevents.py +0 -0
  820. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/fsevents2.py +0 -0
  821. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify.py +0 -0
  822. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify_buffer.py +0 -0
  823. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify_c.py +0 -0
  824. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/kqueue.py +0 -0
  825. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/polling.py +0 -0
  826. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/read_directory_changes.py +0 -0
  827. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/winapi.py +0 -0
  828. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/patterns.py +0 -0
  829. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/tricks/__init__.py +0 -0
  830. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/__init__.py +0 -0
  831. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/bricks.py +0 -0
  832. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/compat.py +0 -0
  833. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/decorators.py +0 -0
  834. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/delayed_queue.py +0 -0
  835. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/dirsnapshot.py +0 -0
  836. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/echo.py +0 -0
  837. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/event_backport.py +0 -0
  838. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/importlib2.py +0 -0
  839. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py +0 -0
  840. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py +0 -0
  841. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py +0 -0
  842. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/version.py +0 -0
  843. {wandb-0.16.4 → wandb-0.16.6}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/watchmedo.py +0 -0
  844. {wandb-0.16.4 → wandb-0.16.6}/wandb/viz.py +0 -0
  845. {wandb-0.16.4 → wandb-0.16.6}/wandb/wandb_agent.py +0 -0
  846. {wandb-0.16.4 → wandb-0.16.6}/wandb/wandb_controller.py +0 -0
  847. {wandb-0.16.4 → wandb-0.16.6}/wandb/wandb_run.py +0 -0
  848. {wandb-0.16.4 → wandb-0.16.6}/wandb/wandb_torch.py +0 -0
  849. {wandb-0.16.4 → wandb-0.16.6}/wandb/xgboost/__init__.py +0 -0
  850. {wandb-0.16.4 → wandb-0.16.6}/wandb.egg-info/dependency_links.txt +0 -0
  851. {wandb-0.16.4 → wandb-0.16.6}/wandb.egg-info/entry_points.txt +0 -0
  852. {wandb-0.16.4 → wandb-0.16.6}/wandb.egg-info/not-zip-safe +0 -0
  853. {wandb-0.16.4 → wandb-0.16.6}/wandb.egg-info/requires.txt +0 -0
  854. {wandb-0.16.4 → wandb-0.16.6}/wandb.egg-info/top_level.txt +0 -0
@@ -1,7 +1,5 @@
1
1
  include wandb/py.typed
2
2
  include package_readme.md
3
- include requirements.txt
4
- include requirements_sweeps.txt
5
3
  include wandb/bin/apple_gpu_stats
6
4
 
7
5
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wandb
3
- Version: 0.16.4
3
+ Version: 0.16.6
4
4
  Summary: A CLI and library for interacting with the Weights & Biases API.
5
5
  Author-email: Weights & Biases <support@wandb.com>
6
6
  License: MIT License
@@ -116,7 +116,7 @@ version = { attr = "wandb.__version__" }
116
116
  [tool.pytest.ini_options]
117
117
  minversion = "6.0"
118
118
  console_output_style = "count"
119
- addopts = "-vvv --cov-config=pyproject.toml --dist=loadscope --capture=no"
119
+ addopts = "-vvv --cov-config=pyproject.toml --dist=loadscope"
120
120
  markers = [
121
121
  "image_output",
122
122
  "multiclass",
@@ -173,6 +173,9 @@ wandb/vendor/
173
173
  [tool.ruff]
174
174
  exclude = ["wandb/__init__.py"]
175
175
  extend-exclude = ["wandb/vendor/**", "wandb/proto/**"]
176
+ target-version = "py37"
177
+
178
+ [tool.ruff.lint]
176
179
  select = ["F", "E", "W", "B", "I", "N", "D", "C90", "UP"]
177
180
  ignore = [
178
181
  "B904",
@@ -180,14 +183,25 @@ ignore = [
180
183
  "D1", # Allow missing docstrings.
181
184
  "D417", # Don't require descriptions for all arguments.
182
185
  "UP022",
186
+ "UP032", # Allow using format instead of f-string.
183
187
  "UP036",
184
188
  ]
185
- target-version = "py37"
186
189
 
187
- [tool.ruff.isort]
190
+ [tool.ruff.lint.mccabe]
191
+ max-complexity = 18
192
+
193
+ [tool.ruff.lint.isort]
188
194
  split-on-trailing-comma = false
189
195
 
190
- [tool.ruff.per-file-ignores]
196
+
197
+ [tool.ruff.lint.pycodestyle]
198
+ ignore-overlong-task-comments = true
199
+
200
+
201
+ [tool.ruff.lint.pydocstyle]
202
+ convention = "google"
203
+
204
+ [tool.ruff.lint.per-file-ignores]
191
205
  "**/__init__.py" = ["E402", "F401"]
192
206
  "wandb/__init__.py" = ["I001"]
193
207
  "wandb/cli/cli.py" = ["C901"]
@@ -202,14 +216,6 @@ split-on-trailing-comma = false
202
216
  "tests/functional_tests/t0_main/fastai/t1_v1.py" = ["F405"]
203
217
  "tests/functional_tests/t0_main/metaflow/**" = ["D", "N806"]
204
218
 
205
- [tool.ruff.pydocstyle]
206
- convention = "google"
207
-
208
- [tool.ruff.pycodestyle]
209
- ignore-overlong-task-comments = true
210
-
211
- [tool.ruff.mccabe]
212
- max-complexity = 18
213
219
 
214
220
  [tool.mypy]
215
221
  warn_redundant_casts = true
@@ -11,8 +11,8 @@ For scripts and interactive notebooks, see https://github.com/wandb/examples.
11
11
 
12
12
  For reference documentation, see https://docs.wandb.com/ref/python.
13
13
  """
14
- __version__ = "0.16.4"
15
- _minimum_core_version = "0.17.0b9"
14
+ __version__ = "0.16.6"
15
+ _minimum_core_version = "0.17.0b10"
16
16
 
17
17
  # Used with pypi checks and other messages related to pip
18
18
  _wandb_module = "wandb"
@@ -347,7 +347,7 @@ def pyagent(sweep_id, function, entity=None, project=None, count=None):
347
347
  count (int, optional): the number of trials to run.
348
348
  """
349
349
  if not callable(function):
350
- raise Exception("function paramter must be callable!")
350
+ raise Exception("function parameter must be callable!")
351
351
  agent = Agent(
352
352
  sweep_id,
353
353
  function=function,
@@ -313,15 +313,15 @@ class Api:
313
313
  entity: (str) Optional name of the entity to create the queue. If None, will use the configured or default entity.
314
314
  prioritization_mode: (str) Optional version of prioritization to use. Either "V0" or None
315
315
  config: (dict) Optional default resource configuration to be used for the queue. Use handlebars (eg. "{{var}}") to specify template variables.
316
- template_variables (dict): A dictionary of template variable schemas to be used with the config. Expected format of:
316
+ template_variables: (dict) A dictionary of template variable schemas to be used with the config. Expected format of:
317
317
  {
318
318
  "var-name": {
319
319
  "schema": {
320
- "type": "<string | number | integer>",
321
- "default": <optional value>,
322
- "minimum": <optional minimum>,
323
- "maximum": <optional maximum>,
324
- "enum": [..."<options>"]
320
+ "type": ("string", "number", or "integer"),
321
+ "default": (optional value),
322
+ "minimum": (optional minimum),
323
+ "maximum": (optional maximum),
324
+ "enum": [..."(options)"]
325
325
  }
326
326
  }
327
327
  }
@@ -4,6 +4,8 @@ from datetime import datetime
4
4
  from typing import Dict, Iterable, Optional, Tuple, Union
5
5
  from typing import List as LList
6
6
 
7
+ from annotated_types import Annotated, Ge, Le
8
+
7
9
  try:
8
10
  from typing import Literal
9
11
  except ImportError:
@@ -758,14 +760,8 @@ block_mapping = {
758
760
 
759
761
  @dataclass(config=dataclass_config)
760
762
  class GradientPoint(Base):
761
- color: str
762
- offset: float = Field(0, ge=0, le=100)
763
-
764
- @validator("color")
765
- def validate_color(cls, v): # noqa: N805
766
- if not internal.is_valid_color(v):
767
- raise ValueError("invalid color, value should be hex, rgb, or rgba")
768
- return v
763
+ color: Annotated[str, internal.ColorStrConstraints]
764
+ offset: Annotated[float, Ge(0), Le(100)] = 0
769
765
 
770
766
  def to_model(self):
771
767
  return internal.GradientPoint(color=self.color, offset=self.offset)
@@ -1,18 +1,19 @@
1
1
  """JSONSchema for internal types. Hopefully this is auto-generated one day!"""
2
2
  import json
3
3
  import random
4
- import re
5
4
  from copy import deepcopy
6
5
  from datetime import datetime
7
6
  from typing import Any, Dict, Optional, Tuple, Union
8
7
  from typing import List as LList
9
8
 
9
+ from annotated_types import Annotated, Ge, Le
10
+
10
11
  try:
11
12
  from typing import Literal
12
13
  except ImportError:
13
14
  from typing_extensions import Literal
14
15
 
15
- from pydantic import BaseModel, ConfigDict, Field, validator
16
+ from pydantic import BaseModel, ConfigDict, Field, StringConstraints, validator
16
17
  from pydantic.alias_generators import to_camel
17
18
 
18
19
 
@@ -48,6 +49,13 @@ def _generate_name(length: int = 12) -> str:
48
49
  return rand36.lower()[:length]
49
50
 
50
51
 
52
+ hex_pattern = r"^#(?:[0-9a-fA-F]{3}){1,2}$"
53
+ rgb_pattern = r"^rgb\(\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*\)$"
54
+ rgba_pattern = r"^rgba\(\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\s*,\s*(1|0|0?\.\d+)\s*\)$"
55
+ ColorStrConstraints = StringConstraints(
56
+ pattern=f"{hex_pattern}|{rgb_pattern}|{rgba_pattern}"
57
+ )
58
+
51
59
  LinePlotStyle = Literal["line", "stacked-area", "pct-area"]
52
60
  BarPlotStyle = Literal["bar", "boxplot", "violin"]
53
61
  FontSize = Literal["small", "medium", "large", "auto"]
@@ -609,14 +617,8 @@ class LinePlot(Panel):
609
617
 
610
618
 
611
619
  class GradientPoint(ReportAPIBaseModel):
612
- color: str
613
- offset: float = Field(0, ge=0, le=100)
614
-
615
- @validator("color")
616
- def validate_color(cls, v): # noqa: N805
617
- if not is_valid_color(v):
618
- raise ValueError("invalid color, value should be hex, rgb, or rgba")
619
- return v
620
+ color: Annotated[str, ColorStrConstraints]
621
+ offset: Annotated[float, Ge(0), Le(100)] = 0
620
622
 
621
623
 
622
624
  class ScatterPlotConfig(ReportAPIBaseModel):
@@ -866,38 +868,3 @@ block_type_mapping = {
866
868
  "table-of-contents": TableOfContents,
867
869
  "block-quote": BlockQuote,
868
870
  }
869
-
870
-
871
- def is_valid_color(color_str: str) -> bool:
872
- # Regular expression for hex color validation
873
- hex_color_pattern = r"^#(?:[0-9a-fA-F]{3}){1,2}$"
874
-
875
- # Check if it's a valid hex color
876
- if re.match(hex_color_pattern, color_str):
877
- return True
878
-
879
- # Try parsing it as an RGB or RGBA tuple
880
- try:
881
- # Strip 'rgb(' or 'rgba(' and the closing ')'
882
- if color_str.startswith("rgb(") and color_str.endswith(")"):
883
- parts = color_str[4:-1].split(",")
884
- elif color_str.startswith("rgba(") and color_str.endswith(")"):
885
- parts = color_str[5:-1].split(",")
886
- else:
887
- return False
888
-
889
- # Convert parts to integers and validate ranges
890
- parts = [int(p.strip()) for p in parts]
891
- if len(parts) == 3 and all(0 <= p <= 255 for p in parts):
892
- return True # Valid RGB
893
- if (
894
- len(parts) == 4
895
- and all(0 <= p <= 255 for p in parts[:-1])
896
- and 0 <= parts[-1] <= 1
897
- ):
898
- return True # Valid RGBA
899
-
900
- except ValueError:
901
- pass
902
-
903
- return False
@@ -1680,6 +1680,7 @@ def launch(
1680
1680
  hidden=True,
1681
1681
  help="a wandb client registration URL, this is generated in the UI",
1682
1682
  )
1683
+ @click.option("--verbose", "-v", count=True, help="Display verbose output")
1683
1684
  @display_error
1684
1685
  def launch_agent(
1685
1686
  ctx,
@@ -1690,6 +1691,7 @@ def launch_agent(
1690
1691
  config=None,
1691
1692
  url=None,
1692
1693
  log_file=None,
1694
+ verbose=0,
1693
1695
  ):
1694
1696
  logger.info(
1695
1697
  f"=== Launch-agent called with kwargs {locals()} CLI Version: {wandb.__version__} ==="
@@ -1707,7 +1709,7 @@ def launch_agent(
1707
1709
  api = _get_cling_api()
1708
1710
  wandb._sentry.configure_scope(process_context="launch_agent")
1709
1711
  agent_config, api = _launch.resolve_agent_config(
1710
- entity, project, max_jobs, queues, config
1712
+ entity, project, max_jobs, queues, config, verbose
1711
1713
  )
1712
1714
 
1713
1715
  if len(agent_config.get("queues")) == 0:
@@ -1905,7 +1907,7 @@ def describe(job):
1905
1907
  "--entry-point",
1906
1908
  "-E",
1907
1909
  "entrypoint",
1908
- help="Codepath to the main script, required for repo jobs",
1910
+ help="Entrypoint to the script, including an executable and an entrypoint file. Required for code or repo jobs",
1909
1911
  )
1910
1912
  @click.option(
1911
1913
  "--git-hash",
@@ -2345,8 +2347,30 @@ def artifact():
2345
2347
  default=None,
2346
2348
  help="Resume the last run from your current directory.",
2347
2349
  )
2350
+ @click.option(
2351
+ "--skip_cache",
2352
+ is_flag=True,
2353
+ default=False,
2354
+ help="Skip caching while uploading artifact files.",
2355
+ )
2356
+ @click.option(
2357
+ "--policy",
2358
+ default="mutable",
2359
+ type=click.Choice(["mutable", "immutable"]),
2360
+ help="Set the storage policy while uploading artifact files.",
2361
+ )
2348
2362
  @display_error
2349
- def put(path, name, description, type, alias, run_id, resume):
2363
+ def put(
2364
+ path,
2365
+ name,
2366
+ description,
2367
+ type,
2368
+ alias,
2369
+ run_id,
2370
+ resume,
2371
+ skip_cache,
2372
+ policy,
2373
+ ):
2350
2374
  if name is None:
2351
2375
  name = os.path.basename(path)
2352
2376
  public_api = PublicApi()
@@ -2361,10 +2385,10 @@ def put(path, name, description, type, alias, run_id, resume):
2361
2385
  artifact_path = f"{entity}/{project}/{artifact_name}:{alias[0]}"
2362
2386
  if os.path.isdir(path):
2363
2387
  wandb.termlog(f'Uploading directory {path} to: "{artifact_path}" ({type})')
2364
- artifact.add_dir(path)
2388
+ artifact.add_dir(path, skip_cache=skip_cache, policy=policy)
2365
2389
  elif os.path.isfile(path):
2366
2390
  wandb.termlog(f'Uploading file {path} to: "{artifact_path}" ({type})')
2367
- artifact.add_file(path)
2391
+ artifact.add_file(path, skip_cache=skip_cache, policy=policy)
2368
2392
  elif "://" in path:
2369
2393
  wandb.termlog(
2370
2394
  f'Logging reference artifact from {path} to: "{artifact_path}" ({type})'
@@ -1,9 +1,11 @@
1
1
  import datetime
2
2
  import io
3
3
  import json
4
+ import os
4
5
  import re
6
+ import tempfile
5
7
  import time
6
- from typing import Any, Dict, Optional, Tuple
8
+ from typing import Any, Dict, List, Optional, Tuple, Union
7
9
 
8
10
  import wandb
9
11
  from wandb import util
@@ -26,7 +28,10 @@ if parse_version(openai.__version__) < parse_version("1.0.1"):
26
28
 
27
29
  from openai import OpenAI # noqa: E402
28
30
  from openai.types.fine_tuning import FineTuningJob # noqa: E402
29
- from openai.types.fine_tuning.fine_tuning_job import Hyperparameters # noqa: E402
31
+ from openai.types.fine_tuning.fine_tuning_job import ( # noqa: E402
32
+ Error,
33
+ Hyperparameters,
34
+ )
30
35
 
31
36
  np = util.get_module(
32
37
  name="numpy",
@@ -59,6 +64,7 @@ class WandbLogger:
59
64
  entity: Optional[str] = None,
60
65
  overwrite: bool = False,
61
66
  wait_for_job_success: bool = True,
67
+ log_datasets: bool = True,
62
68
  **kwargs_wandb_init: Dict[str, Any],
63
69
  ) -> str:
64
70
  """Sync fine-tunes to Weights & Biases.
@@ -150,6 +156,7 @@ class WandbLogger:
150
156
  entity,
151
157
  overwrite,
152
158
  show_individual_warnings,
159
+ log_datasets,
153
160
  **kwargs_wandb_init,
154
161
  )
155
162
 
@@ -160,11 +167,14 @@ class WandbLogger:
160
167
 
161
168
  @classmethod
162
169
  def _wait_for_job_success(cls, fine_tune: FineTuningJob) -> FineTuningJob:
163
- wandb.termlog("Waiting for the OpenAI fine-tuning job to be finished...")
170
+ wandb.termlog("Waiting for the OpenAI fine-tuning job to finish training...")
171
+ wandb.termlog(
172
+ "To avoid blocking, you can call `WandbLogger.sync` with `wait_for_job_success=False` after OpenAI training completes."
173
+ )
164
174
  while True:
165
175
  if fine_tune.status == "succeeded":
166
176
  wandb.termlog(
167
- "Fine-tuning finished, logging metrics, model metadata, and more to W&B"
177
+ "Fine-tuning finished, logging metrics, model metadata, and run metadata to Weights & Biases"
168
178
  )
169
179
  return fine_tune
170
180
  if fine_tune.status == "failed":
@@ -190,6 +200,7 @@ class WandbLogger:
190
200
  entity: Optional[str],
191
201
  overwrite: bool,
192
202
  show_individual_warnings: bool,
203
+ log_datasets: bool,
193
204
  **kwargs_wandb_init: Dict[str, Any],
194
205
  ):
195
206
  fine_tune_id = fine_tune.id
@@ -209,7 +220,7 @@ class WandbLogger:
209
220
  # check results are present
210
221
  try:
211
222
  results_id = fine_tune.result_files[0]
212
- results = cls.openai_client.files.retrieve_content(file_id=results_id)
223
+ results = cls.openai_client.files.content(file_id=results_id).text
213
224
  except openai.NotFoundError:
214
225
  if show_individual_warnings:
215
226
  wandb.termwarn(
@@ -233,7 +244,7 @@ class WandbLogger:
233
244
  cls._run.summary["fine_tuned_model"] = fine_tuned_model
234
245
 
235
246
  # training/validation files and fine-tune details
236
- cls._log_artifacts(fine_tune, project, entity)
247
+ cls._log_artifacts(fine_tune, project, entity, log_datasets, overwrite)
237
248
 
238
249
  # mark run as complete
239
250
  cls._run.summary["status"] = "succeeded"
@@ -249,7 +260,7 @@ class WandbLogger:
249
260
  else:
250
261
  raise Exception(
251
262
  "It appears you are not currently logged in to Weights & Biases. "
252
- "Please run `wandb login` in your terminal. "
263
+ "Please run `wandb login` in your terminal or `wandb.login()` in a notebook."
253
264
  "When prompted, you can obtain your API key by visiting wandb.ai/authorize."
254
265
  )
255
266
 
@@ -286,15 +297,9 @@ class WandbLogger:
286
297
  config["finished_at"]
287
298
  ).strftime("%Y-%m-%d %H:%M:%S")
288
299
  if config.get("hyperparameters"):
289
- hyperparameters = config.pop("hyperparameters")
290
- hyperparams = cls._unpack_hyperparameters(hyperparameters)
291
- if hyperparams is None:
292
- # If unpacking fails, log the object which will render as string
293
- config["hyperparameters"] = hyperparameters
294
- else:
295
- # nested rendering on hyperparameters
296
- config["hyperparameters"] = hyperparams
297
-
300
+ config["hyperparameters"] = cls.sanitize(config["hyperparameters"])
301
+ if config.get("error"):
302
+ config["error"] = cls.sanitize(config["error"])
298
303
  return config
299
304
 
300
305
  @classmethod
@@ -314,21 +319,44 @@ class WandbLogger:
314
319
 
315
320
  return hyperparams
316
321
 
322
+ @staticmethod
323
+ def sanitize(input: Any) -> Union[Dict, List, str]:
324
+ valid_types = [bool, int, float, str]
325
+ if isinstance(input, (Hyperparameters, Error)):
326
+ return dict(input)
327
+ if isinstance(input, dict):
328
+ return {
329
+ k: v if type(v) in valid_types else str(v) for k, v in input.items()
330
+ }
331
+ elif isinstance(input, list):
332
+ return [v if type(v) in valid_types else str(v) for v in input]
333
+ else:
334
+ return str(input)
335
+
317
336
  @classmethod
318
337
  def _log_artifacts(
319
- cls, fine_tune: FineTuningJob, project: str, entity: Optional[str]
338
+ cls,
339
+ fine_tune: FineTuningJob,
340
+ project: str,
341
+ entity: Optional[str],
342
+ log_datasets: bool,
343
+ overwrite: bool,
320
344
  ) -> None:
321
- # training/validation files
322
- training_file = fine_tune.training_file if fine_tune.training_file else None
323
- validation_file = (
324
- fine_tune.validation_file if fine_tune.validation_file else None
325
- )
326
- for file, prefix, artifact_type in (
327
- (training_file, "train", "training_files"),
328
- (validation_file, "valid", "validation_files"),
329
- ):
330
- if file is not None:
331
- cls._log_artifact_inputs(file, prefix, artifact_type, project, entity)
345
+ if log_datasets:
346
+ wandb.termlog("Logging training/validation files...")
347
+ # training/validation files
348
+ training_file = fine_tune.training_file if fine_tune.training_file else None
349
+ validation_file = (
350
+ fine_tune.validation_file if fine_tune.validation_file else None
351
+ )
352
+ for file, prefix, artifact_type in (
353
+ (training_file, "train", "training_files"),
354
+ (validation_file, "valid", "validation_files"),
355
+ ):
356
+ if file is not None:
357
+ cls._log_artifact_inputs(
358
+ file, prefix, artifact_type, project, entity, overwrite
359
+ )
332
360
 
333
361
  # fine-tune details
334
362
  fine_tune_id = fine_tune.id
@@ -337,9 +365,14 @@ class WandbLogger:
337
365
  type="model",
338
366
  metadata=dict(fine_tune),
339
367
  )
368
+
340
369
  with artifact.new_file("model_metadata.json", mode="w", encoding="utf-8") as f:
341
370
  dict_fine_tune = dict(fine_tune)
342
- dict_fine_tune["hyperparameters"] = dict(dict_fine_tune["hyperparameters"])
371
+ dict_fine_tune["hyperparameters"] = cls.sanitize(
372
+ dict_fine_tune["hyperparameters"]
373
+ )
374
+ dict_fine_tune["error"] = cls.sanitize(dict_fine_tune["error"])
375
+ dict_fine_tune = cls.sanitize(dict_fine_tune)
343
376
  json.dump(dict_fine_tune, f, indent=2)
344
377
  cls._run.log_artifact(
345
378
  artifact,
@@ -354,6 +387,7 @@ class WandbLogger:
354
387
  artifact_type: str,
355
388
  project: str,
356
389
  entity: Optional[str],
390
+ overwrite: bool,
357
391
  ) -> None:
358
392
  # get input artifact
359
393
  artifact_name = f"{prefix}-{file_id}"
@@ -366,23 +400,26 @@ class WandbLogger:
366
400
  artifact = cls._get_wandb_artifact(artifact_path)
367
401
 
368
402
  # create artifact if file not already logged previously
369
- if artifact is None:
403
+ if artifact is None or overwrite:
370
404
  # get file content
371
405
  try:
372
- file_content = cls.openai_client.files.retrieve_content(file_id=file_id)
406
+ file_content = cls.openai_client.files.content(file_id=file_id)
373
407
  except openai.NotFoundError:
374
408
  wandb.termerror(
375
- f"File {file_id} could not be retrieved. Make sure you are allowed to download training/validation files"
409
+ f"File {file_id} could not be retrieved. Make sure you have OpenAI permissions to download training/validation files"
376
410
  )
377
411
  return
378
412
 
379
413
  artifact = wandb.Artifact(artifact_name, type=artifact_type)
380
- with artifact.new_file(file_id, mode="w", encoding="utf-8") as f:
381
- f.write(file_content)
414
+ with tempfile.NamedTemporaryFile(delete=False) as tmp_file:
415
+ tmp_file.write(file_content.content)
416
+ tmp_file_path = tmp_file.name
417
+ artifact.add_file(tmp_file_path, file_id)
418
+ os.unlink(tmp_file_path)
382
419
 
383
420
  # create a Table
384
421
  try:
385
- table, n_items = cls._make_table(file_content)
422
+ table, n_items = cls._make_table(file_content.text)
386
423
  # Add table to the artifact.
387
424
  artifact.add(table, file_id)
388
425
  # Add the same table to the workspace.
@@ -390,9 +427,9 @@ class WandbLogger:
390
427
  # Update the run config and artifact metadata
391
428
  cls._run.config.update({f"n_{prefix}": n_items})
392
429
  artifact.metadata["items"] = n_items
393
- except Exception:
430
+ except Exception as e:
394
431
  wandb.termerror(
395
- f"File {file_id} could not be read as a valid JSON file"
432
+ f"Issue saving {file_id} as a Table to Artifacts, exception:\n '{e}'"
396
433
  )
397
434
  else:
398
435
  # log number of items
@@ -321,7 +321,6 @@ class WandBUltralyticsCallback:
321
321
  )
322
322
  if self.enable_model_checkpointing:
323
323
  self._save_model(trainer)
324
- self.model.to("cpu")
325
324
  trainer.model.to(self.device)
326
325
 
327
326
  def on_train_end(self, trainer: TRAINER_TYPE):