wandb 0.18.2__py3-none-musllinux_1_2_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (827) hide show
  1. package_readme.md +89 -0
  2. wandb/__init__.py +245 -0
  3. wandb/__init__.pyi +1139 -0
  4. wandb/__main__.py +3 -0
  5. wandb/_globals.py +19 -0
  6. wandb/agents/__init__.py +0 -0
  7. wandb/agents/pyagent.py +363 -0
  8. wandb/analytics/__init__.py +3 -0
  9. wandb/analytics/sentry.py +266 -0
  10. wandb/apis/__init__.py +48 -0
  11. wandb/apis/attrs.py +40 -0
  12. wandb/apis/importers/__init__.py +1 -0
  13. wandb/apis/importers/internals/internal.py +385 -0
  14. wandb/apis/importers/internals/protocols.py +99 -0
  15. wandb/apis/importers/internals/util.py +78 -0
  16. wandb/apis/importers/mlflow.py +254 -0
  17. wandb/apis/importers/validation.py +108 -0
  18. wandb/apis/importers/wandb.py +1603 -0
  19. wandb/apis/internal.py +232 -0
  20. wandb/apis/normalize.py +89 -0
  21. wandb/apis/paginator.py +81 -0
  22. wandb/apis/public/__init__.py +34 -0
  23. wandb/apis/public/api.py +1305 -0
  24. wandb/apis/public/artifacts.py +1090 -0
  25. wandb/apis/public/const.py +4 -0
  26. wandb/apis/public/files.py +195 -0
  27. wandb/apis/public/history.py +149 -0
  28. wandb/apis/public/jobs.py +659 -0
  29. wandb/apis/public/projects.py +154 -0
  30. wandb/apis/public/query_generator.py +166 -0
  31. wandb/apis/public/reports.py +469 -0
  32. wandb/apis/public/runs.py +914 -0
  33. wandb/apis/public/sweeps.py +240 -0
  34. wandb/apis/public/teams.py +198 -0
  35. wandb/apis/public/users.py +136 -0
  36. wandb/apis/reports/__init__.py +1 -0
  37. wandb/apis/reports/v1/__init__.py +8 -0
  38. wandb/apis/reports/v2/__init__.py +8 -0
  39. wandb/apis/workspaces/__init__.py +8 -0
  40. wandb/beta/workflows.py +288 -0
  41. wandb/bin/nvidia_gpu_stats +0 -0
  42. wandb/bin/wandb-core +0 -0
  43. wandb/cli/__init__.py +0 -0
  44. wandb/cli/cli.py +3004 -0
  45. wandb/data_types.py +63 -0
  46. wandb/docker/__init__.py +342 -0
  47. wandb/docker/auth.py +436 -0
  48. wandb/docker/wandb-entrypoint.sh +33 -0
  49. wandb/docker/www_authenticate.py +94 -0
  50. wandb/env.py +514 -0
  51. wandb/errors/__init__.py +17 -0
  52. wandb/errors/errors.py +37 -0
  53. wandb/errors/term.py +103 -0
  54. wandb/errors/util.py +57 -0
  55. wandb/errors/warnings.py +2 -0
  56. wandb/filesync/__init__.py +0 -0
  57. wandb/filesync/dir_watcher.py +403 -0
  58. wandb/filesync/stats.py +100 -0
  59. wandb/filesync/step_checksum.py +142 -0
  60. wandb/filesync/step_prepare.py +179 -0
  61. wandb/filesync/step_upload.py +290 -0
  62. wandb/filesync/upload_job.py +142 -0
  63. wandb/integration/__init__.py +0 -0
  64. wandb/integration/catboost/__init__.py +5 -0
  65. wandb/integration/catboost/catboost.py +178 -0
  66. wandb/integration/cohere/__init__.py +3 -0
  67. wandb/integration/cohere/cohere.py +21 -0
  68. wandb/integration/cohere/resolver.py +347 -0
  69. wandb/integration/diffusers/__init__.py +3 -0
  70. wandb/integration/diffusers/autologger.py +76 -0
  71. wandb/integration/diffusers/pipeline_resolver.py +50 -0
  72. wandb/integration/diffusers/resolvers/__init__.py +9 -0
  73. wandb/integration/diffusers/resolvers/multimodal.py +882 -0
  74. wandb/integration/diffusers/resolvers/utils.py +102 -0
  75. wandb/integration/fastai/__init__.py +249 -0
  76. wandb/integration/gym/__init__.py +105 -0
  77. wandb/integration/huggingface/__init__.py +3 -0
  78. wandb/integration/huggingface/huggingface.py +18 -0
  79. wandb/integration/huggingface/resolver.py +213 -0
  80. wandb/integration/keras/__init__.py +11 -0
  81. wandb/integration/keras/callbacks/__init__.py +5 -0
  82. wandb/integration/keras/callbacks/metrics_logger.py +136 -0
  83. wandb/integration/keras/callbacks/model_checkpoint.py +195 -0
  84. wandb/integration/keras/callbacks/tables_builder.py +226 -0
  85. wandb/integration/keras/keras.py +1091 -0
  86. wandb/integration/kfp/__init__.py +6 -0
  87. wandb/integration/kfp/helpers.py +28 -0
  88. wandb/integration/kfp/kfp_patch.py +324 -0
  89. wandb/integration/kfp/wandb_logging.py +182 -0
  90. wandb/integration/langchain/__init__.py +3 -0
  91. wandb/integration/langchain/wandb_tracer.py +48 -0
  92. wandb/integration/lightgbm/__init__.py +239 -0
  93. wandb/integration/lightning/__init__.py +0 -0
  94. wandb/integration/lightning/fabric/__init__.py +3 -0
  95. wandb/integration/lightning/fabric/logger.py +762 -0
  96. wandb/integration/magic.py +556 -0
  97. wandb/integration/metaflow/__init__.py +3 -0
  98. wandb/integration/metaflow/metaflow.py +383 -0
  99. wandb/integration/openai/__init__.py +3 -0
  100. wandb/integration/openai/fine_tuning.py +480 -0
  101. wandb/integration/openai/openai.py +22 -0
  102. wandb/integration/openai/resolver.py +240 -0
  103. wandb/integration/prodigy/__init__.py +3 -0
  104. wandb/integration/prodigy/prodigy.py +299 -0
  105. wandb/integration/sacred/__init__.py +117 -0
  106. wandb/integration/sagemaker/__init__.py +12 -0
  107. wandb/integration/sagemaker/auth.py +28 -0
  108. wandb/integration/sagemaker/config.py +49 -0
  109. wandb/integration/sagemaker/files.py +3 -0
  110. wandb/integration/sagemaker/resources.py +34 -0
  111. wandb/integration/sb3/__init__.py +3 -0
  112. wandb/integration/sb3/sb3.py +153 -0
  113. wandb/integration/sklearn/__init__.py +37 -0
  114. wandb/integration/sklearn/calculate/__init__.py +32 -0
  115. wandb/integration/sklearn/calculate/calibration_curves.py +125 -0
  116. wandb/integration/sklearn/calculate/class_proportions.py +68 -0
  117. wandb/integration/sklearn/calculate/confusion_matrix.py +93 -0
  118. wandb/integration/sklearn/calculate/decision_boundaries.py +40 -0
  119. wandb/integration/sklearn/calculate/elbow_curve.py +55 -0
  120. wandb/integration/sklearn/calculate/feature_importances.py +67 -0
  121. wandb/integration/sklearn/calculate/learning_curve.py +64 -0
  122. wandb/integration/sklearn/calculate/outlier_candidates.py +69 -0
  123. wandb/integration/sklearn/calculate/residuals.py +86 -0
  124. wandb/integration/sklearn/calculate/silhouette.py +118 -0
  125. wandb/integration/sklearn/calculate/summary_metrics.py +62 -0
  126. wandb/integration/sklearn/plot/__init__.py +35 -0
  127. wandb/integration/sklearn/plot/classifier.py +329 -0
  128. wandb/integration/sklearn/plot/clusterer.py +146 -0
  129. wandb/integration/sklearn/plot/regressor.py +121 -0
  130. wandb/integration/sklearn/plot/shared.py +91 -0
  131. wandb/integration/sklearn/utils.py +183 -0
  132. wandb/integration/tensorboard/__init__.py +10 -0
  133. wandb/integration/tensorboard/log.py +355 -0
  134. wandb/integration/tensorboard/monkeypatch.py +185 -0
  135. wandb/integration/tensorflow/__init__.py +5 -0
  136. wandb/integration/tensorflow/estimator_hook.py +54 -0
  137. wandb/integration/torch/__init__.py +0 -0
  138. wandb/integration/torch/wandb_torch.py +554 -0
  139. wandb/integration/ultralytics/__init__.py +11 -0
  140. wandb/integration/ultralytics/bbox_utils.py +208 -0
  141. wandb/integration/ultralytics/callback.py +524 -0
  142. wandb/integration/ultralytics/classification_utils.py +83 -0
  143. wandb/integration/ultralytics/mask_utils.py +202 -0
  144. wandb/integration/ultralytics/pose_utils.py +103 -0
  145. wandb/integration/xgboost/__init__.py +11 -0
  146. wandb/integration/xgboost/xgboost.py +189 -0
  147. wandb/integration/yolov8/__init__.py +0 -0
  148. wandb/integration/yolov8/yolov8.py +284 -0
  149. wandb/jupyter.py +515 -0
  150. wandb/magic.py +3 -0
  151. wandb/mpmain/__init__.py +0 -0
  152. wandb/mpmain/__main__.py +1 -0
  153. wandb/old/__init__.py +0 -0
  154. wandb/old/core.py +53 -0
  155. wandb/old/settings.py +173 -0
  156. wandb/old/summary.py +440 -0
  157. wandb/plot/__init__.py +19 -0
  158. wandb/plot/bar.py +45 -0
  159. wandb/plot/confusion_matrix.py +100 -0
  160. wandb/plot/histogram.py +39 -0
  161. wandb/plot/line.py +43 -0
  162. wandb/plot/line_series.py +88 -0
  163. wandb/plot/pr_curve.py +136 -0
  164. wandb/plot/roc_curve.py +118 -0
  165. wandb/plot/scatter.py +32 -0
  166. wandb/plot/utils.py +183 -0
  167. wandb/plot/viz.py +123 -0
  168. wandb/proto/__init__.py +0 -0
  169. wandb/proto/v3/__init__.py +0 -0
  170. wandb/proto/v3/wandb_base_pb2.py +55 -0
  171. wandb/proto/v3/wandb_internal_pb2.py +1608 -0
  172. wandb/proto/v3/wandb_server_pb2.py +208 -0
  173. wandb/proto/v3/wandb_settings_pb2.py +112 -0
  174. wandb/proto/v3/wandb_telemetry_pb2.py +106 -0
  175. wandb/proto/v4/__init__.py +0 -0
  176. wandb/proto/v4/wandb_base_pb2.py +30 -0
  177. wandb/proto/v4/wandb_internal_pb2.py +360 -0
  178. wandb/proto/v4/wandb_server_pb2.py +63 -0
  179. wandb/proto/v4/wandb_settings_pb2.py +45 -0
  180. wandb/proto/v4/wandb_telemetry_pb2.py +41 -0
  181. wandb/proto/v5/wandb_base_pb2.py +31 -0
  182. wandb/proto/v5/wandb_internal_pb2.py +361 -0
  183. wandb/proto/v5/wandb_server_pb2.py +64 -0
  184. wandb/proto/v5/wandb_settings_pb2.py +46 -0
  185. wandb/proto/v5/wandb_telemetry_pb2.py +42 -0
  186. wandb/proto/wandb_base_pb2.py +10 -0
  187. wandb/proto/wandb_deprecated.py +53 -0
  188. wandb/proto/wandb_generate_deprecated.py +34 -0
  189. wandb/proto/wandb_generate_proto.py +49 -0
  190. wandb/proto/wandb_internal_pb2.py +16 -0
  191. wandb/proto/wandb_server_pb2.py +10 -0
  192. wandb/proto/wandb_settings_pb2.py +10 -0
  193. wandb/proto/wandb_telemetry_pb2.py +10 -0
  194. wandb/py.typed +0 -0
  195. wandb/sdk/__init__.py +37 -0
  196. wandb/sdk/artifacts/__init__.py +0 -0
  197. wandb/sdk/artifacts/_validators.py +90 -0
  198. wandb/sdk/artifacts/artifact.py +2389 -0
  199. wandb/sdk/artifacts/artifact_download_logger.py +43 -0
  200. wandb/sdk/artifacts/artifact_file_cache.py +253 -0
  201. wandb/sdk/artifacts/artifact_instance_cache.py +17 -0
  202. wandb/sdk/artifacts/artifact_manifest.py +74 -0
  203. wandb/sdk/artifacts/artifact_manifest_entry.py +249 -0
  204. wandb/sdk/artifacts/artifact_manifests/__init__.py +0 -0
  205. wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py +92 -0
  206. wandb/sdk/artifacts/artifact_saver.py +269 -0
  207. wandb/sdk/artifacts/artifact_state.py +11 -0
  208. wandb/sdk/artifacts/artifact_ttl.py +7 -0
  209. wandb/sdk/artifacts/exceptions.py +57 -0
  210. wandb/sdk/artifacts/staging.py +25 -0
  211. wandb/sdk/artifacts/storage_handler.py +62 -0
  212. wandb/sdk/artifacts/storage_handlers/__init__.py +0 -0
  213. wandb/sdk/artifacts/storage_handlers/azure_handler.py +208 -0
  214. wandb/sdk/artifacts/storage_handlers/gcs_handler.py +228 -0
  215. wandb/sdk/artifacts/storage_handlers/http_handler.py +114 -0
  216. wandb/sdk/artifacts/storage_handlers/local_file_handler.py +141 -0
  217. wandb/sdk/artifacts/storage_handlers/multi_handler.py +56 -0
  218. wandb/sdk/artifacts/storage_handlers/s3_handler.py +300 -0
  219. wandb/sdk/artifacts/storage_handlers/tracking_handler.py +72 -0
  220. wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py +135 -0
  221. wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py +74 -0
  222. wandb/sdk/artifacts/storage_layout.py +6 -0
  223. wandb/sdk/artifacts/storage_policies/__init__.py +4 -0
  224. wandb/sdk/artifacts/storage_policies/register.py +1 -0
  225. wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +378 -0
  226. wandb/sdk/artifacts/storage_policy.py +72 -0
  227. wandb/sdk/backend/__init__.py +0 -0
  228. wandb/sdk/backend/backend.py +222 -0
  229. wandb/sdk/data_types/__init__.py +0 -0
  230. wandb/sdk/data_types/_dtypes.py +914 -0
  231. wandb/sdk/data_types/_private.py +10 -0
  232. wandb/sdk/data_types/audio.py +165 -0
  233. wandb/sdk/data_types/base_types/__init__.py +0 -0
  234. wandb/sdk/data_types/base_types/json_metadata.py +55 -0
  235. wandb/sdk/data_types/base_types/media.py +315 -0
  236. wandb/sdk/data_types/base_types/wb_value.py +272 -0
  237. wandb/sdk/data_types/bokeh.py +70 -0
  238. wandb/sdk/data_types/graph.py +405 -0
  239. wandb/sdk/data_types/helper_types/__init__.py +0 -0
  240. wandb/sdk/data_types/helper_types/bounding_boxes_2d.py +295 -0
  241. wandb/sdk/data_types/helper_types/classes.py +159 -0
  242. wandb/sdk/data_types/helper_types/image_mask.py +235 -0
  243. wandb/sdk/data_types/histogram.py +96 -0
  244. wandb/sdk/data_types/html.py +115 -0
  245. wandb/sdk/data_types/image.py +845 -0
  246. wandb/sdk/data_types/molecule.py +241 -0
  247. wandb/sdk/data_types/object_3d.py +474 -0
  248. wandb/sdk/data_types/plotly.py +82 -0
  249. wandb/sdk/data_types/saved_model.py +446 -0
  250. wandb/sdk/data_types/table.py +1204 -0
  251. wandb/sdk/data_types/trace_tree.py +438 -0
  252. wandb/sdk/data_types/utils.py +229 -0
  253. wandb/sdk/data_types/video.py +247 -0
  254. wandb/sdk/integration_utils/__init__.py +0 -0
  255. wandb/sdk/integration_utils/auto_logging.py +239 -0
  256. wandb/sdk/integration_utils/data_logging.py +475 -0
  257. wandb/sdk/interface/__init__.py +0 -0
  258. wandb/sdk/interface/constants.py +4 -0
  259. wandb/sdk/interface/interface.py +972 -0
  260. wandb/sdk/interface/interface_queue.py +59 -0
  261. wandb/sdk/interface/interface_relay.py +53 -0
  262. wandb/sdk/interface/interface_shared.py +537 -0
  263. wandb/sdk/interface/interface_sock.py +61 -0
  264. wandb/sdk/interface/message_future.py +27 -0
  265. wandb/sdk/interface/message_future_poll.py +50 -0
  266. wandb/sdk/interface/router.py +118 -0
  267. wandb/sdk/interface/router_queue.py +44 -0
  268. wandb/sdk/interface/router_relay.py +39 -0
  269. wandb/sdk/interface/router_sock.py +36 -0
  270. wandb/sdk/interface/summary_record.py +67 -0
  271. wandb/sdk/internal/__init__.py +0 -0
  272. wandb/sdk/internal/context.py +89 -0
  273. wandb/sdk/internal/datastore.py +297 -0
  274. wandb/sdk/internal/file_pusher.py +181 -0
  275. wandb/sdk/internal/file_stream.py +695 -0
  276. wandb/sdk/internal/flow_control.py +263 -0
  277. wandb/sdk/internal/handler.py +901 -0
  278. wandb/sdk/internal/internal.py +417 -0
  279. wandb/sdk/internal/internal_api.py +4358 -0
  280. wandb/sdk/internal/internal_util.py +100 -0
  281. wandb/sdk/internal/job_builder.py +629 -0
  282. wandb/sdk/internal/profiler.py +78 -0
  283. wandb/sdk/internal/progress.py +83 -0
  284. wandb/sdk/internal/run.py +25 -0
  285. wandb/sdk/internal/sample.py +70 -0
  286. wandb/sdk/internal/sender.py +1686 -0
  287. wandb/sdk/internal/sender_config.py +197 -0
  288. wandb/sdk/internal/settings_static.py +90 -0
  289. wandb/sdk/internal/system/__init__.py +0 -0
  290. wandb/sdk/internal/system/assets/__init__.py +27 -0
  291. wandb/sdk/internal/system/assets/aggregators.py +37 -0
  292. wandb/sdk/internal/system/assets/asset_registry.py +20 -0
  293. wandb/sdk/internal/system/assets/cpu.py +163 -0
  294. wandb/sdk/internal/system/assets/disk.py +210 -0
  295. wandb/sdk/internal/system/assets/gpu.py +416 -0
  296. wandb/sdk/internal/system/assets/gpu_amd.py +239 -0
  297. wandb/sdk/internal/system/assets/gpu_apple.py +177 -0
  298. wandb/sdk/internal/system/assets/interfaces.py +207 -0
  299. wandb/sdk/internal/system/assets/ipu.py +177 -0
  300. wandb/sdk/internal/system/assets/memory.py +166 -0
  301. wandb/sdk/internal/system/assets/network.py +125 -0
  302. wandb/sdk/internal/system/assets/open_metrics.py +299 -0
  303. wandb/sdk/internal/system/assets/tpu.py +154 -0
  304. wandb/sdk/internal/system/assets/trainium.py +399 -0
  305. wandb/sdk/internal/system/env_probe_helpers.py +13 -0
  306. wandb/sdk/internal/system/system_info.py +249 -0
  307. wandb/sdk/internal/system/system_monitor.py +229 -0
  308. wandb/sdk/internal/tb_watcher.py +518 -0
  309. wandb/sdk/internal/thread_local_settings.py +18 -0
  310. wandb/sdk/internal/writer.py +206 -0
  311. wandb/sdk/launch/__init__.py +14 -0
  312. wandb/sdk/launch/_launch.py +330 -0
  313. wandb/sdk/launch/_launch_add.py +255 -0
  314. wandb/sdk/launch/_project_spec.py +566 -0
  315. wandb/sdk/launch/agent/__init__.py +5 -0
  316. wandb/sdk/launch/agent/agent.py +924 -0
  317. wandb/sdk/launch/agent/config.py +296 -0
  318. wandb/sdk/launch/agent/job_status_tracker.py +53 -0
  319. wandb/sdk/launch/agent/run_queue_item_file_saver.py +45 -0
  320. wandb/sdk/launch/builder/__init__.py +0 -0
  321. wandb/sdk/launch/builder/abstract.py +156 -0
  322. wandb/sdk/launch/builder/build.py +297 -0
  323. wandb/sdk/launch/builder/context_manager.py +235 -0
  324. wandb/sdk/launch/builder/docker_builder.py +177 -0
  325. wandb/sdk/launch/builder/kaniko_builder.py +595 -0
  326. wandb/sdk/launch/builder/noop.py +58 -0
  327. wandb/sdk/launch/builder/templates/_wandb_bootstrap.py +188 -0
  328. wandb/sdk/launch/builder/templates/dockerfile.py +92 -0
  329. wandb/sdk/launch/create_job.py +528 -0
  330. wandb/sdk/launch/environment/abstract.py +29 -0
  331. wandb/sdk/launch/environment/aws_environment.py +322 -0
  332. wandb/sdk/launch/environment/azure_environment.py +105 -0
  333. wandb/sdk/launch/environment/gcp_environment.py +335 -0
  334. wandb/sdk/launch/environment/local_environment.py +66 -0
  335. wandb/sdk/launch/errors.py +19 -0
  336. wandb/sdk/launch/git_reference.py +109 -0
  337. wandb/sdk/launch/inputs/files.py +148 -0
  338. wandb/sdk/launch/inputs/internal.py +315 -0
  339. wandb/sdk/launch/inputs/manage.py +113 -0
  340. wandb/sdk/launch/inputs/schema.py +39 -0
  341. wandb/sdk/launch/loader.py +249 -0
  342. wandb/sdk/launch/registry/abstract.py +48 -0
  343. wandb/sdk/launch/registry/anon.py +29 -0
  344. wandb/sdk/launch/registry/azure_container_registry.py +124 -0
  345. wandb/sdk/launch/registry/elastic_container_registry.py +192 -0
  346. wandb/sdk/launch/registry/google_artifact_registry.py +219 -0
  347. wandb/sdk/launch/registry/local_registry.py +67 -0
  348. wandb/sdk/launch/runner/__init__.py +0 -0
  349. wandb/sdk/launch/runner/abstract.py +195 -0
  350. wandb/sdk/launch/runner/kubernetes_monitor.py +474 -0
  351. wandb/sdk/launch/runner/kubernetes_runner.py +963 -0
  352. wandb/sdk/launch/runner/local_container.py +301 -0
  353. wandb/sdk/launch/runner/local_process.py +78 -0
  354. wandb/sdk/launch/runner/sagemaker_runner.py +426 -0
  355. wandb/sdk/launch/runner/vertex_runner.py +230 -0
  356. wandb/sdk/launch/sweeps/__init__.py +39 -0
  357. wandb/sdk/launch/sweeps/scheduler.py +742 -0
  358. wandb/sdk/launch/sweeps/scheduler_sweep.py +91 -0
  359. wandb/sdk/launch/sweeps/utils.py +316 -0
  360. wandb/sdk/launch/utils.py +746 -0
  361. wandb/sdk/launch/wandb_reference.py +138 -0
  362. wandb/sdk/lib/__init__.py +5 -0
  363. wandb/sdk/lib/_settings_toposort_generate.py +159 -0
  364. wandb/sdk/lib/_settings_toposort_generated.py +250 -0
  365. wandb/sdk/lib/_wburls_generate.py +25 -0
  366. wandb/sdk/lib/_wburls_generated.py +22 -0
  367. wandb/sdk/lib/apikey.py +273 -0
  368. wandb/sdk/lib/capped_dict.py +26 -0
  369. wandb/sdk/lib/config_util.py +101 -0
  370. wandb/sdk/lib/credentials.py +141 -0
  371. wandb/sdk/lib/deprecate.py +42 -0
  372. wandb/sdk/lib/disabled.py +29 -0
  373. wandb/sdk/lib/exit_hooks.py +54 -0
  374. wandb/sdk/lib/file_stream_utils.py +118 -0
  375. wandb/sdk/lib/filenames.py +64 -0
  376. wandb/sdk/lib/filesystem.py +372 -0
  377. wandb/sdk/lib/fsm.py +174 -0
  378. wandb/sdk/lib/gitlib.py +239 -0
  379. wandb/sdk/lib/gql_request.py +65 -0
  380. wandb/sdk/lib/handler_util.py +21 -0
  381. wandb/sdk/lib/hashutil.py +84 -0
  382. wandb/sdk/lib/import_hooks.py +275 -0
  383. wandb/sdk/lib/ipython.py +146 -0
  384. wandb/sdk/lib/json_util.py +80 -0
  385. wandb/sdk/lib/lazyloader.py +63 -0
  386. wandb/sdk/lib/mailbox.py +460 -0
  387. wandb/sdk/lib/module.py +69 -0
  388. wandb/sdk/lib/paths.py +106 -0
  389. wandb/sdk/lib/preinit.py +42 -0
  390. wandb/sdk/lib/printer.py +313 -0
  391. wandb/sdk/lib/proto_util.py +90 -0
  392. wandb/sdk/lib/redirect.py +845 -0
  393. wandb/sdk/lib/reporting.py +99 -0
  394. wandb/sdk/lib/retry.py +289 -0
  395. wandb/sdk/lib/run_moment.py +78 -0
  396. wandb/sdk/lib/runid.py +12 -0
  397. wandb/sdk/lib/server.py +52 -0
  398. wandb/sdk/lib/service_connection.py +216 -0
  399. wandb/sdk/lib/service_token.py +94 -0
  400. wandb/sdk/lib/sock_client.py +295 -0
  401. wandb/sdk/lib/sparkline.py +45 -0
  402. wandb/sdk/lib/telemetry.py +100 -0
  403. wandb/sdk/lib/timed_input.py +133 -0
  404. wandb/sdk/lib/timer.py +19 -0
  405. wandb/sdk/lib/tracelog.py +255 -0
  406. wandb/sdk/lib/wburls.py +46 -0
  407. wandb/sdk/service/__init__.py +0 -0
  408. wandb/sdk/service/_startup_debug.py +22 -0
  409. wandb/sdk/service/port_file.py +53 -0
  410. wandb/sdk/service/server.py +116 -0
  411. wandb/sdk/service/server_sock.py +276 -0
  412. wandb/sdk/service/service.py +242 -0
  413. wandb/sdk/service/streams.py +417 -0
  414. wandb/sdk/verify/__init__.py +0 -0
  415. wandb/sdk/verify/verify.py +501 -0
  416. wandb/sdk/wandb_alerts.py +12 -0
  417. wandb/sdk/wandb_config.py +322 -0
  418. wandb/sdk/wandb_helper.py +54 -0
  419. wandb/sdk/wandb_init.py +1266 -0
  420. wandb/sdk/wandb_login.py +349 -0
  421. wandb/sdk/wandb_metric.py +110 -0
  422. wandb/sdk/wandb_require.py +97 -0
  423. wandb/sdk/wandb_require_helpers.py +44 -0
  424. wandb/sdk/wandb_run.py +4236 -0
  425. wandb/sdk/wandb_settings.py +2001 -0
  426. wandb/sdk/wandb_setup.py +409 -0
  427. wandb/sdk/wandb_summary.py +150 -0
  428. wandb/sdk/wandb_sweep.py +119 -0
  429. wandb/sdk/wandb_sync.py +81 -0
  430. wandb/sdk/wandb_watch.py +144 -0
  431. wandb/sklearn.py +35 -0
  432. wandb/sync/__init__.py +3 -0
  433. wandb/sync/sync.py +443 -0
  434. wandb/trigger.py +29 -0
  435. wandb/util.py +1956 -0
  436. wandb/vendor/__init__.py +0 -0
  437. wandb/vendor/gql-0.2.0/setup.py +40 -0
  438. wandb/vendor/gql-0.2.0/tests/__init__.py +0 -0
  439. wandb/vendor/gql-0.2.0/tests/starwars/__init__.py +0 -0
  440. wandb/vendor/gql-0.2.0/tests/starwars/fixtures.py +96 -0
  441. wandb/vendor/gql-0.2.0/tests/starwars/schema.py +146 -0
  442. wandb/vendor/gql-0.2.0/tests/starwars/test_dsl.py +293 -0
  443. wandb/vendor/gql-0.2.0/tests/starwars/test_query.py +355 -0
  444. wandb/vendor/gql-0.2.0/tests/starwars/test_validation.py +171 -0
  445. wandb/vendor/gql-0.2.0/tests/test_client.py +31 -0
  446. wandb/vendor/gql-0.2.0/tests/test_transport.py +89 -0
  447. wandb/vendor/gql-0.2.0/wandb_gql/__init__.py +4 -0
  448. wandb/vendor/gql-0.2.0/wandb_gql/client.py +75 -0
  449. wandb/vendor/gql-0.2.0/wandb_gql/dsl.py +152 -0
  450. wandb/vendor/gql-0.2.0/wandb_gql/gql.py +10 -0
  451. wandb/vendor/gql-0.2.0/wandb_gql/transport/__init__.py +0 -0
  452. wandb/vendor/gql-0.2.0/wandb_gql/transport/http.py +6 -0
  453. wandb/vendor/gql-0.2.0/wandb_gql/transport/local_schema.py +15 -0
  454. wandb/vendor/gql-0.2.0/wandb_gql/transport/requests.py +46 -0
  455. wandb/vendor/gql-0.2.0/wandb_gql/utils.py +21 -0
  456. wandb/vendor/graphql-core-1.1/setup.py +86 -0
  457. wandb/vendor/graphql-core-1.1/wandb_graphql/__init__.py +287 -0
  458. wandb/vendor/graphql-core-1.1/wandb_graphql/error/__init__.py +6 -0
  459. wandb/vendor/graphql-core-1.1/wandb_graphql/error/base.py +42 -0
  460. wandb/vendor/graphql-core-1.1/wandb_graphql/error/format_error.py +11 -0
  461. wandb/vendor/graphql-core-1.1/wandb_graphql/error/located_error.py +29 -0
  462. wandb/vendor/graphql-core-1.1/wandb_graphql/error/syntax_error.py +36 -0
  463. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/__init__.py +26 -0
  464. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/base.py +311 -0
  465. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executor.py +398 -0
  466. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/__init__.py +0 -0
  467. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/asyncio.py +53 -0
  468. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/gevent.py +22 -0
  469. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/process.py +32 -0
  470. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/sync.py +7 -0
  471. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/thread.py +35 -0
  472. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/executors/utils.py +6 -0
  473. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/__init__.py +0 -0
  474. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/executor.py +66 -0
  475. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/fragment.py +252 -0
  476. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/resolver.py +151 -0
  477. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/experimental/utils.py +7 -0
  478. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/middleware.py +57 -0
  479. wandb/vendor/graphql-core-1.1/wandb_graphql/execution/values.py +145 -0
  480. wandb/vendor/graphql-core-1.1/wandb_graphql/graphql.py +60 -0
  481. wandb/vendor/graphql-core-1.1/wandb_graphql/language/__init__.py +0 -0
  482. wandb/vendor/graphql-core-1.1/wandb_graphql/language/ast.py +1349 -0
  483. wandb/vendor/graphql-core-1.1/wandb_graphql/language/base.py +19 -0
  484. wandb/vendor/graphql-core-1.1/wandb_graphql/language/lexer.py +435 -0
  485. wandb/vendor/graphql-core-1.1/wandb_graphql/language/location.py +30 -0
  486. wandb/vendor/graphql-core-1.1/wandb_graphql/language/parser.py +779 -0
  487. wandb/vendor/graphql-core-1.1/wandb_graphql/language/printer.py +193 -0
  488. wandb/vendor/graphql-core-1.1/wandb_graphql/language/source.py +18 -0
  489. wandb/vendor/graphql-core-1.1/wandb_graphql/language/visitor.py +222 -0
  490. wandb/vendor/graphql-core-1.1/wandb_graphql/language/visitor_meta.py +82 -0
  491. wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/__init__.py +0 -0
  492. wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/cached_property.py +17 -0
  493. wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/contain_subset.py +28 -0
  494. wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/default_ordered_dict.py +40 -0
  495. wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/ordereddict.py +8 -0
  496. wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/pair_set.py +43 -0
  497. wandb/vendor/graphql-core-1.1/wandb_graphql/pyutils/version.py +78 -0
  498. wandb/vendor/graphql-core-1.1/wandb_graphql/type/__init__.py +67 -0
  499. wandb/vendor/graphql-core-1.1/wandb_graphql/type/definition.py +619 -0
  500. wandb/vendor/graphql-core-1.1/wandb_graphql/type/directives.py +132 -0
  501. wandb/vendor/graphql-core-1.1/wandb_graphql/type/introspection.py +440 -0
  502. wandb/vendor/graphql-core-1.1/wandb_graphql/type/scalars.py +131 -0
  503. wandb/vendor/graphql-core-1.1/wandb_graphql/type/schema.py +100 -0
  504. wandb/vendor/graphql-core-1.1/wandb_graphql/type/typemap.py +145 -0
  505. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/__init__.py +0 -0
  506. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/assert_valid_name.py +9 -0
  507. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_from_value.py +65 -0
  508. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_to_code.py +49 -0
  509. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/ast_to_dict.py +24 -0
  510. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/base.py +75 -0
  511. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/build_ast_schema.py +291 -0
  512. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/build_client_schema.py +250 -0
  513. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/concat_ast.py +9 -0
  514. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/extend_schema.py +357 -0
  515. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/get_field_def.py +27 -0
  516. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/get_operation_ast.py +21 -0
  517. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/introspection_query.py +90 -0
  518. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/is_valid_literal_value.py +67 -0
  519. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/is_valid_value.py +66 -0
  520. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/quoted_or_list.py +21 -0
  521. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/schema_printer.py +168 -0
  522. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/suggestion_list.py +56 -0
  523. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_comparators.py +69 -0
  524. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_from_ast.py +21 -0
  525. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/type_info.py +149 -0
  526. wandb/vendor/graphql-core-1.1/wandb_graphql/utils/value_from_ast.py +69 -0
  527. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/__init__.py +4 -0
  528. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/__init__.py +79 -0
  529. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/arguments_of_correct_type.py +24 -0
  530. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/base.py +8 -0
  531. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/default_values_of_correct_type.py +44 -0
  532. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/fields_on_correct_type.py +113 -0
  533. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/fragments_on_composite_types.py +33 -0
  534. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_argument_names.py +70 -0
  535. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_directives.py +97 -0
  536. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_fragment_names.py +19 -0
  537. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/known_type_names.py +43 -0
  538. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/lone_anonymous_operation.py +23 -0
  539. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_fragment_cycles.py +59 -0
  540. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_undefined_variables.py +36 -0
  541. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_unused_fragments.py +38 -0
  542. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_unused_variables.py +37 -0
  543. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/overlapping_fields_can_be_merged.py +529 -0
  544. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/possible_fragment_spreads.py +44 -0
  545. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/provided_non_null_arguments.py +46 -0
  546. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/scalar_leafs.py +33 -0
  547. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_argument_names.py +32 -0
  548. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_fragment_names.py +28 -0
  549. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_input_field_names.py +33 -0
  550. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_operation_names.py +31 -0
  551. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/unique_variable_names.py +27 -0
  552. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/variables_are_input_types.py +21 -0
  553. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/variables_in_allowed_position.py +53 -0
  554. wandb/vendor/graphql-core-1.1/wandb_graphql/validation/validation.py +158 -0
  555. wandb/vendor/promise-2.3.0/conftest.py +30 -0
  556. wandb/vendor/promise-2.3.0/setup.py +64 -0
  557. wandb/vendor/promise-2.3.0/tests/__init__.py +0 -0
  558. wandb/vendor/promise-2.3.0/tests/conftest.py +8 -0
  559. wandb/vendor/promise-2.3.0/tests/test_awaitable.py +32 -0
  560. wandb/vendor/promise-2.3.0/tests/test_awaitable_35.py +47 -0
  561. wandb/vendor/promise-2.3.0/tests/test_benchmark.py +116 -0
  562. wandb/vendor/promise-2.3.0/tests/test_complex_threads.py +23 -0
  563. wandb/vendor/promise-2.3.0/tests/test_dataloader.py +452 -0
  564. wandb/vendor/promise-2.3.0/tests/test_dataloader_awaitable_35.py +99 -0
  565. wandb/vendor/promise-2.3.0/tests/test_dataloader_extra.py +65 -0
  566. wandb/vendor/promise-2.3.0/tests/test_extra.py +670 -0
  567. wandb/vendor/promise-2.3.0/tests/test_issues.py +132 -0
  568. wandb/vendor/promise-2.3.0/tests/test_promise_list.py +70 -0
  569. wandb/vendor/promise-2.3.0/tests/test_spec.py +584 -0
  570. wandb/vendor/promise-2.3.0/tests/test_thread_safety.py +115 -0
  571. wandb/vendor/promise-2.3.0/tests/utils.py +3 -0
  572. wandb/vendor/promise-2.3.0/wandb_promise/__init__.py +38 -0
  573. wandb/vendor/promise-2.3.0/wandb_promise/async_.py +135 -0
  574. wandb/vendor/promise-2.3.0/wandb_promise/compat.py +32 -0
  575. wandb/vendor/promise-2.3.0/wandb_promise/dataloader.py +326 -0
  576. wandb/vendor/promise-2.3.0/wandb_promise/iterate_promise.py +12 -0
  577. wandb/vendor/promise-2.3.0/wandb_promise/promise.py +848 -0
  578. wandb/vendor/promise-2.3.0/wandb_promise/promise_list.py +151 -0
  579. wandb/vendor/promise-2.3.0/wandb_promise/pyutils/__init__.py +0 -0
  580. wandb/vendor/promise-2.3.0/wandb_promise/pyutils/version.py +83 -0
  581. wandb/vendor/promise-2.3.0/wandb_promise/schedulers/__init__.py +0 -0
  582. wandb/vendor/promise-2.3.0/wandb_promise/schedulers/asyncio.py +22 -0
  583. wandb/vendor/promise-2.3.0/wandb_promise/schedulers/gevent.py +21 -0
  584. wandb/vendor/promise-2.3.0/wandb_promise/schedulers/immediate.py +27 -0
  585. wandb/vendor/promise-2.3.0/wandb_promise/schedulers/thread.py +18 -0
  586. wandb/vendor/promise-2.3.0/wandb_promise/utils.py +56 -0
  587. wandb/vendor/pygments/__init__.py +90 -0
  588. wandb/vendor/pygments/cmdline.py +568 -0
  589. wandb/vendor/pygments/console.py +74 -0
  590. wandb/vendor/pygments/filter.py +74 -0
  591. wandb/vendor/pygments/filters/__init__.py +350 -0
  592. wandb/vendor/pygments/formatter.py +95 -0
  593. wandb/vendor/pygments/formatters/__init__.py +153 -0
  594. wandb/vendor/pygments/formatters/_mapping.py +85 -0
  595. wandb/vendor/pygments/formatters/bbcode.py +109 -0
  596. wandb/vendor/pygments/formatters/html.py +851 -0
  597. wandb/vendor/pygments/formatters/img.py +600 -0
  598. wandb/vendor/pygments/formatters/irc.py +182 -0
  599. wandb/vendor/pygments/formatters/latex.py +482 -0
  600. wandb/vendor/pygments/formatters/other.py +160 -0
  601. wandb/vendor/pygments/formatters/rtf.py +147 -0
  602. wandb/vendor/pygments/formatters/svg.py +153 -0
  603. wandb/vendor/pygments/formatters/terminal.py +136 -0
  604. wandb/vendor/pygments/formatters/terminal256.py +309 -0
  605. wandb/vendor/pygments/lexer.py +871 -0
  606. wandb/vendor/pygments/lexers/__init__.py +329 -0
  607. wandb/vendor/pygments/lexers/_asy_builtins.py +1645 -0
  608. wandb/vendor/pygments/lexers/_cl_builtins.py +232 -0
  609. wandb/vendor/pygments/lexers/_cocoa_builtins.py +72 -0
  610. wandb/vendor/pygments/lexers/_csound_builtins.py +1346 -0
  611. wandb/vendor/pygments/lexers/_lasso_builtins.py +5327 -0
  612. wandb/vendor/pygments/lexers/_lua_builtins.py +295 -0
  613. wandb/vendor/pygments/lexers/_mapping.py +500 -0
  614. wandb/vendor/pygments/lexers/_mql_builtins.py +1172 -0
  615. wandb/vendor/pygments/lexers/_openedge_builtins.py +2547 -0
  616. wandb/vendor/pygments/lexers/_php_builtins.py +4756 -0
  617. wandb/vendor/pygments/lexers/_postgres_builtins.py +621 -0
  618. wandb/vendor/pygments/lexers/_scilab_builtins.py +3094 -0
  619. wandb/vendor/pygments/lexers/_sourcemod_builtins.py +1163 -0
  620. wandb/vendor/pygments/lexers/_stan_builtins.py +532 -0
  621. wandb/vendor/pygments/lexers/_stata_builtins.py +419 -0
  622. wandb/vendor/pygments/lexers/_tsql_builtins.py +1004 -0
  623. wandb/vendor/pygments/lexers/_vim_builtins.py +1939 -0
  624. wandb/vendor/pygments/lexers/actionscript.py +240 -0
  625. wandb/vendor/pygments/lexers/agile.py +24 -0
  626. wandb/vendor/pygments/lexers/algebra.py +221 -0
  627. wandb/vendor/pygments/lexers/ambient.py +76 -0
  628. wandb/vendor/pygments/lexers/ampl.py +87 -0
  629. wandb/vendor/pygments/lexers/apl.py +101 -0
  630. wandb/vendor/pygments/lexers/archetype.py +318 -0
  631. wandb/vendor/pygments/lexers/asm.py +641 -0
  632. wandb/vendor/pygments/lexers/automation.py +374 -0
  633. wandb/vendor/pygments/lexers/basic.py +500 -0
  634. wandb/vendor/pygments/lexers/bibtex.py +160 -0
  635. wandb/vendor/pygments/lexers/business.py +612 -0
  636. wandb/vendor/pygments/lexers/c_cpp.py +252 -0
  637. wandb/vendor/pygments/lexers/c_like.py +541 -0
  638. wandb/vendor/pygments/lexers/capnproto.py +78 -0
  639. wandb/vendor/pygments/lexers/chapel.py +102 -0
  640. wandb/vendor/pygments/lexers/clean.py +288 -0
  641. wandb/vendor/pygments/lexers/compiled.py +34 -0
  642. wandb/vendor/pygments/lexers/configs.py +833 -0
  643. wandb/vendor/pygments/lexers/console.py +114 -0
  644. wandb/vendor/pygments/lexers/crystal.py +393 -0
  645. wandb/vendor/pygments/lexers/csound.py +366 -0
  646. wandb/vendor/pygments/lexers/css.py +689 -0
  647. wandb/vendor/pygments/lexers/d.py +251 -0
  648. wandb/vendor/pygments/lexers/dalvik.py +125 -0
  649. wandb/vendor/pygments/lexers/data.py +555 -0
  650. wandb/vendor/pygments/lexers/diff.py +165 -0
  651. wandb/vendor/pygments/lexers/dotnet.py +691 -0
  652. wandb/vendor/pygments/lexers/dsls.py +878 -0
  653. wandb/vendor/pygments/lexers/dylan.py +289 -0
  654. wandb/vendor/pygments/lexers/ecl.py +125 -0
  655. wandb/vendor/pygments/lexers/eiffel.py +65 -0
  656. wandb/vendor/pygments/lexers/elm.py +121 -0
  657. wandb/vendor/pygments/lexers/erlang.py +533 -0
  658. wandb/vendor/pygments/lexers/esoteric.py +277 -0
  659. wandb/vendor/pygments/lexers/ezhil.py +69 -0
  660. wandb/vendor/pygments/lexers/factor.py +344 -0
  661. wandb/vendor/pygments/lexers/fantom.py +250 -0
  662. wandb/vendor/pygments/lexers/felix.py +273 -0
  663. wandb/vendor/pygments/lexers/forth.py +177 -0
  664. wandb/vendor/pygments/lexers/fortran.py +205 -0
  665. wandb/vendor/pygments/lexers/foxpro.py +428 -0
  666. wandb/vendor/pygments/lexers/functional.py +21 -0
  667. wandb/vendor/pygments/lexers/go.py +101 -0
  668. wandb/vendor/pygments/lexers/grammar_notation.py +213 -0
  669. wandb/vendor/pygments/lexers/graph.py +80 -0
  670. wandb/vendor/pygments/lexers/graphics.py +553 -0
  671. wandb/vendor/pygments/lexers/haskell.py +843 -0
  672. wandb/vendor/pygments/lexers/haxe.py +936 -0
  673. wandb/vendor/pygments/lexers/hdl.py +382 -0
  674. wandb/vendor/pygments/lexers/hexdump.py +103 -0
  675. wandb/vendor/pygments/lexers/html.py +602 -0
  676. wandb/vendor/pygments/lexers/idl.py +270 -0
  677. wandb/vendor/pygments/lexers/igor.py +288 -0
  678. wandb/vendor/pygments/lexers/inferno.py +96 -0
  679. wandb/vendor/pygments/lexers/installers.py +322 -0
  680. wandb/vendor/pygments/lexers/int_fiction.py +1343 -0
  681. wandb/vendor/pygments/lexers/iolang.py +63 -0
  682. wandb/vendor/pygments/lexers/j.py +146 -0
  683. wandb/vendor/pygments/lexers/javascript.py +1525 -0
  684. wandb/vendor/pygments/lexers/julia.py +333 -0
  685. wandb/vendor/pygments/lexers/jvm.py +1573 -0
  686. wandb/vendor/pygments/lexers/lisp.py +2621 -0
  687. wandb/vendor/pygments/lexers/make.py +202 -0
  688. wandb/vendor/pygments/lexers/markup.py +595 -0
  689. wandb/vendor/pygments/lexers/math.py +21 -0
  690. wandb/vendor/pygments/lexers/matlab.py +663 -0
  691. wandb/vendor/pygments/lexers/ml.py +769 -0
  692. wandb/vendor/pygments/lexers/modeling.py +358 -0
  693. wandb/vendor/pygments/lexers/modula2.py +1561 -0
  694. wandb/vendor/pygments/lexers/monte.py +204 -0
  695. wandb/vendor/pygments/lexers/ncl.py +894 -0
  696. wandb/vendor/pygments/lexers/nimrod.py +159 -0
  697. wandb/vendor/pygments/lexers/nit.py +64 -0
  698. wandb/vendor/pygments/lexers/nix.py +136 -0
  699. wandb/vendor/pygments/lexers/oberon.py +105 -0
  700. wandb/vendor/pygments/lexers/objective.py +504 -0
  701. wandb/vendor/pygments/lexers/ooc.py +85 -0
  702. wandb/vendor/pygments/lexers/other.py +41 -0
  703. wandb/vendor/pygments/lexers/parasail.py +79 -0
  704. wandb/vendor/pygments/lexers/parsers.py +835 -0
  705. wandb/vendor/pygments/lexers/pascal.py +644 -0
  706. wandb/vendor/pygments/lexers/pawn.py +199 -0
  707. wandb/vendor/pygments/lexers/perl.py +620 -0
  708. wandb/vendor/pygments/lexers/php.py +267 -0
  709. wandb/vendor/pygments/lexers/praat.py +294 -0
  710. wandb/vendor/pygments/lexers/prolog.py +306 -0
  711. wandb/vendor/pygments/lexers/python.py +939 -0
  712. wandb/vendor/pygments/lexers/qvt.py +152 -0
  713. wandb/vendor/pygments/lexers/r.py +453 -0
  714. wandb/vendor/pygments/lexers/rdf.py +270 -0
  715. wandb/vendor/pygments/lexers/rebol.py +431 -0
  716. wandb/vendor/pygments/lexers/resource.py +85 -0
  717. wandb/vendor/pygments/lexers/rnc.py +67 -0
  718. wandb/vendor/pygments/lexers/roboconf.py +82 -0
  719. wandb/vendor/pygments/lexers/robotframework.py +560 -0
  720. wandb/vendor/pygments/lexers/ruby.py +519 -0
  721. wandb/vendor/pygments/lexers/rust.py +220 -0
  722. wandb/vendor/pygments/lexers/sas.py +228 -0
  723. wandb/vendor/pygments/lexers/scripting.py +1222 -0
  724. wandb/vendor/pygments/lexers/shell.py +794 -0
  725. wandb/vendor/pygments/lexers/smalltalk.py +195 -0
  726. wandb/vendor/pygments/lexers/smv.py +79 -0
  727. wandb/vendor/pygments/lexers/snobol.py +83 -0
  728. wandb/vendor/pygments/lexers/special.py +103 -0
  729. wandb/vendor/pygments/lexers/sql.py +681 -0
  730. wandb/vendor/pygments/lexers/stata.py +108 -0
  731. wandb/vendor/pygments/lexers/supercollider.py +90 -0
  732. wandb/vendor/pygments/lexers/tcl.py +145 -0
  733. wandb/vendor/pygments/lexers/templates.py +2283 -0
  734. wandb/vendor/pygments/lexers/testing.py +207 -0
  735. wandb/vendor/pygments/lexers/text.py +25 -0
  736. wandb/vendor/pygments/lexers/textedit.py +169 -0
  737. wandb/vendor/pygments/lexers/textfmts.py +297 -0
  738. wandb/vendor/pygments/lexers/theorem.py +458 -0
  739. wandb/vendor/pygments/lexers/trafficscript.py +54 -0
  740. wandb/vendor/pygments/lexers/typoscript.py +226 -0
  741. wandb/vendor/pygments/lexers/urbi.py +133 -0
  742. wandb/vendor/pygments/lexers/varnish.py +190 -0
  743. wandb/vendor/pygments/lexers/verification.py +111 -0
  744. wandb/vendor/pygments/lexers/web.py +24 -0
  745. wandb/vendor/pygments/lexers/webmisc.py +988 -0
  746. wandb/vendor/pygments/lexers/whiley.py +116 -0
  747. wandb/vendor/pygments/lexers/x10.py +69 -0
  748. wandb/vendor/pygments/modeline.py +44 -0
  749. wandb/vendor/pygments/plugin.py +68 -0
  750. wandb/vendor/pygments/regexopt.py +92 -0
  751. wandb/vendor/pygments/scanner.py +105 -0
  752. wandb/vendor/pygments/sphinxext.py +158 -0
  753. wandb/vendor/pygments/style.py +155 -0
  754. wandb/vendor/pygments/styles/__init__.py +80 -0
  755. wandb/vendor/pygments/styles/abap.py +29 -0
  756. wandb/vendor/pygments/styles/algol.py +63 -0
  757. wandb/vendor/pygments/styles/algol_nu.py +63 -0
  758. wandb/vendor/pygments/styles/arduino.py +98 -0
  759. wandb/vendor/pygments/styles/autumn.py +65 -0
  760. wandb/vendor/pygments/styles/borland.py +51 -0
  761. wandb/vendor/pygments/styles/bw.py +49 -0
  762. wandb/vendor/pygments/styles/colorful.py +81 -0
  763. wandb/vendor/pygments/styles/default.py +73 -0
  764. wandb/vendor/pygments/styles/emacs.py +72 -0
  765. wandb/vendor/pygments/styles/friendly.py +72 -0
  766. wandb/vendor/pygments/styles/fruity.py +42 -0
  767. wandb/vendor/pygments/styles/igor.py +29 -0
  768. wandb/vendor/pygments/styles/lovelace.py +97 -0
  769. wandb/vendor/pygments/styles/manni.py +75 -0
  770. wandb/vendor/pygments/styles/monokai.py +106 -0
  771. wandb/vendor/pygments/styles/murphy.py +80 -0
  772. wandb/vendor/pygments/styles/native.py +65 -0
  773. wandb/vendor/pygments/styles/paraiso_dark.py +125 -0
  774. wandb/vendor/pygments/styles/paraiso_light.py +125 -0
  775. wandb/vendor/pygments/styles/pastie.py +75 -0
  776. wandb/vendor/pygments/styles/perldoc.py +69 -0
  777. wandb/vendor/pygments/styles/rainbow_dash.py +89 -0
  778. wandb/vendor/pygments/styles/rrt.py +33 -0
  779. wandb/vendor/pygments/styles/sas.py +44 -0
  780. wandb/vendor/pygments/styles/stata.py +40 -0
  781. wandb/vendor/pygments/styles/tango.py +141 -0
  782. wandb/vendor/pygments/styles/trac.py +63 -0
  783. wandb/vendor/pygments/styles/vim.py +63 -0
  784. wandb/vendor/pygments/styles/vs.py +38 -0
  785. wandb/vendor/pygments/styles/xcode.py +51 -0
  786. wandb/vendor/pygments/token.py +213 -0
  787. wandb/vendor/pygments/unistring.py +217 -0
  788. wandb/vendor/pygments/util.py +388 -0
  789. wandb/vendor/pynvml/__init__.py +0 -0
  790. wandb/vendor/pynvml/pynvml.py +4779 -0
  791. wandb/vendor/watchdog_0_9_0/wandb_watchdog/__init__.py +17 -0
  792. wandb/vendor/watchdog_0_9_0/wandb_watchdog/events.py +615 -0
  793. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/__init__.py +98 -0
  794. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/api.py +369 -0
  795. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/fsevents.py +172 -0
  796. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/fsevents2.py +239 -0
  797. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify.py +218 -0
  798. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify_buffer.py +81 -0
  799. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/inotify_c.py +575 -0
  800. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/kqueue.py +730 -0
  801. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/polling.py +145 -0
  802. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/read_directory_changes.py +133 -0
  803. wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/winapi.py +348 -0
  804. wandb/vendor/watchdog_0_9_0/wandb_watchdog/patterns.py +265 -0
  805. wandb/vendor/watchdog_0_9_0/wandb_watchdog/tricks/__init__.py +174 -0
  806. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/__init__.py +151 -0
  807. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/bricks.py +249 -0
  808. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/compat.py +29 -0
  809. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/decorators.py +198 -0
  810. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/delayed_queue.py +88 -0
  811. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/dirsnapshot.py +293 -0
  812. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/echo.py +157 -0
  813. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/event_backport.py +41 -0
  814. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/importlib2.py +40 -0
  815. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py +57 -0
  816. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py +64 -0
  817. wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py +123 -0
  818. wandb/vendor/watchdog_0_9_0/wandb_watchdog/version.py +28 -0
  819. wandb/vendor/watchdog_0_9_0/wandb_watchdog/watchmedo.py +577 -0
  820. wandb/wandb_agent.py +588 -0
  821. wandb/wandb_controller.py +721 -0
  822. wandb/wandb_run.py +9 -0
  823. wandb-0.18.2.dist-info/METADATA +213 -0
  824. wandb-0.18.2.dist-info/RECORD +827 -0
  825. wandb-0.18.2.dist-info/WHEEL +5 -0
  826. wandb-0.18.2.dist-info/entry_points.txt +3 -0
  827. wandb-0.18.2.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,1349 @@
