wandb 0.16.3__tar.gz → 0.16.5__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (857) hide show
  1. {wandb-0.16.3/wandb.egg-info → wandb-0.16.5}/PKG-INFO +8 -1
  2. {wandb-0.16.3 → wandb-0.16.5}/pyproject.toml +4 -1
  3. {wandb-0.16.3 → wandb-0.16.5}/wandb/__init__.py +2 -2
  4. {wandb-0.16.3 → wandb-0.16.5}/wandb/agents/pyagent.py +1 -1
  5. wandb-0.16.5/wandb/apis/importers/__init__.py +1 -0
  6. wandb-0.16.5/wandb/apis/importers/internals/internal.py +386 -0
  7. wandb-0.16.5/wandb/apis/importers/internals/protocols.py +125 -0
  8. wandb-0.16.5/wandb/apis/importers/internals/util.py +78 -0
  9. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/importers/mlflow.py +125 -88
  10. wandb-0.16.5/wandb/apis/importers/validation.py +108 -0
  11. wandb-0.16.5/wandb/apis/importers/wandb.py +1604 -0
  12. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/api.py +7 -10
  13. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/artifacts.py +38 -0
  14. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/files.py +11 -2
  15. wandb-0.16.5/wandb/apis/reports/v2/__init__.py +20 -0
  16. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v2/expr_parsing.py +0 -1
  17. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v2/interface.py +15 -18
  18. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v2/internal.py +12 -45
  19. {wandb-0.16.3 → wandb-0.16.5}/wandb/cli/cli.py +52 -55
  20. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/gym/__init__.py +2 -1
  21. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/keras/callbacks/model_checkpoint.py +1 -1
  22. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/keras/keras.py +6 -4
  23. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/kfp/kfp_patch.py +2 -2
  24. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/openai/fine_tuning.py +1 -2
  25. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/ultralytics/callback.py +0 -1
  26. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v3/wandb_internal_pb2.py +332 -312
  27. wandb-0.16.5/wandb/proto/v3/wandb_settings_pb2.py +111 -0
  28. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v3/wandb_telemetry_pb2.py +10 -10
  29. wandb-0.16.5/wandb/proto/v4/wandb_internal_pb2.py +348 -0
  30. wandb-0.16.5/wandb/proto/v4/wandb_settings_pb2.py +44 -0
  31. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v4/wandb_telemetry_pb2.py +10 -10
  32. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact.py +75 -31
  33. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_manifest.py +5 -2
  34. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_manifest_entry.py +6 -1
  35. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py +8 -2
  36. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_saver.py +19 -47
  37. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handler.py +2 -1
  38. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +22 -9
  39. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_policy.py +4 -1
  40. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/base_types/wb_value.py +1 -1
  41. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/image.py +2 -2
  42. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/interface.py +49 -13
  43. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/interface_shared.py +17 -11
  44. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/file_stream.py +20 -1
  45. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/handler.py +1 -4
  46. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/internal_api.py +3 -1
  47. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/job_builder.py +49 -19
  48. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/profiler.py +1 -1
  49. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/sender.py +96 -124
  50. wandb-0.16.5/wandb/sdk/internal/sender_config.py +197 -0
  51. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/settings_static.py +9 -0
  52. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/system_info.py +5 -3
  53. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/update.py +1 -1
  54. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/_launch.py +3 -3
  55. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/_launch_add.py +28 -29
  56. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/_project_spec.py +148 -136
  57. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/agent/agent.py +3 -7
  58. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/agent/config.py +0 -27
  59. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/builder/build.py +54 -28
  60. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/builder/docker_builder.py +4 -15
  61. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/builder/kaniko_builder.py +72 -45
  62. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/create_job.py +6 -40
  63. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/loader.py +10 -0
  64. wandb-0.16.5/wandb/sdk/launch/registry/anon.py +29 -0
  65. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/registry/local_registry.py +4 -1
  66. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/kubernetes_runner.py +20 -2
  67. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/local_container.py +15 -10
  68. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/sagemaker_runner.py +1 -1
  69. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/sweeps/scheduler.py +11 -3
  70. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/utils.py +14 -0
  71. wandb-0.16.5/wandb/sdk/lib/__init__.py +5 -0
  72. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/_settings_toposort_generated.py +4 -1
  73. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/apikey.py +0 -5
  74. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/config_util.py +0 -31
  75. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/filesystem.py +11 -1
  76. wandb-0.16.5/wandb/sdk/lib/run_moment.py +72 -0
  77. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/service.py +7 -2
  78. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/streams.py +1 -6
  79. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/verify/verify.py +2 -1
  80. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_init.py +12 -1
  81. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_login.py +43 -26
  82. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_run.py +164 -110
  83. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_settings.py +58 -16
  84. {wandb-0.16.3 → wandb-0.16.5}/wandb/testing/relay.py +5 -6
  85. {wandb-0.16.3 → wandb-0.16.5}/wandb/util.py +50 -7
  86. {wandb-0.16.3 → wandb-0.16.5/wandb.egg-info}/PKG-INFO +8 -1
  87. {wandb-0.16.3 → wandb-0.16.5}/wandb.egg-info/SOURCES.txt +8 -1
  88. {wandb-0.16.3 → wandb-0.16.5}/wandb.egg-info/requires.txt +8 -0
  89. wandb-0.16.3/wandb/apis/importers/__init__.py +0 -4
  90. wandb-0.16.3/wandb/apis/importers/base.py +0 -400
  91. wandb-0.16.3/wandb/apis/reports/v2/__init__.py +0 -39
  92. wandb-0.16.3/wandb/proto/v3/wandb_settings_pb2.py +0 -101
  93. wandb-0.16.3/wandb/proto/v4/wandb_internal_pb2.py +0 -344
  94. wandb-0.16.3/wandb/proto/v4/wandb_settings_pb2.py +0 -42
  95. wandb-0.16.3/wandb/sdk/lib/__init__.py +0 -8
  96. {wandb-0.16.3 → wandb-0.16.5}/LICENSE +0 -0
  97. {wandb-0.16.3 → wandb-0.16.5}/MANIFEST.in +0 -0
  98. {wandb-0.16.3 → wandb-0.16.5}/README.md +0 -0
  99. {wandb-0.16.3 → wandb-0.16.5}/package_readme.md +0 -0
  100. {wandb-0.16.3 → wandb-0.16.5}/setup.cfg +0 -0
  101. {wandb-0.16.3 → wandb-0.16.5}/setup.py +0 -0
  102. {wandb-0.16.3 → wandb-0.16.5}/wandb/__main__.py +0 -0
  103. {wandb-0.16.3 → wandb-0.16.5}/wandb/_globals.py +0 -0
  104. {wandb-0.16.3 → wandb-0.16.5}/wandb/agents/__init__.py +0 -0
  105. {wandb-0.16.3 → wandb-0.16.5}/wandb/analytics/__init__.py +0 -0
  106. {wandb-0.16.3 → wandb-0.16.5}/wandb/analytics/sentry.py +0 -0
  107. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/__init__.py +0 -0
  108. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/attrs.py +0 -0
  109. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/internal.py +0 -0
  110. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/normalize.py +0 -0
  111. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/paginator.py +0 -0
  112. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/__init__.py +0 -0
  113. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/const.py +0 -0
  114. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/history.py +0 -0
  115. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/jobs.py +0 -0
  116. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/projects.py +0 -0
  117. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/query_generator.py +0 -0
  118. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/reports.py +0 -0
  119. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/runs.py +0 -0
  120. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/sweeps.py +0 -0
  121. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/teams.py +0 -0
  122. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/public/users.py +0 -0
  123. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/__init__.py +0 -0
  124. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/__init__.py +0 -0
  125. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/_blocks.py +0 -0
  126. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/_helpers.py +0 -0
  127. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/_panels.py +0 -0
  128. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/_templates.py +0 -0
  129. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/blocks.py +0 -0
  130. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/helpers.py +0 -0
  131. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/mutations.py +0 -0
  132. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/panels.py +0 -0
  133. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/report.py +0 -0
  134. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/runset.py +0 -0
  135. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/templates.py +0 -0
  136. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/util.py +0 -0
  137. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v1/validators.py +0 -0
  138. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v2/blocks.py +0 -0
  139. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v2/gql.py +0 -0
  140. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v2/metrics.py +0 -0
  141. {wandb-0.16.3 → wandb-0.16.5}/wandb/apis/reports/v2/panels.py +0 -0
  142. {wandb-0.16.3 → wandb-0.16.5}/wandb/beta/workflows.py +0 -0
  143. {wandb-0.16.3 → wandb-0.16.5}/wandb/bin/apple_gpu_stats +0 -0
  144. {wandb-0.16.3 → wandb-0.16.5}/wandb/catboost/__init__.py +0 -0
  145. {wandb-0.16.3 → wandb-0.16.5}/wandb/cli/__init__.py +0 -0
  146. {wandb-0.16.3 → wandb-0.16.5}/wandb/data_types.py +0 -0
  147. {wandb-0.16.3 → wandb-0.16.5}/wandb/docker/__init__.py +0 -0
  148. {wandb-0.16.3 → wandb-0.16.5}/wandb/docker/auth.py +0 -0
  149. {wandb-0.16.3 → wandb-0.16.5}/wandb/docker/wandb-entrypoint.sh +0 -0
  150. {wandb-0.16.3 → wandb-0.16.5}/wandb/docker/www_authenticate.py +0 -0
  151. {wandb-0.16.3 → wandb-0.16.5}/wandb/env.py +0 -0
  152. {wandb-0.16.3 → wandb-0.16.5}/wandb/errors/__init__.py +0 -0
  153. {wandb-0.16.3 → wandb-0.16.5}/wandb/errors/term.py +0 -0
  154. {wandb-0.16.3 → wandb-0.16.5}/wandb/errors/util.py +0 -0
  155. {wandb-0.16.3 → wandb-0.16.5}/wandb/fastai/__init__.py +0 -0
  156. {wandb-0.16.3 → wandb-0.16.5}/wandb/filesync/__init__.py +0 -0
  157. {wandb-0.16.3 → wandb-0.16.5}/wandb/filesync/dir_watcher.py +0 -0
  158. {wandb-0.16.3 → wandb-0.16.5}/wandb/filesync/stats.py +0 -0
  159. {wandb-0.16.3 → wandb-0.16.5}/wandb/filesync/step_checksum.py +0 -0
  160. {wandb-0.16.3 → wandb-0.16.5}/wandb/filesync/step_prepare.py +0 -0
  161. {wandb-0.16.3 → wandb-0.16.5}/wandb/filesync/step_upload.py +0 -0
  162. {wandb-0.16.3 → wandb-0.16.5}/wandb/filesync/upload_job.py +0 -0
  163. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/__init__.py +0 -0
  164. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/catboost/__init__.py +0 -0
  165. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/catboost/catboost.py +0 -0
  166. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/cohere/__init__.py +0 -0
  167. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/cohere/cohere.py +0 -0
  168. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/cohere/resolver.py +0 -0
  169. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/diffusers/__init__.py +0 -0
  170. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/diffusers/autologger.py +0 -0
  171. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/diffusers/pipeline_resolver.py +0 -0
  172. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/diffusers/resolvers/__init__.py +0 -0
  173. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/diffusers/resolvers/multimodal.py +0 -0
  174. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/diffusers/resolvers/utils.py +0 -0
  175. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/fastai/__init__.py +0 -0
  176. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/huggingface/__init__.py +0 -0
  177. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/huggingface/huggingface.py +0 -0
  178. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/huggingface/resolver.py +0 -0
  179. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/keras/__init__.py +0 -0
  180. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/keras/callbacks/__init__.py +0 -0
  181. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/keras/callbacks/metrics_logger.py +0 -0
  182. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/keras/callbacks/tables_builder.py +0 -0
  183. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/kfp/__init__.py +0 -0
  184. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/kfp/helpers.py +0 -0
  185. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/kfp/wandb_logging.py +0 -0
  186. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/langchain/__init__.py +0 -0
  187. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/langchain/wandb_tracer.py +0 -0
  188. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/lightgbm/__init__.py +0 -0
  189. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/lightning/__init__.py +0 -0
  190. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/lightning/fabric/__init__.py +0 -0
  191. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/lightning/fabric/logger.py +0 -0
  192. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/magic.py +0 -0
  193. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/metaflow/__init__.py +0 -0
  194. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/metaflow/metaflow.py +0 -0
  195. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/openai/__init__.py +0 -0
  196. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/openai/openai.py +0 -0
  197. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/openai/resolver.py +0 -0
  198. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/prodigy/__init__.py +0 -0
  199. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/prodigy/prodigy.py +0 -0
  200. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sacred/__init__.py +0 -0
  201. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sagemaker/__init__.py +0 -0
  202. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sagemaker/auth.py +0 -0
  203. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sagemaker/config.py +0 -0
  204. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sagemaker/files.py +0 -0
  205. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sagemaker/resources.py +0 -0
  206. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sb3/__init__.py +0 -0
  207. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/sb3/sb3.py +0 -0
  208. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/tensorboard/__init__.py +0 -0
  209. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/tensorboard/log.py +0 -0
  210. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/tensorboard/monkeypatch.py +0 -0
  211. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/tensorflow/__init__.py +0 -0
  212. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/tensorflow/estimator_hook.py +0 -0
  213. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/torch/__init__.py +0 -0
  214. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/ultralytics/__init__.py +0 -0
  215. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/ultralytics/bbox_utils.py +0 -0
  216. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/ultralytics/classification_utils.py +0 -0
  217. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/ultralytics/mask_utils.py +0 -0
  218. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/ultralytics/pose_utils.py +0 -0
  219. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/xgboost/__init__.py +0 -0
  220. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/xgboost/xgboost.py +0 -0
  221. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/yolov8/__init__.py +0 -0
  222. {wandb-0.16.3 → wandb-0.16.5}/wandb/integration/yolov8/yolov8.py +0 -0
  223. {wandb-0.16.3 → wandb-0.16.5}/wandb/jupyter.py +0 -0
  224. {wandb-0.16.3 → wandb-0.16.5}/wandb/keras/__init__.py +0 -0
  225. {wandb-0.16.3 → wandb-0.16.5}/wandb/lightgbm/__init__.py +0 -0
  226. {wandb-0.16.3 → wandb-0.16.5}/wandb/magic.py +0 -0
  227. {wandb-0.16.3 → wandb-0.16.5}/wandb/mpmain/__init__.py +0 -0
  228. {wandb-0.16.3 → wandb-0.16.5}/wandb/mpmain/__main__.py +0 -0
  229. {wandb-0.16.3 → wandb-0.16.5}/wandb/old/__init__.py +0 -0
  230. {wandb-0.16.3 → wandb-0.16.5}/wandb/old/core.py +0 -0
  231. {wandb-0.16.3 → wandb-0.16.5}/wandb/old/settings.py +0 -0
  232. {wandb-0.16.3 → wandb-0.16.5}/wandb/old/summary.py +0 -0
  233. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/__init__.py +0 -0
  234. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/bar.py +0 -0
  235. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/confusion_matrix.py +0 -0
  236. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/histogram.py +0 -0
  237. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/line.py +0 -0
  238. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/line_series.py +0 -0
  239. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/pr_curve.py +0 -0
  240. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/roc_curve.py +0 -0
  241. {wandb-0.16.3 → wandb-0.16.5}/wandb/plot/scatter.py +0 -0
  242. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/__init__.py +0 -0
  243. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/explain_text.py +0 -0
  244. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/heatmap.py +0 -0
  245. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/named_entity.py +0 -0
  246. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/part_of_speech.py +0 -0
  247. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/plot_definitions.py +0 -0
  248. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/precision_recall.py +0 -0
  249. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/roc.py +0 -0
  250. {wandb-0.16.3 → wandb-0.16.5}/wandb/plots/utils.py +0 -0
  251. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/__init__.py +0 -0
  252. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v3/__init__.py +0 -0
  253. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v3/wandb_base_pb2.py +0 -0
  254. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v3/wandb_server_pb2.py +0 -0
  255. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v4/__init__.py +0 -0
  256. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v4/wandb_base_pb2.py +0 -0
  257. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/v4/wandb_server_pb2.py +0 -0
  258. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/wandb_base_pb2.py +0 -0
  259. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/wandb_deprecated.py +0 -0
  260. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/wandb_internal_codegen.py +0 -0
  261. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/wandb_internal_pb2.py +0 -0
  262. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/wandb_server_pb2.py +0 -0
  263. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/wandb_settings_pb2.py +0 -0
  264. {wandb-0.16.3 → wandb-0.16.5}/wandb/proto/wandb_telemetry_pb2.py +0 -0
  265. {wandb-0.16.3 → wandb-0.16.5}/wandb/py.typed +0 -0
  266. {wandb-0.16.3 → wandb-0.16.5}/wandb/sacred/__init__.py +0 -0
  267. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/__init__.py +0 -0
  268. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/__init__.py +0 -0
  269. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_download_logger.py +0 -0
  270. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_file_cache.py +0 -0
  271. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_instance_cache.py +0 -0
  272. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_manifests/__init__.py +0 -0
  273. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_state.py +0 -0
  274. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/artifact_ttl.py +0 -0
  275. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/exceptions.py +0 -0
  276. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/staging.py +0 -0
  277. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/__init__.py +0 -0
  278. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/azure_handler.py +0 -0
  279. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/gcs_handler.py +0 -0
  280. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/http_handler.py +0 -0
  281. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/local_file_handler.py +0 -0
  282. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/multi_handler.py +0 -0
  283. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/s3_handler.py +0 -0
  284. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/tracking_handler.py +0 -0
  285. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py +0 -0
  286. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py +0 -0
  287. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_layout.py +0 -0
  288. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_policies/__init__.py +0 -0
  289. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/artifacts/storage_policies/register.py +0 -0
  290. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/backend/__init__.py +0 -0
  291. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/backend/backend.py +0 -0
  292. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/__init__.py +0 -0
  293. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/_dtypes.py +0 -0
  294. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/_private.py +0 -0
  295. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/base_types/__init__.py +0 -0
  296. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/base_types/json_metadata.py +0 -0
  297. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/base_types/media.py +0 -0
  298. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/helper_types/__init__.py +0 -0
  299. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/helper_types/bounding_boxes_2d.py +0 -0
  300. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/helper_types/classes.py +0 -0
  301. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/helper_types/image_mask.py +0 -0
  302. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/histogram.py +0 -0
  303. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/html.py +0 -0
  304. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/molecule.py +0 -0
  305. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/object_3d.py +0 -0
  306. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/plotly.py +0 -0
  307. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/saved_model.py +0 -0
  308. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/trace_tree.py +0 -0
  309. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/utils.py +0 -0
  310. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/data_types/video.py +0 -0
  311. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/integration_utils/__init__.py +0 -0
  312. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/integration_utils/auto_logging.py +0 -0
  313. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/integration_utils/data_logging.py +0 -0
  314. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/__init__.py +0 -0
  315. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/constants.py +0 -0
  316. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/interface_queue.py +0 -0
  317. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/interface_relay.py +0 -0
  318. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/interface_sock.py +0 -0
  319. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/message_future.py +0 -0
  320. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/message_future_poll.py +0 -0
  321. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/router.py +0 -0
  322. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/router_queue.py +0 -0
  323. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/router_relay.py +0 -0
  324. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/router_sock.py +0 -0
  325. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/interface/summary_record.py +0 -0
  326. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/__init__.py +0 -0
  327. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/context.py +0 -0
  328. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/datastore.py +0 -0
  329. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/file_pusher.py +0 -0
  330. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/flow_control.py +0 -0
  331. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/internal.py +0 -0
  332. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/internal_util.py +0 -0
  333. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/progress.py +0 -0
  334. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/run.py +0 -0
  335. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/sample.py +0 -0
  336. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/__init__.py +0 -0
  337. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/__init__.py +0 -0
  338. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/aggregators.py +0 -0
  339. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/asset_registry.py +0 -0
  340. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/cpu.py +0 -0
  341. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/disk.py +0 -0
  342. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/gpu.py +0 -0
  343. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/gpu_amd.py +0 -0
  344. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/gpu_apple.py +0 -0
  345. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/interfaces.py +0 -0
  346. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/ipu.py +0 -0
  347. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/memory.py +0 -0
  348. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/network.py +0 -0
  349. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/open_metrics.py +0 -0
  350. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/tpu.py +0 -0
  351. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/assets/trainium.py +0 -0
  352. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/env_probe_helpers.py +0 -0
  353. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/system/system_monitor.py +0 -0
  354. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/tb_watcher.py +0 -0
  355. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/thread_local_settings.py +0 -0
  356. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/internal/writer.py +0 -0
  357. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/__init__.py +0 -0
  358. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/agent/__init__.py +0 -0
  359. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/agent/job_status_tracker.py +0 -0
  360. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/agent/run_queue_item_file_saver.py +0 -0
  361. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/builder/__init__.py +0 -0
  362. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/builder/abstract.py +0 -0
  363. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/builder/noop.py +0 -0
  364. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/builder/templates/_wandb_bootstrap.py +0 -0
  365. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/environment/abstract.py +0 -0
  366. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/environment/aws_environment.py +0 -0
  367. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/environment/azure_environment.py +0 -0
  368. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/environment/gcp_environment.py +0 -0
  369. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/environment/local_environment.py +0 -0
  370. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/errors.py +0 -0
  371. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/git_reference.py +0 -0
  372. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/registry/abstract.py +0 -0
  373. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/registry/azure_container_registry.py +0 -0
  374. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/registry/elastic_container_registry.py +0 -0
  375. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/registry/google_artifact_registry.py +0 -0
  376. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/__init__.py +0 -0
  377. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/abstract.py +0 -0
  378. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/kubernetes_monitor.py +0 -0
  379. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/local_process.py +0 -0
  380. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/runner/vertex_runner.py +0 -0
  381. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/sweeps/__init__.py +0 -0
  382. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/sweeps/scheduler_sweep.py +0 -0
  383. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/sweeps/utils.py +0 -0
  384. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/launch/wandb_reference.py +0 -0
  385. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/_settings_toposort_generate.py +0 -0
  386. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/_wburls_generate.py +0 -0
  387. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/_wburls_generated.py +0 -0
  388. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/capped_dict.py +0 -0
  389. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/console.py +0 -0
  390. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/deprecate.py +0 -0
  391. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/disabled.py +0 -0
  392. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/exit_hooks.py +0 -0
  393. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/file_stream_utils.py +0 -0
  394. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/filenames.py +0 -0
  395. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/fsm.py +0 -0
  396. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/gitlib.py +0 -0
  397. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/gql_request.py +0 -0
  398. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/handler_util.py +0 -0
  399. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/hashutil.py +0 -0
  400. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/import_hooks.py +0 -0
  401. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/ipython.py +0 -0
  402. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/json_util.py +0 -0
  403. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/lazyloader.py +0 -0
  404. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/mailbox.py +0 -0
  405. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/module.py +0 -0
  406. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/paths.py +0 -0
  407. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/preinit.py +0 -0
  408. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/printer.py +0 -0
  409. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/proto_util.py +0 -0
  410. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/redirect.py +0 -0
  411. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/reporting.py +0 -0
  412. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/retry.py +0 -0
  413. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/runid.py +0 -0
  414. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/server.py +0 -0
  415. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/sock_client.py +0 -0
  416. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/sparkline.py +0 -0
  417. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/telemetry.py +0 -0
  418. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/timed_input.py +0 -0
  419. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/timer.py +0 -0
  420. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/tracelog.py +0 -0
  421. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/lib/wburls.py +0 -0
  422. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/__init__.py +0 -0
  423. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/_startup_debug.py +0 -0
  424. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/port_file.py +0 -0
  425. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/server.py +0 -0
  426. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/server_sock.py +0 -0
  427. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/service_base.py +0 -0
  428. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/service/service_sock.py +0 -0
  429. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/verify/__init__.py +0 -0
  430. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_alerts.py +0 -0
  431. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_config.py +0 -0
  432. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_helper.py +0 -0
  433. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_manager.py +0 -0
  434. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_metric.py +0 -0
  435. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_require.py +0 -0
  436. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_require_helpers.py +0 -0
  437. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_setup.py +0 -0
  438. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_summary.py +0 -0
  439. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_sweep.py +0 -0
  440. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_sync.py +0 -0
  441. {wandb-0.16.3 → wandb-0.16.5}/wandb/sdk/wandb_watch.py +0 -0
  442. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/__init__.py +0 -0
  443. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/__init__.py +0 -0
  444. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/calibration_curves.py +0 -0
  445. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/class_proportions.py +0 -0
  446. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/confusion_matrix.py +0 -0
  447. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/decision_boundaries.py +0 -0
  448. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/elbow_curve.py +0 -0
  449. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/feature_importances.py +0 -0
  450. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/learning_curve.py +0 -0
  451. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/outlier_candidates.py +0 -0
  452. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/residuals.py +0 -0
  453. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/silhouette.py +0 -0
  454. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/calculate/summary_metrics.py +0 -0
  455. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/plot/__init__.py +0 -0
  456. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/plot/classifier.py +0 -0
  457. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/plot/clusterer.py +0 -0
  458. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/plot/regressor.py +0 -0
  459. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/plot/shared.py +0 -0
  460. {wandb-0.16.3 → wandb-0.16.5}/wandb/sklearn/utils.py +0 -0
  461. {wandb-0.16.3 → wandb-0.16.5}/wandb/sync/__init__.py +0 -0
  462. {wandb-0.16.3 → wandb-0.16.5}/wandb/sync/sync.py +0 -0
  463. {wandb-0.16.3 → wandb-0.16.5}/wandb/trigger.py +0 -0
  464. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/__init__.py +0 -0
  465. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/setup.py +0 -0
  466. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/__init__.py +0 -0
  467. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/starwars/__init__.py +0 -0
  468. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/starwars/fixtures.py +0 -0
  469. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/starwars/schema.py +0 -0
  470. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/starwars/test_dsl.py +0 -0
  471. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/starwars/test_query.py +0 -0
  472. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/starwars/test_validation.py +0 -0
  473. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/test_client.py +0 -0
  474. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/tests/test_transport.py +0 -0
  475. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/__init__.py +0 -0
  476. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/client.py +0 -0
  477. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/dsl.py +0 -0
  478. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/gql.py +0 -0
  479. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/transport/__init__.py +0 -0
  480. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/transport/http.py +0 -0
  481. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/transport/local_schema.py +0 -0
  482. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/transport/requests.py +0 -0
  483. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/gql-0.2.0/wandb_gql/utils.py +0 -0
  484. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/setup.py +0 -0
  485. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/__init__.py +0 -0
  486. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/__init__.py +0 -0
  487. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/base.py +0 -0
  488. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/format_error.py +0 -0
  489. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/located_error.py +0 -0
  490. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/error/syntax_error.py +0 -0
  491. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/__init__.py +0 -0
  492. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/base.py +0 -0
  493. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executor.py +0 -0
  494. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/__init__.py +0 -0
  495. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/asyncio.py +0 -0
  496. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/gevent.py +0 -0
  497. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/process.py +0 -0
  498. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/sync.py +0 -0
  499. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/thread.py +0 -0
  500. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/utils.py +0 -0
  501. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/__init__.py +0 -0
  502. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/executor.py +0 -0
  503. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/fragment.py +0 -0
  504. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/resolver.py +0 -0
  505. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/utils.py +0 -0
  506. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/middleware.py +0 -0
  507. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/execution/values.py +0 -0
  508. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/graphql.py +0 -0
  509. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/__init__.py +0 -0
  510. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/ast.py +0 -0
  511. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/base.py +0 -0
  512. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/lexer.py +0 -0
  513. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/location.py +0 -0
  514. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/parser.py +0 -0
  515. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/printer.py +0 -0
  516. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/source.py +0 -0
  517. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/visitor.py +0 -0
  518. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/language/visitor_meta.py +0 -0
  519. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/__init__.py +0 -0
  520. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/cached_property.py +0 -0
  521. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/contain_subset.py +0 -0
  522. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/default_ordered_dict.py +0 -0
  523. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/ordereddict.py +0 -0
  524. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/pair_set.py +0 -0
  525. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/version.py +0 -0
  526. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/__init__.py +0 -0
  527. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/definition.py +0 -0
  528. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/directives.py +0 -0
  529. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/introspection.py +0 -0
  530. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/scalars.py +0 -0
  531. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/schema.py +0 -0
  532. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/type/typemap.py +0 -0
  533. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/__init__.py +0 -0
  534. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/assert_valid_name.py +0 -0
  535. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_from_value.py +0 -0
  536. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_to_code.py +0 -0
  537. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_to_dict.py +0 -0
  538. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/base.py +0 -0
  539. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/build_ast_schema.py +0 -0
  540. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/build_client_schema.py +0 -0
  541. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/concat_ast.py +0 -0
  542. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/extend_schema.py +0 -0
  543. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/get_field_def.py +0 -0
  544. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/get_operation_ast.py +0 -0
  545. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/introspection_query.py +0 -0
  546. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/is_valid_literal_value.py +0 -0
  547. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/is_valid_value.py +0 -0
  548. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/quoted_or_list.py +0 -0
  549. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/schema_printer.py +0 -0
  550. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/suggestion_list.py +0 -0
  551. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_comparators.py +0 -0
  552. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_from_ast.py +0 -0
  553. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_info.py +0 -0
  554. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/utils/value_from_ast.py +0 -0
  555. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/__init__.py +0 -0
  556. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/__init__.py +0 -0
  557. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/arguments_of_correct_type.py +0 -0
  558. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/base.py +0 -0
  559. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/default_values_of_correct_type.py +0 -0
  560. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/fields_on_correct_type.py +0 -0
  561. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/fragments_on_composite_types.py +0 -0
  562. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_argument_names.py +0 -0
  563. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_directives.py +0 -0
  564. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_fragment_names.py +0 -0
  565. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_type_names.py +0 -0
  566. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/lone_anonymous_operation.py +0 -0
  567. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_fragment_cycles.py +0 -0
  568. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_undefined_variables.py +0 -0
  569. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_unused_fragments.py +0 -0
  570. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_unused_variables.py +0 -0
  571. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/overlapping_fields_can_be_merged.py +0 -0
  572. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/possible_fragment_spreads.py +0 -0
  573. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/provided_non_null_arguments.py +0 -0
  574. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/scalar_leafs.py +0 -0
  575. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_argument_names.py +0 -0
  576. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_fragment_names.py +0 -0
  577. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_input_field_names.py +0 -0
  578. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_operation_names.py +0 -0
  579. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_variable_names.py +0 -0
  580. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/variables_are_input_types.py +0 -0
  581. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/variables_in_allowed_position.py +0 -0
  582. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/validation.py +0 -0
  583. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/conftest.py +0 -0
  584. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/setup.py +0 -0
  585. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/__init__.py +0 -0
  586. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/conftest.py +0 -0
  587. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_awaitable.py +0 -0
  588. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_awaitable_35.py +0 -0
  589. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_benchmark.py +0 -0
  590. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_complex_threads.py +0 -0
  591. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_dataloader.py +0 -0
  592. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_dataloader_awaitable_35.py +0 -0
  593. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_dataloader_extra.py +0 -0
  594. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_extra.py +0 -0
  595. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_issues.py +0 -0
  596. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_promise_list.py +0 -0
  597. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_spec.py +0 -0
  598. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/test_thread_safety.py +0 -0
  599. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/tests/utils.py +0 -0
  600. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/__init__.py +0 -0
  601. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/async_.py +0 -0
  602. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/compat.py +0 -0
  603. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/dataloader.py +0 -0
  604. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/iterate_promise.py +0 -0
  605. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/promise.py +0 -0
  606. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/promise_list.py +0 -0
  607. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/pyutils/__init__.py +0 -0
  608. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/pyutils/version.py +0 -0
  609. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/__init__.py +0 -0
  610. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/asyncio.py +0 -0
  611. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/gevent.py +0 -0
  612. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/immediate.py +0 -0
  613. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/schedulers/thread.py +0 -0
  614. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/promise-2.3.0/wandb_promise/utils.py +0 -0
  615. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/__init__.py +0 -0
  616. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/cmdline.py +0 -0
  617. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/console.py +0 -0
  618. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/filter.py +0 -0
  619. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/filters/__init__.py +0 -0
  620. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatter.py +0 -0
  621. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/__init__.py +0 -0
  622. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/_mapping.py +0 -0
  623. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/bbcode.py +0 -0
  624. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/html.py +0 -0
  625. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/img.py +0 -0
  626. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/irc.py +0 -0
  627. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/latex.py +0 -0
  628. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/other.py +0 -0
  629. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/rtf.py +0 -0
  630. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/svg.py +0 -0
  631. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/terminal.py +0 -0
  632. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/formatters/terminal256.py +0 -0
  633. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexer.py +0 -0
  634. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/__init__.py +0 -0
  635. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_asy_builtins.py +0 -0
  636. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_cl_builtins.py +0 -0
  637. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_cocoa_builtins.py +0 -0
  638. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_csound_builtins.py +0 -0
  639. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_lasso_builtins.py +0 -0
  640. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_lua_builtins.py +0 -0
  641. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_mapping.py +0 -0
  642. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_mql_builtins.py +0 -0
  643. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_openedge_builtins.py +0 -0
  644. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_php_builtins.py +0 -0
  645. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_postgres_builtins.py +0 -0
  646. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_scilab_builtins.py +0 -0
  647. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_sourcemod_builtins.py +0 -0
  648. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_stan_builtins.py +0 -0
  649. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_stata_builtins.py +0 -0
  650. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_tsql_builtins.py +0 -0
  651. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/_vim_builtins.py +0 -0
  652. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/actionscript.py +0 -0
  653. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/agile.py +0 -0
  654. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/algebra.py +0 -0
  655. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ambient.py +0 -0
  656. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ampl.py +0 -0
  657. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/apl.py +0 -0
  658. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/archetype.py +0 -0
  659. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/asm.py +0 -0
  660. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/automation.py +0 -0
  661. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/basic.py +0 -0
  662. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/bibtex.py +0 -0
  663. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/business.py +0 -0
  664. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/c_cpp.py +0 -0
  665. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/c_like.py +0 -0
  666. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/capnproto.py +0 -0
  667. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/chapel.py +0 -0
  668. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/clean.py +0 -0
  669. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/compiled.py +0 -0
  670. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/configs.py +0 -0
  671. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/console.py +0 -0
  672. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/crystal.py +0 -0
  673. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/csound.py +0 -0
  674. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/css.py +0 -0
  675. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/d.py +0 -0
  676. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/dalvik.py +0 -0
  677. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/data.py +0 -0
  678. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/diff.py +0 -0
  679. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/dotnet.py +0 -0
  680. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/dsls.py +0 -0
  681. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/dylan.py +0 -0
  682. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ecl.py +0 -0
  683. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/eiffel.py +0 -0
  684. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/elm.py +0 -0
  685. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/erlang.py +0 -0
  686. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/esoteric.py +0 -0
  687. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ezhil.py +0 -0
  688. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/factor.py +0 -0
  689. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/fantom.py +0 -0
  690. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/felix.py +0 -0
  691. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/forth.py +0 -0
  692. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/fortran.py +0 -0
  693. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/foxpro.py +0 -0
  694. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/functional.py +0 -0
  695. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/go.py +0 -0
  696. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/grammar_notation.py +0 -0
  697. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/graph.py +0 -0
  698. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/graphics.py +0 -0
  699. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/haskell.py +0 -0
  700. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/haxe.py +0 -0
  701. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/hdl.py +0 -0
  702. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/hexdump.py +0 -0
  703. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/html.py +0 -0
  704. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/idl.py +0 -0
  705. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/igor.py +0 -0
  706. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/inferno.py +0 -0
  707. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/installers.py +0 -0
  708. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/int_fiction.py +0 -0
  709. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/iolang.py +0 -0
  710. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/j.py +0 -0
  711. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/javascript.py +0 -0
  712. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/julia.py +0 -0
  713. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/jvm.py +0 -0
  714. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/lisp.py +0 -0
  715. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/make.py +0 -0
  716. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/markup.py +0 -0
  717. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/math.py +0 -0
  718. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/matlab.py +0 -0
  719. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ml.py +0 -0
  720. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/modeling.py +0 -0
  721. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/modula2.py +0 -0
  722. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/monte.py +0 -0
  723. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ncl.py +0 -0
  724. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/nimrod.py +0 -0
  725. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/nit.py +0 -0
  726. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/nix.py +0 -0
  727. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/oberon.py +0 -0
  728. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/objective.py +0 -0
  729. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ooc.py +0 -0
  730. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/other.py +0 -0
  731. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/parasail.py +0 -0
  732. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/parsers.py +0 -0
  733. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/pascal.py +0 -0
  734. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/pawn.py +0 -0
  735. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/perl.py +0 -0
  736. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/php.py +0 -0
  737. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/praat.py +0 -0
  738. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/prolog.py +0 -0
  739. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/python.py +0 -0
  740. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/qvt.py +0 -0
  741. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/r.py +0 -0
  742. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/rdf.py +0 -0
  743. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/rebol.py +0 -0
  744. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/resource.py +0 -0
  745. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/rnc.py +0 -0
  746. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/roboconf.py +0 -0
  747. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/robotframework.py +0 -0
  748. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/ruby.py +0 -0
  749. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/rust.py +0 -0
  750. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/sas.py +0 -0
  751. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/scripting.py +0 -0
  752. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/shell.py +0 -0
  753. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/smalltalk.py +0 -0
  754. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/smv.py +0 -0
  755. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/snobol.py +0 -0
  756. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/special.py +0 -0
  757. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/sql.py +0 -0
  758. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/stata.py +0 -0
  759. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/supercollider.py +0 -0
  760. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/tcl.py +0 -0
  761. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/templates.py +0 -0
  762. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/testing.py +0 -0
  763. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/text.py +0 -0
  764. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/textedit.py +0 -0
  765. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/textfmts.py +0 -0
  766. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/theorem.py +0 -0
  767. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/trafficscript.py +0 -0
  768. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/typoscript.py +0 -0
  769. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/urbi.py +0 -0
  770. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/varnish.py +0 -0
  771. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/verification.py +0 -0
  772. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/web.py +0 -0
  773. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/webmisc.py +0 -0
  774. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/whiley.py +0 -0
  775. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/lexers/x10.py +0 -0
  776. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/modeline.py +0 -0
  777. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/plugin.py +0 -0
  778. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/regexopt.py +0 -0
  779. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/scanner.py +0 -0
  780. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/sphinxext.py +0 -0
  781. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/style.py +0 -0
  782. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/__init__.py +0 -0
  783. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/abap.py +0 -0
  784. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/algol.py +0 -0
  785. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/algol_nu.py +0 -0
  786. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/arduino.py +0 -0
  787. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/autumn.py +0 -0
  788. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/borland.py +0 -0
  789. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/bw.py +0 -0
  790. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/colorful.py +0 -0
  791. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/default.py +0 -0
  792. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/emacs.py +0 -0
  793. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/friendly.py +0 -0
  794. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/fruity.py +0 -0
  795. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/igor.py +0 -0
  796. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/lovelace.py +0 -0
  797. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/manni.py +0 -0
  798. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/monokai.py +0 -0
  799. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/murphy.py +0 -0
  800. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/native.py +0 -0
  801. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/paraiso_dark.py +0 -0
  802. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/paraiso_light.py +0 -0
  803. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/pastie.py +0 -0
  804. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/perldoc.py +0 -0
  805. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/rainbow_dash.py +0 -0
  806. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/rrt.py +0 -0
  807. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/sas.py +0 -0
  808. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/stata.py +0 -0
  809. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/tango.py +0 -0
  810. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/trac.py +0 -0
  811. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/vim.py +0 -0
  812. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/vs.py +0 -0
  813. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/styles/xcode.py +0 -0
  814. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/token.py +0 -0
  815. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/unistring.py +0 -0
  816. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pygments/util.py +0 -0
  817. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pynvml/__init__.py +0 -0
  818. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/pynvml/pynvml.py +0 -0
  819. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/__init__.py +0 -0
  820. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/events.py +0 -0
  821. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/__init__.py +0 -0
  822. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/api.py +0 -0
  823. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/fsevents.py +0 -0
  824. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/fsevents2.py +0 -0
  825. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify.py +0 -0
  826. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify_buffer.py +0 -0
  827. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify_c.py +0 -0
  828. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/kqueue.py +0 -0
  829. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/polling.py +0 -0
  830. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/read_directory_changes.py +0 -0
  831. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/winapi.py +0 -0
  832. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/patterns.py +0 -0
  833. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/tricks/__init__.py +0 -0
  834. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/__init__.py +0 -0
  835. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/bricks.py +0 -0
  836. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/compat.py +0 -0
  837. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/decorators.py +0 -0
  838. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/delayed_queue.py +0 -0
  839. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/dirsnapshot.py +0 -0
  840. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/echo.py +0 -0
  841. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/event_backport.py +0 -0
  842. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/importlib2.py +0 -0
  843. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py +0 -0
  844. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py +0 -0
  845. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py +0 -0
  846. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/version.py +0 -0
  847. {wandb-0.16.3 → wandb-0.16.5}/wandb/vendor/watchdog_0_9_0/wandb_watchdog/watchmedo.py +0 -0
  848. {wandb-0.16.3 → wandb-0.16.5}/wandb/viz.py +0 -0
  849. {wandb-0.16.3 → wandb-0.16.5}/wandb/wandb_agent.py +0 -0
  850. {wandb-0.16.3 → wandb-0.16.5}/wandb/wandb_controller.py +0 -0
  851. {wandb-0.16.3 → wandb-0.16.5}/wandb/wandb_run.py +0 -0
  852. {wandb-0.16.3 → wandb-0.16.5}/wandb/wandb_torch.py +0 -0
  853. {wandb-0.16.3 → wandb-0.16.5}/wandb/xgboost/__init__.py +0 -0
  854. {wandb-0.16.3 → wandb-0.16.5}/wandb.egg-info/dependency_links.txt +0 -0
  855. {wandb-0.16.3 → wandb-0.16.5}/wandb.egg-info/entry_points.txt +0 -0
  856. {wandb-0.16.3 → wandb-0.16.5}/wandb.egg-info/not-zip-safe +0 -0
  857. {wandb-0.16.3 → wandb-0.16.5}/wandb.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wandb