1
+ # This is autogenerated code. DO NOT change this manually.
2
+ # Run scripts/generate_ast.py to generate this file.
3
+
4
+
5
+ class Node(object):
6
+ __slots__ = ()
7
+
8
+
9
+ class Definition(Node):
10
+ __slots__ = ()
11
+
12
+
13
+ class Document(Node):
14
+ __slots__ = ('loc', 'definitions',)
15
+ _fields = ('definitions',)
16
+
17
+ def __init__(self, definitions, loc=None):
18
+ self.loc = loc
19
+ self.definitions = definitions
20
+
21
+ def __eq__(self, other):
22
+ return (
23
+ self is other or (
24
+ isinstance(other, Document) and
25
+ # self.loc == other.loc and
26
+ self.definitions == other.definitions
27
+ )
28
+ )
29
+
30
+ def __repr__(self):
31
+ return ('Document('
32
+ 'definitions={self.definitions!r}'
33
+ ')').format(self=self)
34
+
35
+ def __copy__(self):
36
+ return type(self)(
37
+ self.definitions,
38
+ self.loc
39
+ )
40
+
41
+ def __hash__(self):
42
+ return id(self)
43
+
44
+
45
+ class OperationDefinition(Definition):
46
+ __slots__ = ('loc', 'operation', 'name', 'variable_definitions', 'directives', 'selection_set',)
47
+ _fields = ('operation', 'name', 'variable_definitions', 'directives', 'selection_set',)
48
+
49
+ def __init__(self, operation, selection_set, name=None, variable_definitions=None, directives=None, loc=None):
50
+ self.loc = loc
51
+ self.operation = operation
52
+ self.name = name
53
+ self.variable_definitions = variable_definitions
54
+ self.directives = directives
55
+ self.selection_set = selection_set
56
+
57
+ def __eq__(self, other):
58
+ return (
59
+ self is other or (
60
+ isinstance(other, OperationDefinition) and
61
+ # self.loc == other.loc and
62
+ self.operation == other.operation and
63
+ self.name == other.name and
64
+ self.variable_definitions == other.variable_definitions and
65
+ self.directives == other.directives and
66
+ self.selection_set == other.selection_set
67
+ )
68
+ )
69
+
70
+ def __repr__(self):
71
+ return ('OperationDefinition('
72
+ 'operation={self.operation!r}'
73
+ ', name={self.name!r}'
74
+ ', variable_definitions={self.variable_definitions!r}'
75
+ ', directives={self.directives!r}'
76
+ ', selection_set={self.selection_set!r}'
77
+ ')').format(self=self)
78
+
79
+ def __copy__(self):
80
+ return type(self)(
81
+ self.operation,
82
+ self.selection_set,
83
+ self.name,
84
+ self.variable_definitions,
85
+ self.directives,
86
+ self.loc
87
+ )
88
+
89
+ def __hash__(self):
90
+ return id(self)
91
+
92
+
93
+ class VariableDefinition(Node):
94
+ __slots__ = ('loc', 'variable', 'type', 'default_value',)
95
+ _fields = ('variable', 'type', 'default_value',)
96
+
97
+ def __init__(self, variable, type, default_value=None, loc=None):
98
+ self.loc = loc
99
+ self.variable = variable
100
+ self.type = type
101
+ self.default_value = default_value
102
+
103
+ def __eq__(self, other):
104
+ return (
105
+ self is other or (
106
+ isinstance(other, VariableDefinition) and
107
+ # self.loc == other.loc and
108
+ self.variable == other.variable and
109
+ self.type == other.type and
110
+ self.default_value == other.default_value
111
+ )
112
+ )
113
+
114
+ def __repr__(self):
115
+ return ('VariableDefinition('
116
+ 'variable={self.variable!r}'
117
+ ', type={self.type!r}'
118
+ ', default_value={self.default_value!r}'
119
+ ')').format(self=self)
120
+
121
+ def __copy__(self):
122
+ return type(self)(
123
+ self.variable,
124
+ self.type,
125
+ self.default_value,
126
+ self.loc
127
+ )
128
+
129
+ def __hash__(self):
130
+ return id(self)
131
+
132
+
133
+ class SelectionSet(Node):
134
+ __slots__ = ('loc', 'selections',)
135
+ _fields = ('selections',)
136
+
137
+ def __init__(self, selections, loc=None):
138
+ self.loc = loc
139
+ self.selections = selections
140
+
141
+ def __eq__(self, other):
142
+ return (
143
+ self is other or (
144
+ isinstance(other, SelectionSet) and
145
+ # self.loc == other.loc and
146
+ self.selections == other.selections
147
+ )
148
+ )
149
+
150
+ def __repr__(self):
151
+ return ('SelectionSet('
152
+ 'selections={self.selections!r}'
153
+ ')').format(self=self)
154
+
155
+ def __copy__(self):
156
+ return type(self)(
157
+ self.selections,
158
+ self.loc
159
+ )
160
+
161
+ def __hash__(self):
162
+ return id(self)
163
+
164
+
165
+ class Selection(Node):
166
+ __slots__ = ()
167
+
168
+
169
+ class Field(Selection):
170
+ __slots__ = ('loc', 'alias', 'name', 'arguments', 'directives', 'selection_set',)
171
+ _fields = ('alias', 'name', 'arguments', 'directives', 'selection_set',)
172
+
173
+ def __init__(self, name, alias=None, arguments=None, directives=None, selection_set=None, loc=None):
174
+ self.loc = loc
175
+ self.alias = alias
176
+ self.name = name
177
+ self.arguments = arguments
178
+ self.directives = directives
179
+ self.selection_set = selection_set
180
+
181
+ def __eq__(self, other):
182
+ return (
183
+ self is other or (
184
+ isinstance(other, Field) and
185
+ # self.loc == other.loc and
186
+ self.alias == other.alias and
187
+ self.name == other.name and
188
+ self.arguments == other.arguments and
189
+ self.directives == other.directives and
190
+ self.selection_set == other.selection_set
191
+ )
192
+ )
193
+
194
+ def __repr__(self):
195
+ return ('Field('
196
+ 'alias={self.alias!r}'
197
+ ', name={self.name!r}'
198
+ ', arguments={self.arguments!r}'
199
+ ', directives={self.directives!r}'
200
+ ', selection_set={self.selection_set!r}'
201
+ ')').format(self=self)
202
+
203
+ def __copy__(self):
204
+ return type(self)(
205
+ self.name,
206
+ self.alias,
207
+ self.arguments,
208
+ self.directives,
209
+ self.selection_set,
210
+ self.loc
211
+ )
212
+
213
+ def __hash__(self):
214
+ return id(self)
215
+
216
+
217
+ class Argument(Node):
218
+ __slots__ = ('loc', 'name', 'value',)
219
+ _fields = ('name', 'value',)
220
+
221
+ def __init__(self, name, value, loc=None):
222
+ self.loc = loc
223
+ self.name = name
224
+ self.value = value
225
+
226
+ def __eq__(self, other):
227
+ return (
228
+ self is other or (
229
+ isinstance(other, Argument) and
230
+ # self.loc == other.loc and
231
+ self.name == other.name and
232
+ self.value == other.value
233
+ )
234
+ )
235
+
236
+ def __repr__(self):
237
+ return ('Argument('
238
+ 'name={self.name!r}'
239
+ ', value={self.value!r}'
240
+ ')').format(self=self)
241
+
242
+ def __copy__(self):
243
+ return type(self)(
244
+ self.name,
245
+ self.value,
246
+ self.loc
247
+ )
248
+
249
+ def __hash__(self):
250
+ return id(self)
251
+
252
+
253
+ class FragmentSpread(Selection):
254
+ __slots__ = ('loc', 'name', 'directives',)
255
+ _fields = ('name', 'directives',)
256
+
257
+ def __init__(self, name, directives=None, loc=None):
258
+ self.loc = loc
259
+ self.name = name
260
+ self.directives = directives
261
+
262
+ def __eq__(self, other):
263
+ return (
264
+ self is other or (
265
+ isinstance(other, FragmentSpread) and
266
+ # self.loc == other.loc and
267
+ self.name == other.name and
268
+ self.directives == other.directives
269
+ )
270
+ )
271
+
272
+ def __repr__(self):
273
+ return ('FragmentSpread('
274
+ 'name={self.name!r}'
275
+ ', directives={self.directives!r}'
276
+ ')').format(self=self)
277
+
278
+ def __copy__(self):
279
+ return type(self)(
280
+ self.name,
281
+ self.directives,
282
+ self.loc
283
+ )
284
+
285
+ def __hash__(self):
286
+ return id(self)
287
+
288
+
289
+ class InlineFragment(Selection):
290
+ __slots__ = ('loc', 'type_condition', 'directives', 'selection_set',)
291
+ _fields = ('type_condition', 'directives', 'selection_set',)
292
+
293
+ def __init__(self, type_condition, selection_set, directives=None, loc=None):
294
+ self.loc = loc
295
+ self.type_condition = type_condition
296
+ self.directives = directives
297
+ self.selection_set = selection_set
298
+
299
+ def __eq__(self, other):
300
+ return (
301
+ self is other or (
302
+ isinstance(other, InlineFragment) and
303
+ # self.loc == other.loc and
304
+ self.type_condition == other.type_condition and
305
+ self.directives == other.directives and
306
+ self.selection_set == other.selection_set
307
+ )
308
+ )
309
+
310
+ def __repr__(self):
311
+ return ('InlineFragment('
312
+ 'type_condition={self.type_condition!r}'
313
+ ', directives={self.directives!r}'
314
+ ', selection_set={self.selection_set!r}'
315
+ ')').format(self=self)
316
+
317
+ def __copy__(self):
318
+ return type(self)(
319
+ self.type_condition,
320
+ self.selection_set,
321
+ self.directives,
322
+ self.loc
323
+ )
324
+
325
+ def __hash__(self):
326
+ return id(self)
327
+
328
+
329
+ class FragmentDefinition(Definition):
330
+ __slots__ = ('loc', 'name', 'type_condition', 'directives', 'selection_set',)
331
+ _fields = ('name', 'type_condition', 'directives', 'selection_set',)
332
+
333
+ def __init__(self, name, type_condition, selection_set, directives=None, loc=None):
334
+ self.loc = loc
335
+ self.name = name
336
+ self.type_condition = type_condition
337
+ self.directives = directives
338
+ self.selection_set = selection_set
339
+
340
+ def __eq__(self, other):
341
+ return (
342
+ self is other or (
343
+ isinstance(other, FragmentDefinition) and
344
+ # self.loc == other.loc and
345
+ self.name == other.name and
346
+ self.type_condition == other.type_condition and
347
+ self.directives == other.directives and
348
+ self.selection_set == other.selection_set
349
+ )
350
+ )
351
+
352
+ def __repr__(self):
353
+ return ('FragmentDefinition('
354
+ 'name={self.name!r}'
355
+ ', type_condition={self.type_condition!r}'
356
+ ', directives={self.directives!r}'
357
+ ', selection_set={self.selection_set!r}'
358
+ ')').format(self=self)
359
+
360
+ def __copy__(self):
361
+ return type(self)(
362
+ self.name,
363
+ self.type_condition,
364
+ self.selection_set,
365
+ self.directives,
366
+ self.loc
367
+ )
368
+
369
+ def __hash__(self):
370
+ return id(self)
371
+
372
+
373
+ class Value(Node):
374
+ __slots__ = ()
375
+
376
+
377
+ class Variable(Value):
378
+ __slots__ = ('loc', 'name',)
379
+ _fields = ('name',)
380
+
381
+ def __init__(self, name, loc=None):
382
+ self.loc = loc
383
+ self.name = name
384
+
385
+ def __eq__(self, other):
386
+ return (
387
+ self is other or (
388
+ isinstance(other, Variable) and
389
+ # self.loc == other.loc and
390
+ self.name == other.name
391
+ )
392
+ )
393
+
394
+ def __repr__(self):
395
+ return ('Variable('
396
+ 'name={self.name!r}'
397
+ ')').format(self=self)
398
+
399
+ def __copy__(self):
400
+ return type(self)(
401
+ self.name,
402
+ self.loc
403
+ )
404
+
405
+ def __hash__(self):
406
+ return id(self)
407
+
408
+
409
+ class IntValue(Value):
410
+ __slots__ = ('loc', 'value',)
411
+ _fields = ('value',)
412
+
413
+ def __init__(self, value, loc=None):
414
+ self.loc = loc
415
+ self.value = value
416
+
417
+ def __eq__(self, other):
418
+ return (
419
+ self is other or (
420
+ isinstance(other, IntValue) and
421
+ # self.loc == other.loc and
422
+ self.value == other.value
423
+ )
424
+ )
425
+
426
+ def __repr__(self):
427
+ return ('IntValue('
428
+ 'value={self.value!r}'
429
+ ')').format(self=self)
430
+
431
+ def __copy__(self):
432
+ return type(self)(
433
+ self.value,
434
+ self.loc
435
+ )
436
+
437
+ def __hash__(self):
438
+ return id(self)
439
+
440
+
441
+ class FloatValue(Value):
442
+ __slots__ = ('loc', 'value',)
443
+ _fields = ('value',)
444
+
445
+ def __init__(self, value, loc=None):
446
+ self.loc = loc
447
+ self.value = value
448
+
449
+ def __eq__(self, other):
450
+ return (
451
+ self is other or (
452
+ isinstance(other, FloatValue) and
453
+ # self.loc == other.loc and
454
+ self.value == other.value
455
+ )
456
+ )
457
+
458
+ def __repr__(self):
459
+ return ('FloatValue('
460
+ 'value={self.value!r}'
461
+ ')').format(self=self)
462
+
463
+ def __copy__(self):
464
+ return type(self)(
465
+ self.value,
466
+ self.loc
467
+ )
468
+
469
+ def __hash__(self):
470
+ return id(self)
471
+
472
+
473
+ class StringValue(Value):
474
+ __slots__ = ('loc', 'value',)
475
+ _fields = ('value',)
476
+
477
+ def __init__(self, value, loc=None):
478
+ self.loc = loc
479
+ self.value = value
480
+
481
+ def __eq__(self, other):
482
+ return (
483
+ self is other or (
484
+ isinstance(other, StringValue) and
485
+ # self.loc == other.loc and
486
+ self.value == other.value
487
+ )
488
+ )
489
+
490
+ def __repr__(self):
491
+ return ('StringValue('
492
+ 'value={self.value!r}'
493
+ ')').format(self=self)
494
+
495
+ def __copy__(self):
496
+ return type(self)(
497
+ self.value,
498
+ self.loc
499
+ )
500
+
501
+ def __hash__(self):
502
+ return id(self)
503
+
504
+
505
+ class BooleanValue(Value):
506
+ __slots__ = ('loc', 'value',)
507
+ _fields = ('value',)
508
+
509
+ def __init__(self, value, loc=None):
510
+ self.loc = loc
511
+ self.value = value
512
+
513
+ def __eq__(self, other):
514
+ return (
515
+ self is other or (
516
+ isinstance(other, BooleanValue) and
517
+ # self.loc == other.loc and
518
+ self.value == other.value
519
+ )
520
+ )
521
+
522
+ def __repr__(self):
523
+ return ('BooleanValue('
524
+ 'value={self.value!r}'
525
+ ')').format(self=self)
526
+
527
+ def __copy__(self):
528
+ return type(self)(
529
+ self.value,
530
+ self.loc
531
+ )
532
+
533
+ def __hash__(self):
534
+ return id(self)
535
+
536
+
537
+ class EnumValue(Value):
538
+ __slots__ = ('loc', 'value',)
539
+ _fields = ('value',)
540
+
541
+ def __init__(self, value, loc=None):
542
+ self.loc = loc
543
+ self.value = value
544
+
545
+ def __eq__(self, other):
546
+ return (
547
+ self is other or (
548
+ isinstance(other, EnumValue) and
549
+ # self.loc == other.loc and
550
+ self.value == other.value
551
+ )
552
+ )
553
+
554
+ def __repr__(self):
555
+ return ('EnumValue('
556
+ 'value={self.value!r}'
557
+ ')').format(self=self)
558
+
559
+ def __copy__(self):
560
+ return type(self)(
561
+ self.value,
562
+ self.loc
563
+ )
564
+
565
+ def __hash__(self):
566
+ return id(self)
567
+
568
+
569
+ class ListValue(Value):
570
+ __slots__ = ('loc', 'values',)
571
+ _fields = ('values',)
572
+
573
+ def __init__(self, values, loc=None):
574
+ self.loc = loc
575
+ self.values = values
576
+
577
+ def __eq__(self, other):
578
+ return (
579
+ self is other or (
580
+ isinstance(other, ListValue) and
581
+ # self.loc == other.loc and
582
+ self.values == other.values
583
+ )
584
+ )
585
+
586
+ def __repr__(self):
587
+ return ('ListValue('
588
+ 'values={self.values!r}'
589
+ ')').format(self=self)
590
+
591
+ def __copy__(self):
592
+ return type(self)(
593
+ self.values,
594
+ self.loc
595
+ )
596
+
597
+ def __hash__(self):
598
+ return id(self)
599
+
600
+
601
+ class ObjectValue(Value):
602
+ __slots__ = ('loc', 'fields',)
603
+ _fields = ('fields',)
604
+
605
+ def __init__(self, fields, loc=None):
606
+ self.loc = loc
607
+ self.fields = fields
608
+
609
+ def __eq__(self, other):
610
+ return (
611
+ self is other or (
612
+ isinstance(other, ObjectValue) and
613
+ # self.loc == other.loc and
614
+ self.fields == other.fields
615
+ )
616
+ )
617
+
618
+ def __repr__(self):
619
+ return ('ObjectValue('
620
+ 'fields={self.fields!r}'
621
+ ')').format(self=self)
622
+
623
+ def __copy__(self):
624
+ return type(self)(
625
+ self.fields,
626
+ self.loc
627
+ )
628
+
629
+ def __hash__(self):
630
+ return id(self)
631
+
632
+
633
+ class ObjectField(Node):
634
+ __slots__ = ('loc', 'name', 'value',)
635
+ _fields = ('name', 'value',)
636
+
637
+ def __init__(self, name, value, loc=None):
638
+ self.loc = loc
639
+ self.name = name
640
+ self.value = value
641
+
642
+ def __eq__(self, other):
643
+ return (
644
+ self is other or (
645
+ isinstance(other, ObjectField) and
646
+ # self.loc == other.loc and
647
+ self.name == other.name and
648
+ self.value == other.value
649
+ )
650
+ )
651
+
652
+ def __repr__(self):
653
+ return ('ObjectField('
654
+ 'name={self.name!r}'
655
+ ', value={self.value!r}'
656
+ ')').format(self=self)
657
+
658
+ def __copy__(self):
659
+ return type(self)(
660
+ self.name,
661
+ self.value,
662
+ self.loc
663
+ )
664
+
665
+ def __hash__(self):
666
+ return id(self)
667
+
668
+
669
+ class Directive(Node):
670
+ __slots__ = ('loc', 'name', 'arguments',)
671
+ _fields = ('name', 'arguments',)
672
+
673
+ def __init__(self, name, arguments=None, loc=None):
674
+ self.loc = loc
675
+ self.name = name
676
+ self.arguments = arguments
677
+
678
+ def __eq__(self, other):
679
+ return (
680
+ self is other or (
681
+ isinstance(other, Directive) and
682
+ # self.loc == other.loc and
683
+ self.name == other.name and
684
+ self.arguments == other.arguments
685
+ )
686
+ )
687
+
688
+ def __repr__(self):
689
+ return ('Directive('
690
+ 'name={self.name!r}'
691
+ ', arguments={self.arguments!r}'
692
+ ')').format(self=self)
693
+
694
+ def __copy__(self):
695
+ return type(self)(
696
+ self.name,
697
+ self.arguments,
698
+ self.loc
699
+ )
700
+
701
+ def __hash__(self):
702
+ return id(self)
703
+
704
+
705
+ class Type(Node):
706
+ __slots__ = ()
707
+
708
+
709
+ class NamedType(Type):
710
+ __slots__ = ('loc', 'name',)
711
+ _fields = ('name',)
712
+
713
+ def __init__(self, name, loc=None):
714
+ self.loc = loc
715
+ self.name = name
716
+
717
+ def __eq__(self, other):
718
+ return (
719
+ self is other or (
720
+ isinstance(other, NamedType) and
721
+ # self.loc == other.loc and
722
+ self.name == other.name
723
+ )
724
+ )
725
+
726
+ def __repr__(self):
727
+ return ('NamedType('
728
+ 'name={self.name!r}'
729
+ ')').format(self=self)
730
+
731
+ def __copy__(self):
732
+ return type(self)(
733
+ self.name,
734
+ self.loc
735
+ )
736
+
737
+ def __hash__(self):
738
+ return id(self)
739
+
740
+
741
+ class ListType(Type):
742
+ __slots__ = ('loc', 'type',)
743
+ _fields = ('type',)
744
+
745
+ def __init__(self, type, loc=None):
746
+ self.loc = loc
747
+ self.type = type
748
+
749
+ def __eq__(self, other):
750
+ return (
751
+ self is other or (
752
+ isinstance(other, ListType) and
753
+ # self.loc == other.loc and
754
+ self.type == other.type
755
+ )
756
+ )
757
+
758
+ def __repr__(self):
759
+ return ('ListType('
760
+ 'type={self.type!r}'
761
+ ')').format(self=self)
762
+
763
+ def __copy__(self):
764
+ return type(self)(
765
+ self.type,
766
+ self.loc
767
+ )
768
+
769
+ def __hash__(self):
770
+ return id(self)
771
+
772
+
773
+ class NonNullType(Type):
774
+ __slots__ = ('loc', 'type',)
775
+ _fields = ('type',)
776
+
777
+ def __init__(self, type, loc=None):
778
+ self.loc = loc
779
+ self.type = type
780
+
781
+ def __eq__(self, other):
782
+ return (
783
+ self is other or (
784
+ isinstance(other, NonNullType) and
785
+ # self.loc == other.loc and
786
+ self.type == other.type
787
+ )
788
+ )
789
+
790
+ def __repr__(self):
791
+ return ('NonNullType('
792
+ 'type={self.type!r}'
793
+ ')').format(self=self)
794
+
795
+ def __copy__(self):
796
+ return type(self)(
797
+ self.type,
798
+ self.loc
799
+ )
800
+
801
+ def __hash__(self):
802
+ return id(self)
803
+
804
+
805
+ class Name(Node):
806
+ __slots__ = ('loc', 'value',)
807
+ _fields = ('value',)
808
+
809
+ def __init__(self, value, loc=None):
810
+ self.loc = loc
811
+ self.value = value
812
+
813
+ def __eq__(self, other):
814
+ return (
815
+ self is other or (
816
+ isinstance(other, Name) and
817
+ # self.loc == other.loc and
818
+ self.value == other.value
819
+ )
820
+ )
821
+
822
+ def __repr__(self):
823
+ return ('Name('
824
+ 'value={self.value!r}'
825
+ ')').format(self=self)
826
+
827
+ def __copy__(self):
828
+ return type(self)(
829
+ self.value,
830
+ self.loc
831
+ )
832
+
833
+ def __hash__(self):
834
+ return id(self)
835
+
836
+
837
+ # Type System Definition
838
+
839
+ class TypeDefinition(Node):
840
+ pass
841
+
842
+
843
+ class TypeSystemDefinition(TypeDefinition):
844
+ pass
845
+
846
+
847
+ class SchemaDefinition(TypeSystemDefinition):
848
+ __slots__ = ('loc', 'directives', 'operation_types',)
849
+ _fields = ('operation_types',)
850
+
851
+ def __init__(self, operation_types, loc=None, directives=None):
852
+ self.operation_types = operation_types
853
+ self.loc = loc
854
+ self.directives = directives
855
+
856
+ def __eq__(self, other):
857
+ return (
858
+ self is other or (
859
+ isinstance(other, SchemaDefinition) and
860
+ self.operation_types == other.operation_types and
861
+ self.directives == other.directives
862
+ )
863
+ )
864
+
865
+ def __repr__(self):
866
+ return ('SchemaDefinition('
867
+ 'operation_types={self.operation_types!r}'
868
+ ', directives={self.directives!r}'
869
+ ')').format(self=self)
870
+
871
+ def __copy__(self):
872
+ return type(self)(
873
+ self.operation_types,
874
+ self.loc,
875
+ self.directives,
876
+ )
877
+
878
+ def __hash__(self):
879
+ return id(self)
880
+
881
+
882
+ class OperationTypeDefinition(Node):
883
+ __slots__ = ('loc', 'operation', 'type',)
884
+ _fields = ('operation', 'type',)
885
+
886
+ def __init__(self, operation, type, loc=None):
887
+ self.operation = operation
888
+ self.type = type
889
+ self.loc = loc
890
+
891
+ def __eq__(self, other):
892
+ return (
893
+ self is other or (
894
+ isinstance(other, OperationTypeDefinition) and
895
+ self.operation == other.operation and
896
+ self.type == other.type
897
+ )
898
+ )
899
+
900
+ def __repr__(self):
901
+ return ('OperationTypeDefinition('
902
+ 'operation={self.operation!r}'
903
+ ', type={self.type!r}'
904
+ ')').format(self=self)
905
+
906
+ def __copy__(self):
907
+ return type(self)(
908
+ self.operation,
909
+ self.type,
910
+ self.loc
911
+ )
912
+
913
+ def __hash__(self):
914
+ return id(self)
915
+
916
+
917
+ class ObjectTypeDefinition(TypeDefinition):
918
+ __slots__ = ('loc', 'name', 'interfaces', 'directives', 'fields',)
919
+ _fields = ('name', 'interfaces', 'fields',)
920
+
921
+ def __init__(self, name, fields, interfaces=None, loc=None, directives=None):
922
+ self.loc = loc
923
+ self.name = name
924
+ self.interfaces = interfaces
925
+ self.fields = fields
926
+ self.directives = directives
927
+
928
+ def __eq__(self, other):
929
+ return (
930
+ self is other or (
931
+ isinstance(other, ObjectTypeDefinition) and
932
+ # self.loc == other.loc and
933
+ self.name == other.name and
934
+ self.interfaces == other.interfaces and
935
+ self.fields == other.fields and
936
+ self.directives == other.directives
937
+ )
938
+ )
939
+
940
+ def __repr__(self):
941
+ return ('ObjectTypeDefinition('
942
+ 'name={self.name!r}'
943
+ ', interfaces={self.interfaces!r}'
944
+ ', fields={self.fields!r}'
945
+ ', directives={self.directives!r}'
946
+ ')').format(self=self)
947
+
948
+ def __copy__(self):
949
+ return type(self)(
950
+ self.name,
951
+ self.fields,
952
+ self.interfaces,
953
+ self.loc,
954
+ self.directives,
955
+ )
956
+
957
+ def __hash__(self):
958
+ return id(self)
959
+
960
+
961
+ class FieldDefinition(Node):
962
+ __slots__ = ('loc', 'name', 'arguments', 'type', 'directives',)
963
+ _fields = ('name', 'arguments', 'type',)
964
+
965
+ def __init__(self, name, arguments, type, loc=None, directives=None):
966
+ self.loc = loc
967
+ self.name = name
968
+ self.arguments = arguments
969
+ self.type = type
970
+ self.directives = directives
971
+
972
+ def __eq__(self, other):
973
+ return (
974
+ self is other or (
975
+ isinstance(other, FieldDefinition) and
976
+ # self.loc == other.loc and
977
+ self.name == other.name and
978
+ self.arguments == other.arguments and
979
+ self.type == other.type and
980
+ self.directives == other.directives
981
+ )
982
+ )
983
+
984
+ def __repr__(self):
985
+ return ('FieldDefinition('
986
+ 'name={self.name!r}'
987
+ ', arguments={self.arguments!r}'
988
+ ', type={self.type!r}'
989
+ ')').format(self=self)
990
+
991
+ def __copy__(self):
992
+ return type(self)(
993
+ self.name,
994
+ self.arguments,
995
+ self.type,
996
+ self.loc,
997
+ self.directives,
998
+ )
999
+
1000
+ def __hash__(self):
1001
+ return id(self)
1002
+
1003
+
1004
+ class InputValueDefinition(Node):
1005
+ __slots__ = ('loc', 'name', 'type', 'default_value', 'directives')
1006
+ _fields = ('name', 'type', 'default_value',)
1007
+
1008
+ def __init__(self, name, type, default_value=None, loc=None,
1009
+ directives=None):
1010
+ self.loc = loc
1011
+ self.name = name
1012
+ self.type = type
1013
+ self.default_value = default_value
1014
+ self.directives = directives
1015
+
1016
+ def __eq__(self, other):
1017
+ return (
1018
+ self is other or (
1019
+ isinstance(other, InputValueDefinition) and
1020
+ # self.loc == other.loc and
1021
+ self.name == other.name and
1022
+ self.type == other.type and
1023
+ self.default_value == other.default_value and
1024
+ self.directives == other.directives
1025
+ )
1026
+ )
1027
+
1028
+ def __repr__(self):
1029
+ return ('InputValueDefinition('
1030
+ 'name={self.name!r}'
1031
+ ', type={self.type!r}'
1032
+ ', default_value={self.default_value!r}'
1033
+ ', directives={self.directives!r}'
1034
+ ')').format(self=self)
1035
+
1036
+ def __copy__(self):
1037
+ return type(self)(
1038
+ self.name,
1039
+ self.type,
1040
+ self.default_value,
1041
+ self.loc,
1042
+ self.directives,
1043
+ )
1044
+
1045
+ def __hash__(self):
1046
+ return id(self)
1047
+
1048
+
1049
+ class InterfaceTypeDefinition(TypeDefinition):
1050
+ __slots__ = ('loc', 'name', 'fields', 'directives',)
1051
+ _fields = ('name', 'fields',)
1052
+
1053
+ def __init__(self, name, fields, loc=None, directives=None):
1054
+ self.loc = loc
1055
+ self.name = name
1056
+ self.fields = fields
1057
+ self.directives = directives
1058
+
1059
+ def __eq__(self, other):
1060
+ return (
1061
+ self is other or (
1062
+ isinstance(other, InterfaceTypeDefinition) and
1063
+ # self.loc == other.loc and
1064
+ self.name == other.name and
1065
+ self.fields == other.fields and
1066
+ self.directives == other.directives
1067
+ )
1068
+ )
1069
+
1070
+ def __repr__(self):
1071
+ return ('InterfaceTypeDefinition('
1072
+ 'name={self.name!r}'
1073
+ ', fields={self.fields!r}'
1074
+ ', directives={self.directives!r}'
1075
+ ')').format(self=self)
1076
+
1077
+ def __copy__(self):
1078
+ return type(self)(
1079
+ self.name,
1080
+ self.fields,
1081
+ self.loc,
1082
+ self.directives,
1083
+ )
1084
+
1085
+ def __hash__(self):
1086
+ return id(self)
1087
+
1088
+
1089
+ class UnionTypeDefinition(TypeDefinition):
1090
+ __slots__ = ('loc', 'name', 'types', 'directives',)
1091
+ _fields = ('name', 'types',)
1092
+
1093
+ def __init__(self, name, types, loc=None, directives=None):
1094
+ self.loc = loc
1095
+ self.name = name
1096
+ self.types = types
1097
+ self.directives = directives
1098
+
1099
+ def __eq__(self, other):
1100
+ return (
1101
+ self is other or (
1102
+ isinstance(other, UnionTypeDefinition) and
1103
+ # self.loc == other.loc and
1104
+ self.name == other.name and
1105
+ self.types == other.types and
1106
+ self.directives == other.directives
1107
+ )
1108
+ )
1109
+
1110
+ def __repr__(self):
1111
+ return ('UnionTypeDefinition('
1112
+ 'name={self.name!r}'
1113
+ ', types={self.types!r}'
1114
+ ', directives={self.directives!r}'
1115
+ ')').format(self=self)
1116
+
1117
+ def __copy__(self):
1118
+ return type(self)(
1119
+ self.name,
1120
+ self.types,
1121
+ self.loc,
1122
+ self.directives,
1123
+ )
1124
+
1125
+ def __hash__(self):
1126
+ return id(self)
1127
+
1128
+
1129
+ class ScalarTypeDefinition(TypeDefinition):
1130
+ __slots__ = ('loc', 'name', 'directives',)
1131
+ _fields = ('name',)
1132
+
1133
+ def __init__(self, name, loc=None, directives=None):
1134
+ self.loc = loc
1135
+ self.name = name
1136
+ self.directives = directives
1137
+
1138
+ def __eq__(self, other):
1139
+ return (
1140
+ self is other or (
1141
+ isinstance(other, ScalarTypeDefinition) and
1142
+ # self.loc == other.loc and
1143
+ self.name == other.name and
1144
+ self.directives == other.directives
1145
+ )
1146
+ )
1147
+
1148
+ def __repr__(self):
1149
+ return ('ScalarTypeDefinition('
1150
+ 'name={self.name!r}'
1151
+ 'directives={self.directives!r}'
1152
+ ')').format(self=self)
1153
+
1154
+ def __copy__(self):
1155
+ return type(self)(
1156
+ self.name,
1157
+ self.loc,
1158
+ self.directives
1159
+ )
1160
+
1161
+ def __hash__(self):
1162
+ return id(self)
1163
+
1164
+
1165
+ class EnumTypeDefinition(TypeDefinition):
1166
+ __slots__ = ('loc', 'name', 'values', 'directives',)
1167
+ _fields = ('name', 'values',)
1168
+
1169
+ def __init__(self, name, values, loc=None, directives=None):
1170
+ self.loc = loc
1171
+ self.name = name
1172
+ self.values = values
1173
+ self.directives = directives
1174
+
1175
+ def __eq__(self, other):
1176
+ return (
1177
+ self is other or (
1178
+ isinstance(other, EnumTypeDefinition) and
1179
+ # self.loc == other.loc and
1180
+ self.name == other.name and
1181
+ self.values == other.values and
1182
+ self.directives == other.directives
1183
+ )
1184
+ )
1185
+
1186
+ def __repr__(self):
1187
+ return ('EnumTypeDefinition('
1188
+ 'name={self.name!r}'
1189
+ ', values={self.values!r}'
1190
+ ', directives={self.directives!r}'
1191
+ ')').format(self=self)
1192
+
1193
+ def __copy__(self):
1194
+ return type(self)(
1195
+ self.name,
1196
+ self.values,
1197
+ self.loc,
1198
+ self.directives,
1199
+ )
1200
+
1201
+ def __hash__(self):
1202
+ return id(self)
1203
+
1204
+
1205
+ class EnumValueDefinition(Node):
1206
+ __slots__ = ('loc', 'name', 'directives',)
1207
+ _fields = ('name',)
1208
+
1209
+ def __init__(self, name, loc=None, directives=None):
1210
+ self.loc = loc
1211
+ self.name = name
1212
+ self.directives = directives
1213
+
1214
+ def __eq__(self, other):
1215
+ return (
1216
+ self is other or (
1217
+ isinstance(other, EnumValueDefinition) and
1218
+ # self.loc == other.loc and
1219
+ self.name == other.name and
1220
+ self.directives == other.directives
1221
+ )
1222
+ )
1223
+
1224
+ def __repr__(self):
1225
+ return ('EnumValueDefinition('
1226
+ 'name={self.name!r}'
1227
+ ', directives={self.directives!r}'
1228
+ ')').format(self=self)
1229
+
1230
+ def __copy__(self):
1231
+ return type(self)(
1232
+ self.name,
1233
+ self.loc,
1234
+ self.directives,
1235
+ )
1236
+
1237
+ def __hash__(self):
1238
+ return id(self)
1239
+
1240
+
1241
+ class InputObjectTypeDefinition(TypeDefinition):
1242
+ __slots__ = ('loc', 'name', 'fields', 'directives',)
1243
+ _fields = ('name', 'fields',)
1244
+
1245
+ def __init__(self, name, fields, loc=None, directives=None):
1246
+ self.loc = loc
1247
+ self.name = name
1248
+ self.fields = fields
1249
+ self.directives = directives
1250
+
1251
+ def __eq__(self, other):
1252
+ return (
1253
+ self is other or (
1254
+ isinstance(other, InputObjectTypeDefinition) and
1255
+ # self.loc == other.loc and
1256
+ self.name == other.name and
1257
+ self.fields == other.fields and
1258
+ self.directives == other.directives
1259
+ )
1260
+ )
1261
+
1262
+ def __repr__(self):
1263
+ return ('InputObjectTypeDefinition('
1264
+ 'name={self.name!r}'
1265
+ ', fields={self.fields!r}'
1266
+ ', directives={self.directives!r}'
1267
+ ')').format(self=self)
1268
+
1269
+ def __copy__(self):
1270
+ return type(self)(
1271
+ self.name,
1272
+ self.fields,
1273
+ self.loc,
1274
+ self.directives,
1275
+ )
1276
+
1277
+ def __hash__(self):
1278
+ return id(self)
1279
+
1280
+
1281
+ class TypeExtensionDefinition(TypeSystemDefinition):
1282
+ __slots__ = ('loc', 'definition',)
1283
+ _fields = ('definition',)
1284
+
1285
+ def __init__(self, definition, loc=None):
1286
+ self.loc = loc
1287
+ self.definition = definition
1288
+
1289
+ def __eq__(self, other):
1290
+ return (
1291
+ self is other or (
1292
+ isinstance(other, TypeExtensionDefinition) and
1293
+ # self.loc == other.loc and
1294
+ self.definition == other.definition
1295
+ )
1296
+ )
1297
+
1298
+ def __repr__(self):
1299
+ return ('TypeExtensionDefinition('
1300
+ 'definition={self.definition!r}'
1301
+ ')').format(self=self)
1302
+
1303
+ def __copy__(self):
1304
+ return type(self)(
1305
+ self.definition,
1306
+ self.loc
1307
+ )
1308
+
1309
+ def __hash__(self):
1310
+ return id(self)
1311
+
1312
+
1313
+ class DirectiveDefinition(TypeSystemDefinition):
1314
+ __slots__ = ('loc', 'name', 'arguments', 'locations')
1315
+ _fields = ('name', 'locations')
1316
+
1317
+ def __init__(self, name, locations, arguments=None, loc=None):
1318
+ self.name = name
1319
+ self.locations = locations
1320
+ self.loc = loc
1321
+ self.arguments = arguments
1322
+
1323
+ def __eq__(self, other):
1324
+ return (
1325
+ self is other or (
1326
+ isinstance(other, DirectiveDefinition) and
1327
+ self.name == other.name and
1328
+ self.locations == other.locations and
1329
+ # self.loc == other.loc and
1330
+ self.arguments == other.arguments
1331
+ )
1332
+ )
1333
+
1334
+ def __repr__(self):
1335
+ return ('DirectiveDefinition('
1336
+ 'name={self.name!r}, '
1337
+ 'locations={self.locations!r}'
1338
+ ')').format(self=self)
1339
+
1340
+ def __copy__(self):
1341
+ return type(self)(
1342
+ self.name,
1343
+ self.locations,
1344
+ self.arguments,
1345
+ self.loc,
1346
+ )
1347
+
1348
+ def __hash__(self):
1349
+ return id(self)