3
- Version: 0.16.3
3
+ Version: 0.16.5
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
@@ -106,6 +106,7 @@ Requires-Dist: nbconvert; extra == "launch"
106
106
  Requires-Dist: nbformat; extra == "launch"
107
107
  Requires-Dist: pydantic; extra == "launch"
108
108
  Requires-Dist: typing_extensions; extra == "launch"
109
+ Requires-Dist: tomli; extra == "launch"
109
110
  Requires-Dist: PyYAML>=6.0.0; extra == "launch"
110
111
  Provides-Extra: models
111
112
  Requires-Dist: cloudpickle; extra == "models"
@@ -113,6 +114,12 @@ Provides-Extra: async
113
114
  Requires-Dist: httpx>=0.23.0; extra == "async"
114
115
  Provides-Extra: perf
115
116
  Requires-Dist: orjson; extra == "perf"
117
+ Provides-Extra: importers
118
+ Requires-Dist: polars; extra == "importers"
119
+ Requires-Dist: rich; extra == "importers"
120
+ Requires-Dist: filelock; extra == "importers"
121
+ Requires-Dist: mlflow; extra == "importers"
122
+ Requires-Dist: tenacity; extra == "importers"
116
123
  Provides-Extra: reports
117
124
  Requires-Dist: pydantic>=2.0.0; extra == "reports"
118
125
 
@@ -93,11 +93,13 @@ launch = [
93
93
  "nbformat",
94
94
  "pydantic",
95
95
  "typing_extensions",
96
+ "tomli",
96
97
  "PyYAML>=6.0.0",
97
98
  ]
98
99
  models = ["cloudpickle"]
99
100
  async = ["httpx>=0.23.0"]
100
101
  perf = ["orjson"]
102
+ importers = ["polars", "rich", "filelock", "mlflow", "tenacity"]
101
103
  reports = ["pydantic>=2.0.0"]
102
104
 
103
105
  [tool.setuptools]
@@ -114,7 +116,7 @@ version = { attr = "wandb.__version__" }
114
116
  [tool.pytest.ini_options]
115
117
  minversion = "6.0"
116
118
  console_output_style = "count"
117
- addopts = "-vvv --cov-config=pyproject.toml --dist=loadscope --capture=no"
119
+ addopts = "-vvv --cov-config=pyproject.toml --dist=loadscope"
118
120
  markers = [
119
121
  "image_output",
120
122
  "multiclass",
@@ -178,6 +180,7 @@ ignore = [
178
180
  "D1", # Allow missing docstrings.
179
181
  "D417", # Don't require descriptions for all arguments.
180
182
  "UP022",
183
+ "UP032", # Allow using format instead of f-string.
181
184
  "UP036",
182
185
  ]
183
186
  target-version = "py37"
@@ -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.3"
15
- _minimum_core_version = "0.17.0b8"
14
+ __version__ = "0.16.5"
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,
@@ -0,0 +1 @@
1
+ from .internals.util import Namespace
@@ -0,0 +1,386 @@
1
+ import json
2
+ import logging
3
+ import math
4
+ import os
5
+ import queue
6
+ from dataclasses import dataclass
7
+ from pathlib import Path
8
+ from typing import Any, Dict, Iterable, Optional
9
+
10
+ import numpy as np
11
+ from google.protobuf.json_format import ParseDict
12
+ from tenacity import retry, stop_after_attempt, wait_random_exponential
13
+
14
+ from wandb import Artifact
15
+ from wandb.proto import wandb_internal_pb2 as pb
16
+ from wandb.proto import wandb_settings_pb2
17
+ from wandb.proto import wandb_telemetry_pb2 as telem_pb
18
+ from wandb.sdk.interface.interface import file_policy_to_enum
19
+ from wandb.sdk.interface.interface_queue import InterfaceQueue
20
+ from wandb.sdk.internal import context
21
+ from wandb.sdk.internal.sender import SendManager
22
+ from wandb.sdk.internal.settings_static import SettingsStatic
23
+ from wandb.util import coalesce, recursive_cast_dictlike_to_dict
24
+
25
+ from .protocols import ImporterRun
26
+
27
+ ROOT_DIR = "./wandb-importer"
28
+
29
+
30
+ logger = logging.getLogger(__name__)
31
+ logger.setLevel(logging.INFO)
32
+
33
+ if os.getenv("WANDB_IMPORTER_ENABLE_RICH_LOGGING"):
34
+ from rich.logging import RichHandler
35
+
36
+ logger.addHandler(RichHandler(rich_tracebacks=True, tracebacks_show_locals=True))
37
+ else:
38
+ console_handler = logging.StreamHandler()
39
+ console_handler.setLevel(logging.INFO)
40
+
41
+ formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
42
+ console_handler.setFormatter(formatter)
43
+
44
+ logger.addHandler(console_handler)
45
+
46
+
47
+ exp_retry = retry(
48
+ wait=wait_random_exponential(multiplier=1, max=10), stop=stop_after_attempt(3)
49
+ )
50
+
51
+
52
+ class AlternateSendManager(SendManager):
53
+ def __init__(self, *args, **kwargs):
54
+ super().__init__(*args, **kwargs)
55
+ self._send_artifact = exp_retry(self._send_artifact)
56
+
57
+
58
+ @dataclass(frozen=True)
59
+ class SendManagerConfig:
60
+ """Configure which parts of SendManager tooling to use."""
61
+
62
+ use_artifacts: bool = False
63
+ log_artifacts: bool = False
64
+ metadata: bool = False
65
+ files: bool = False
66
+ media: bool = False
67
+ code: bool = False
68
+ history: bool = False
69
+ summary: bool = False
70
+ terminal_output: bool = False
71
+
72
+
73
+ @dataclass
74
+ class RecordMaker:
75
+ run: ImporterRun
76
+ interface: InterfaceQueue = InterfaceQueue()
77
+
78
+ @property
79
+ def run_dir(self) -> str:
80
+ p = Path(f"{ROOT_DIR}/{self.run.run_id()}/wandb")
81
+ p.mkdir(parents=True, exist_ok=True)
82
+ return f"{ROOT_DIR}/{self.run.run_id()}"
83
+
84
+ def make_artifacts_only_records(
85
+ self,
86
+ artifacts: Optional[Iterable[Artifact]] = None,
87
+ used_artifacts: Optional[Iterable[Artifact]] = None,
88
+ ) -> Iterable[pb.Record]:
89
+ """Only make records required to upload artifacts.
90
+
91
+ Escape hatch for adding extra artifacts to a run.
92
+ """
93
+ yield self._make_run_record()
94
+
95
+ if used_artifacts:
96
+ for art in used_artifacts:
97
+ yield self._make_artifact_record(art, use_artifact=True)
98
+
99
+ if artifacts:
100
+ for art in artifacts:
101
+ yield self._make_artifact_record(art)
102
+
103
+ def make_records(
104
+ self,
105
+ config: SendManagerConfig,
106
+ ) -> Iterable[pb.Record]:
107
+ """Make all the records that constitute a run."""
108
+ yield self._make_run_record()
109
+ yield self._make_telem_record()
110
+
111
+ include_artifacts = config.log_artifacts or config.use_artifacts
112
+ yield self._make_files_record(
113
+ include_artifacts, config.files, config.media, config.code
114
+ )
115
+
116
+ if config.use_artifacts:
117
+ if (used_artifacts := self.run.used_artifacts()) is not None:
118
+ for artifact in used_artifacts:
119
+ yield self._make_artifact_record(artifact, use_artifact=True)
120
+
121
+ if config.log_artifacts:
122
+ if (artifacts := self.run.artifacts()) is not None:
123
+ for artifact in artifacts:
124
+ yield self._make_artifact_record(artifact)
125
+
126
+ if config.history:
127
+ yield from self._make_history_records()
128
+
129
+ if config.summary:
130
+ yield self._make_summary_record()
131
+
132
+ if config.terminal_output:
133
+ if (lines := self.run.logs()) is not None:
134
+ for line in lines:
135
+ yield self._make_output_record(line)
136
+
137
+ def _make_run_record(self) -> pb.Record:
138
+ run = pb.RunRecord()
139
+ run.run_id = self.run.run_id()
140
+ run.entity = self.run.entity()
141
+ run.project = self.run.project()
142
+ run.display_name = coalesce(self.run.display_name())
143
+ run.notes = coalesce(self.run.notes(), "")
144
+ run.tags.extend(coalesce(self.run.tags(), []))
145
+ run.start_time.FromMilliseconds(self.run.start_time())
146
+
147
+ host = self.run.host()
148
+ if host is not None:
149
+ run.host = host
150
+
151
+ runtime = self.run.runtime()
152
+ if runtime is not None:
153
+ run.runtime = runtime
154
+
155
+ run_group = self.run.run_group()
156
+ if run_group is not None:
157
+ run.run_group = run_group
158
+
159
+ config = self.run.config()
160
+ if "_wandb" not in config:
161
+ config["_wandb"] = {}
162
+
163
+ # how do I get this automatically?
164
+ config["_wandb"]["code_path"] = self.run.code_path()
165
+ config["_wandb"]["python_version"] = self.run.python_version()
166
+ config["_wandb"]["cli_version"] = self.run.cli_version()
167
+
168
+ self.interface._make_config(
169
+ data=config,
170
+ obj=run.config,
171
+ ) # is there a better way?
172
+ return self.interface._make_record(run=run)
173
+
174
+ def _make_output_record(self, line) -> pb.Record:
175
+ output_raw = pb.OutputRawRecord()
176
+ output_raw.output_type = pb.OutputRawRecord.OutputType.STDOUT
177
+ output_raw.line = line
178
+ return self.interface._make_record(output_raw=output_raw)
179
+
180
+ def _make_summary_record(self) -> pb.Record:
181
+ d: dict = {
182
+ **self.run.summary(),
183
+ "_runtime": self.run.runtime(), # quirk of runtime -- it has to be here!
184
+ # '_timestamp': self.run.start_time()/1000,
185
+ }
186
+ d = recursive_cast_dictlike_to_dict(d)
187
+ summary = self.interface._make_summary_from_dict(d)
188
+ return self.interface._make_record(summary=summary)
189
+
190
+ def _make_history_records(self) -> Iterable[pb.Record]:
191
+ for metrics in self.run.metrics():
192
+ history = pb.HistoryRecord()
193
+ for k, v in metrics.items():
194
+ item = history.item.add()
195
+ item.key = k
196
+ # There seems to be some conversion issue to breaks when we try to re-upload.
197
+ # np.NaN gets converted to float("nan"), which is not expected by our system.
198
+ # If this cast to string (!) is not done, the row will be dropped.
199
+ if (isinstance(v, float) and math.isnan(v)) or v == "NaN":
200
+ v = np.NaN
201
+
202
+ if isinstance(v, bytes):
203
+ # it's a json string encoded as bytes
204
+ v = v.decode("utf-8")
205
+ else:
206
+ v = json.dumps(v)
207
+
208
+ item.value_json = v
209
+ rec = self.interface._make_record(history=history)
210
+ yield rec
211
+
212
+ def _make_files_record(
213
+ self, artifacts: bool, files: bool, media: bool, code: bool
214
+ ) -> pb.Record:
215
+ run_files = self.run.files()
216
+ metadata_fname = f"{self.run_dir}/files/wandb-metadata.json"
217
+ if not files or run_files is None:
218
+ # We'll always need a metadata file even if there are no other files to upload
219
+ metadata_fname = self._make_metadata_file()
220
+ run_files = [(metadata_fname, "end")]
221
+ files_record = pb.FilesRecord()
222
+ for path, policy in run_files:
223
+ if not artifacts and path.startswith("artifact/"):
224
+ continue
225
+ if not media and path.startswith("media/"):
226
+ continue
227
+ if not code and path.startswith("code/"):
228
+ continue
229
+
230
+ # DirWatcher requires the path to start with media/ instead of the full path
231
+ if "media" in path:
232
+ p = Path(path)
233
+ path = str(p.relative_to(f"{self.run_dir}/files"))
234
+ f = files_record.files.add()
235
+ f.path = path
236
+ f.policy = file_policy_to_enum(policy)
237
+
238
+ return self.interface._make_record(files=files_record)
239
+
240
+ def _make_artifact_record(
241
+ self, artifact: Artifact, use_artifact=False
242
+ ) -> pb.Record:
243
+ proto = self.interface._make_artifact(artifact)
244
+ proto.run_id = str(self.run.run_id())
245
+ proto.project = str(self.run.project())
246
+ proto.entity = str(self.run.entity())
247
+ proto.user_created = use_artifact
248
+ proto.use_after_commit = use_artifact
249
+ proto.finalize = True
250
+
251
+ aliases = artifact._aliases
252
+ aliases += ["latest", "imported"]
253
+
254
+ for alias in aliases:
255
+ proto.aliases.append(alias)
256
+ return self.interface._make_record(artifact=proto)
257
+
258
+ def _make_telem_record(self) -> pb.Record:
259
+ telem = telem_pb.TelemetryRecord()
260
+
261
+ feature = telem_pb.Feature()
262
+ feature.importer_mlflow = True
263
+ telem.feature.CopyFrom(feature)
264
+
265
+ cli_version = self.run.cli_version()
266
+ if cli_version:
267
+ telem.cli_version = cli_version
268
+
269
+ python_version = self.run.python_version()
270
+ if python_version:
271
+ telem.python_version = python_version
272
+
273
+ return self.interface._make_record(telemetry=telem)
274
+
275
+ def _make_metadata_file(self) -> str:
276
+ missing_text = "This data was not captured"
277
+ files_dir = f"{self.run_dir}/files"
278
+ os.makedirs(files_dir, exist_ok=True)
279
+
280
+ d = {}
281
+ d["os"] = coalesce(self.run.os_version(), missing_text)
282
+ d["python"] = coalesce(self.run.python_version(), missing_text)
283
+ d["program"] = coalesce(self.run.program(), missing_text)
284
+ d["cuda"] = coalesce(self.run.cuda_version(), missing_text)
285
+ d["host"] = coalesce(self.run.host(), missing_text)
286
+ d["username"] = coalesce(self.run.username(), missing_text)
287
+ d["executable"] = coalesce(self.run.executable(), missing_text)
288
+
289
+ gpus_used = self.run.gpus_used()
290
+ if gpus_used is not None:
291
+ d["gpu_devices"] = json.dumps(gpus_used)
292
+ d["gpu_count"] = json.dumps(len(gpus_used))
293
+
294
+ cpus_used = self.run.cpus_used()
295
+ if cpus_used is not None:
296
+ d["cpu_count"] = json.dumps(self.run.cpus_used())
297
+
298
+ mem_used = self.run.memory_used()
299
+ if mem_used is not None:
300
+ d["memory"] = json.dumps({"total": self.run.memory_used()})
301
+
302
+ fname = f"{files_dir}/wandb-metadata.json"
303
+ with open(fname, "w") as f:
304
+ f.write(json.dumps(d))
305
+ return fname
306
+
307
+
308
+ def _make_settings(
309
+ root_dir: str, settings_override: Optional[Dict[str, Any]] = None
310
+ ) -> SettingsStatic:
311
+ _settings_override = coalesce(settings_override, {})
312
+
313
+ default_settings: Dict[str, Any] = {
314
+ "files_dir": os.path.join(root_dir, "files"),
315
+ "root_dir": root_dir,
316
+ "sync_file": os.path.join(root_dir, "txlog.wandb"),
317
+ "resume": "false",
318
+ "program": None,
319
+ "ignore_globs": [],
320
+ "disable_job_creation": True,
321
+ "_start_time": 0,
322
+ "_offline": None,
323
+ "_sync": True,
324
+ "_live_policy_rate_limit": 15, # matches dir_watcher
325
+ "_live_policy_wait_time": 600, # matches dir_watcher
326
+ "_async_upload_concurrency_limit": None,
327
+ "_file_stream_timeout_seconds": 60,
328
+ }
329
+
330
+ combined_settings = {**default_settings, **_settings_override}
331
+ settings_message = wandb_settings_pb2.Settings()
332
+ ParseDict(combined_settings, settings_message)
333
+
334
+ return SettingsStatic(settings_message)
335
+
336
+
337
+ def send_run(
338
+ run: ImporterRun,
339
+ *,
340
+ extra_arts: Optional[Iterable[Artifact]] = None,
341
+ extra_used_arts: Optional[Iterable[Artifact]] = None,
342
+ config: Optional[SendManagerConfig] = None,
343
+ overrides: Optional[Dict[str, Any]] = None,
344
+ settings_override: Optional[Dict[str, Any]] = None,
345
+ ) -> None:
346
+ if config is None:
347
+ config = SendManagerConfig()
348
+
349
+ # does this need to be here for pmap?
350
+ if overrides:
351
+ for k, v in overrides.items():
352
+ # `lambda: v` won't work!
353
+ # https://stackoverflow.com/questions/10802002/why-deepcopy-doesnt-create-new-references-to-lambda-function
354
+ setattr(run, k, lambda v=v: v)
355
+
356
+ rm = RecordMaker(run)
357
+ root_dir = rm.run_dir
358
+
359
+ settings = _make_settings(root_dir, settings_override)
360
+ sm_record_q = queue.Queue()
361
+ # wm_record_q = queue.Queue()
362
+ result_q = queue.Queue()
363
+ interface = InterfaceQueue(record_q=sm_record_q)
364
+ context_keeper = context.ContextKeeper()
365
+ sm = AlternateSendManager(
366
+ settings, sm_record_q, result_q, interface, context_keeper
367
+ )
368
+ # wm = WriteManager(
369
+ # settings, wm_record_q, result_q, sm_record_q, interface, context_keeper
370
+ # )
371
+
372
+ if extra_arts or extra_used_arts:
373
+ records = rm.make_artifacts_only_records(extra_arts, extra_used_arts)
374
+ else:
375
+ records = rm.make_records(config)
376
+
377
+ for r in records:
378
+ logger.debug(f"Sending {r=}")
379
+ # In a future update, it might be good to write to a transaction log and have
380
+ # incremental uploads only send the missing records.
381
+ # wm.write(r)
382
+
383
+ sm.send(r)
384
+
385
+ sm.finish()
386
+ # wm.finish()
@@ -0,0 +1,125 @@
1
+ import logging
2
+ import sys
3
+ from typing import Any, Dict, Iterable, List, Literal, Optional, Tuple
4
+
5
+ from wandb.sdk.artifacts.artifact import Artifact
6
+
7
+ if sys.version_info >= (3, 8):
8
+ from typing import Protocol, runtime_checkable
9
+ else:
10
+ from typing_extensions import Protocol, runtime_checkable
11
+
12
+ logger = logging.getLogger("import_logger")
13
+
14
+ PathStr = str
15
+ Policy = Literal["now", "end", "live"]
16
+
17
+
18
+ @runtime_checkable
19
+ class ImporterRun(Protocol):
20
+ def run_id(self) -> str:
21
+ ... # pragma: no cover
22
+
23
+ def entity(self) -> str:
24
+ ... # pragma: no cover
25
+
26
+ def project(self) -> str:
27
+ ... # pragma: no cover
28
+
29
+ def config(self) -> Dict[str, Any]:
30
+ ... # pragma: no cover
31
+
32
+ def summary(self) -> Dict[str, float]:
33
+ ... # pragma: no cover
34
+
35
+ def metrics(self) -> Iterable[Dict[str, float]]:
36
+ """Metrics for the run.
37
+
38
+ We expect metrics in this shape:
39
+
40
+ [
41
+ {'metric1': 1, 'metric2': 1, '_step': 0},
42
+ {'metric1': 2, 'metric2': 4, '_step': 1},
43
+ {'metric1': 3, 'metric2': 9, '_step': 2},
44
+ ...
45
+ ]
46
+
47
+ You can also submit metrics in this shape:
48
+ [
49
+ {'metric1': 1, '_step': 0},
50
+ {'metric2': 1, '_step': 0},
51
+ {'metric1': 2, '_step': 1},
52
+ {'metric2': 4, '_step': 1},
53
+ ...
54
+ ]
55
+ """
56
+ ... # pragma: no cover
57
+
58
+ def run_group(self) -> Optional[str]:
59
+ ... # pragma: no cover
60
+
61
+ def job_type(self) -> Optional[str]:
62
+ ... # pragma: no cover
63
+
64
+ def display_name(self) -> str:
65
+ ... # pragma: no cover
66
+
67
+ def notes(self) -> Optional[str]:
68
+ ... # pragma: no cover
69
+
70
+ def tags(self) -> Optional[List[str]]:
71
+ ... # pragma: no cover
72
+
73
+ def artifacts(self) -> Optional[Iterable[Artifact]]:
74
+ ... # pragma: no cover
75
+
76
+ def used_artifacts(self) -> Optional[Iterable[Artifact]]:
77
+ ... # pragma: no cover
78
+
79
+ def os_version(self) -> Optional[str]:
80
+ ... # pragma: no cover
81
+
82
+ def python_version(self) -> Optional[str]:
83
+ ... # pragma: no cover
84
+
85
+ def cuda_version(self) -> Optional[str]:
86
+ ... # pragma: no cover
87
+
88
+ def program(self) -> Optional[str]:
89
+ ... # pragma: no cover
90
+
91
+ def host(self) -> Optional[str]:
92
+ ... # pragma: no cover
93
+
94
+ def username(self) -> Optional[str]:
95
+ ... # pragma: no cover
96
+
97
+ def executable(self) -> Optional[str]:
98
+ ... # pragma: no cover
99
+
100
+ def gpus_used(self) -> Optional[str]:
101
+ ... # pragma: no cover
102
+
103
+ def cpus_used(self) -> Optional[int]:
104
+ ... # pragma: no cover
105
+
106
+ def memory_used(self) -> Optional[int]:
107
+ ... # pragma: no cover
108
+
109
+ def runtime(self) -> Optional[int]:
110
+ ... # pragma: no cover
111
+
112
+ def start_time(self) -> Optional[int]:
113
+ ... # pragma: no cover
114
+
115
+ def code_path(self) -> Optional[str]:
116
+ ... # pragma: no cover
117
+
118
+ def cli_version(self) -> Optional[str]:
119
+ ... # pragma: no cover
120
+
121
+ def files(self) -> Optional[Iterable[Tuple[PathStr, Policy]]]:
122
+ ... # pragma: no cover
123
+
124
+ def logs(self) -> Optional[Iterable[str]]:
125
+ ... # pragma: no cover
@@ -0,0 +1,78 @@
1
+ import logging
2
+ import sys
3
+ import traceback
4
+ from concurrent.futures import ThreadPoolExecutor, as_completed
5
+ from dataclasses import dataclass
6
+ from typing import Iterable, Optional
7
+
8
+
9
+ @dataclass(frozen=True)
10
+ class Namespace:
11
+ """Configure an alternate entity/project at the dst server your data will end up in."""
12
+
13
+ entity: str
14
+ project: str
15
+
16
+ @classmethod
17
+ def from_path(cls, path: str):
18
+ entity, project = path.split("/")
19
+ return cls(entity, project)
20
+
21
+ @property
22
+ def path(self):
23
+ return f"{self.entity}/{self.project}"
24
+
25
+ @property
26
+ def send_manager_overrides(self):
27
+ overrides = {}
28
+ if self.entity:
29
+ overrides["entity"] = self.entity
30
+ if self.project:
31
+ overrides["project"] = self.project
32
+ return overrides
33
+
34
+
35
+ logger = logging.getLogger("import_logger")
36
+
37
+
38
+ def parallelize(
39
+ func,
40
+ iterable: Iterable,
41
+ *args,
42
+ max_workers: Optional[int] = None,
43
+ raise_on_error: bool = False,
44
+ **kwargs,
45
+ ):
46
+ def safe_func(*args, **kwargs):
47
+ try:
48
+ return func(*args, **kwargs)
49
+ except Exception as e:
50
+ _, _, exc_traceback = sys.exc_info()
51
+ traceback_details = traceback.extract_tb(exc_traceback)
52
+ filename = traceback_details[-1].filename
53
+ lineno = traceback_details[-1].lineno
54
+ logger.debug(
55
+ f"Exception: {func=} {args=} {kwargs=} {e=} {filename=} {lineno=}. {traceback_details=}"
56
+ )
57
+ if raise_on_error:
58
+ raise e
59
+
60
+ results = []
61
+ with ThreadPoolExecutor(max_workers) as exc:
62
+ futures = {exc.submit(safe_func, x, *args, **kwargs): x for x in iterable}
63
+ for future in as_completed(futures):
64
+ results.append(future.result())
65
+ return results
66
+
67
+
68
+ def for_each(
69
+ func, iterable: Iterable, parallel: bool = True, max_workers: Optional[int] = None
70
+ ):
71
+ if parallel:
72
+ return parallelize(
73
+ func,
74
+ iterable,
75
+ max_workers=max_workers,
76
+ )
77
+
78
+ return [func(x) for x in iterable]