worqhat 3.5.0__tar.gz → 3.8.0__tar.gz

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 (120) hide show
  1. worqhat-3.8.0/.release-please-manifest.json +3 -0
  2. worqhat-3.8.0/CHANGELOG.md +111 -0
  3. {worqhat-3.5.0 → worqhat-3.8.0}/PKG-INFO +2 -2
  4. worqhat-3.8.0/api.md +105 -0
  5. {worqhat-3.5.0 → worqhat-3.8.0}/pyproject.toml +60 -4
  6. {worqhat-3.5.0 → worqhat-3.8.0}/requirements-dev.lock +6 -4
  7. {worqhat-3.5.0 → worqhat-3.8.0}/requirements.lock +6 -3
  8. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/__init__.py +3 -1
  9. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_base_client.py +12 -12
  10. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_client.py +21 -11
  11. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_compat.py +48 -48
  12. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_models.py +51 -45
  13. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_qs.py +7 -7
  14. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_types.py +53 -12
  15. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/__init__.py +9 -2
  16. worqhat-3.8.0/src/worqhat/_utils/_compat.py +45 -0
  17. worqhat-3.8.0/src/worqhat/_utils/_datetime_parse.py +136 -0
  18. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_transform.py +13 -3
  19. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_typing.py +6 -1
  20. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_utils.py +4 -5
  21. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_version.py +1 -1
  22. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/resources/__init__.py +14 -0
  23. worqhat-3.8.0/src/worqhat/resources/client/__init__.py +33 -0
  24. worqhat-3.8.0/src/worqhat/resources/client/client.py +102 -0
  25. worqhat-3.8.0/src/worqhat/resources/client/storage.py +462 -0
  26. worqhat-3.8.0/src/worqhat/resources/db/__init__.py +33 -0
  27. {worqhat-3.5.0/src/worqhat/resources → worqhat-3.8.0/src/worqhat/resources/db}/db.py +245 -32
  28. worqhat-3.8.0/src/worqhat/resources/db/tables.py +389 -0
  29. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/resources/flows.py +29 -23
  30. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/resources/health.py +3 -3
  31. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/__init__.py +2 -0
  32. worqhat-3.8.0/src/worqhat/types/client/__init__.py +12 -0
  33. worqhat-3.8.0/src/worqhat/types/client/storage_delete_file_by_id_response.py +18 -0
  34. worqhat-3.8.0/src/worqhat/types/client/storage_retrieve_file_by_id_response.py +33 -0
  35. worqhat-3.8.0/src/worqhat/types/client/storage_retrieve_file_by_path_params.py +12 -0
  36. worqhat-3.8.0/src/worqhat/types/client/storage_retrieve_file_by_path_response.py +33 -0
  37. worqhat-3.8.0/src/worqhat/types/client/storage_upload_file_params.py +17 -0
  38. worqhat-3.8.0/src/worqhat/types/client/storage_upload_file_response.py +33 -0
  39. worqhat-3.8.0/src/worqhat/types/db/__init__.py +10 -0
  40. worqhat-3.8.0/src/worqhat/types/db/table_get_row_count_params.py +12 -0
  41. worqhat-3.8.0/src/worqhat/types/db/table_get_row_count_response.py +15 -0
  42. worqhat-3.8.0/src/worqhat/types/db/table_list_params.py +15 -0
  43. worqhat-3.8.0/src/worqhat/types/db/table_list_response.py +26 -0
  44. worqhat-3.8.0/src/worqhat/types/db/table_retrieve_schema_params.py +12 -0
  45. worqhat-3.8.0/src/worqhat/types/db/table_retrieve_schema_response.py +29 -0
  46. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_delete_records_params.py +6 -2
  47. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_delete_records_response.py +2 -2
  48. worqhat-3.8.0/src/worqhat/types/db_execute_batch_params.py +36 -0
  49. worqhat-3.8.0/src/worqhat/types/db_execute_batch_response.py +27 -0
  50. worqhat-3.8.0/src/worqhat/types/db_execute_query_params.py +19 -0
  51. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_execute_query_response.py +2 -2
  52. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_insert_record_params.py +6 -2
  53. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_insert_record_response.py +2 -2
  54. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_process_nl_query_params.py +8 -1
  55. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_process_nl_query_response.py +2 -2
  56. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_update_records_params.py +7 -3
  57. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/db_update_records_response.py +2 -2
  58. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/flow_trigger_with_payload_params.py +3 -2
  59. worqhat-3.8.0/tests/api_resources/client/__init__.py +1 -0
  60. worqhat-3.8.0/tests/api_resources/client/test_storage.py +351 -0
  61. worqhat-3.8.0/tests/api_resources/db/__init__.py +1 -0
  62. worqhat-3.8.0/tests/api_resources/db/test_tables.py +306 -0
  63. {worqhat-3.5.0 → worqhat-3.8.0}/tests/api_resources/test_client.py +6 -6
  64. {worqhat-3.5.0 → worqhat-3.8.0}/tests/api_resources/test_db.py +309 -60
  65. {worqhat-3.5.0 → worqhat-3.8.0}/tests/api_resources/test_flows.py +44 -58
  66. {worqhat-3.5.0 → worqhat-3.8.0}/tests/api_resources/test_health.py +6 -6
  67. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_client.py +6 -47
  68. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_models.py +24 -24
  69. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_transform.py +17 -10
  70. worqhat-3.8.0/tests/test_utils/test_datetime_parse.py +110 -0
  71. {worqhat-3.5.0 → worqhat-3.8.0}/tests/utils.py +13 -5
  72. worqhat-3.5.0/.release-please-manifest.json +0 -3
  73. worqhat-3.5.0/CHANGELOG.md +0 -47
  74. worqhat-3.5.0/api.md +0 -63
  75. worqhat-3.5.0/mypy.ini +0 -50
  76. worqhat-3.5.0/src/worqhat/types/db_execute_query_params.py +0 -12
  77. {worqhat-3.5.0 → worqhat-3.8.0}/.gitignore +0 -0
  78. {worqhat-3.5.0 → worqhat-3.8.0}/CONTRIBUTING.md +0 -0
  79. {worqhat-3.5.0 → worqhat-3.8.0}/LICENSE +0 -0
  80. {worqhat-3.5.0 → worqhat-3.8.0}/README.md +0 -0
  81. {worqhat-3.5.0 → worqhat-3.8.0}/SECURITY.md +0 -0
  82. {worqhat-3.5.0 → worqhat-3.8.0}/bin/check-release-environment +0 -0
  83. {worqhat-3.5.0 → worqhat-3.8.0}/bin/publish-pypi +0 -0
  84. {worqhat-3.5.0 → worqhat-3.8.0}/examples/.keep +0 -0
  85. {worqhat-3.5.0 → worqhat-3.8.0}/noxfile.py +0 -0
  86. {worqhat-3.5.0 → worqhat-3.8.0}/release-please-config.json +0 -0
  87. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_constants.py +0 -0
  88. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_exceptions.py +0 -0
  89. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_files.py +0 -0
  90. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_resource.py +0 -0
  91. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_response.py +0 -0
  92. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_streaming.py +0 -0
  93. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_logs.py +0 -0
  94. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_proxy.py +0 -0
  95. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_reflection.py +0 -0
  96. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_resources_proxy.py +0 -0
  97. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_streams.py +0 -0
  98. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/_utils/_sync.py +0 -0
  99. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/lib/.keep +0 -0
  100. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/py.typed +0 -0
  101. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/flow_get_metrics_params.py +0 -0
  102. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/flow_get_metrics_response.py +0 -0
  103. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/flow_trigger_with_file_params.py +0 -0
  104. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/flow_trigger_with_file_response.py +0 -0
  105. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/flow_trigger_with_payload_response.py +0 -0
  106. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/get_server_info_response.py +0 -0
  107. {worqhat-3.5.0 → worqhat-3.8.0}/src/worqhat/types/health_check_response.py +0 -0
  108. {worqhat-3.5.0 → worqhat-3.8.0}/tests/__init__.py +0 -0
  109. {worqhat-3.5.0 → worqhat-3.8.0}/tests/api_resources/__init__.py +0 -0
  110. {worqhat-3.5.0 → worqhat-3.8.0}/tests/conftest.py +0 -0
  111. {worqhat-3.5.0 → worqhat-3.8.0}/tests/sample_file.txt +0 -0
  112. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_deepcopy.py +0 -0
  113. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_extract_files.py +0 -0
  114. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_files.py +0 -0
  115. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_qs.py +0 -0
  116. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_required_args.py +0 -0
  117. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_response.py +0 -0
  118. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_streaming.py +0 -0
  119. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_utils/test_proxy.py +0 -0
  120. {worqhat-3.5.0 → worqhat-3.8.0}/tests/test_utils/test_typing.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "3.8.0"
3
+ }
@@ -0,0 +1,111 @@
1
+ # Changelog
2
+
3
+ ## 3.8.0 (2025-10-19)
4
+
5
+ Full Changelog: [v3.7.0...v3.8.0](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.7.0...v3.8.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([739f49d](https://github.com/WorqHat/worqhat-python-sdk/commit/739f49dbb213b8b9826fae95bf001f75e04c0935))
10
+
11
+ ## 3.7.0 (2025-10-19)
12
+
13
+ Full Changelog: [v3.6.0...v3.7.0](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.6.0...v3.7.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** manual updates ([b07d5df](https://github.com/WorqHat/worqhat-python-sdk/commit/b07d5df591f5bca1341c2f99e2b6843e04e8bba0))
18
+ * **api:** manual updates ([659b5c0](https://github.com/WorqHat/worqhat-python-sdk/commit/659b5c032e3a7599f722f9ae72065cb0dcdd78be))
19
+
20
+ ## 3.6.0 (2025-10-18)
21
+
22
+ Full Changelog: [v3.5.2...v3.6.0](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.5.2...v3.6.0)
23
+
24
+ ### Features
25
+
26
+ * improve future compat with pydantic v3 ([c10590b](https://github.com/WorqHat/worqhat-python-sdk/commit/c10590b2bce24c0cb0bbb261d1dd9dabea8b44be))
27
+ * **types:** replace List[str] with SequenceNotStr in params ([d9c7c74](https://github.com/WorqHat/worqhat-python-sdk/commit/d9c7c74beb7f3326e2293601008811da6340bcd7))
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * avoid newer type syntax ([7120ba6](https://github.com/WorqHat/worqhat-python-sdk/commit/7120ba6e96144f1b6282fdca17d25efbf00cda32))
33
+
34
+
35
+ ### Chores
36
+
37
+ * bump `httpx-aiohttp` version to 0.1.9 ([d248f43](https://github.com/WorqHat/worqhat-python-sdk/commit/d248f433ba1cdbc283c0372900c6882f12bd0c58))
38
+ * do not install brew dependencies in ./scripts/bootstrap by default ([e0e937e](https://github.com/WorqHat/worqhat-python-sdk/commit/e0e937e622d420dc4063a5acdda876f134f27a80))
39
+ * **internal:** add Sequence related utils ([bc4a714](https://github.com/WorqHat/worqhat-python-sdk/commit/bc4a7140a0d927fc7e176d36fd1833b38dfa13b1))
40
+ * **internal:** change ci workflow machines ([0232ab5](https://github.com/WorqHat/worqhat-python-sdk/commit/0232ab57ae1ed0473d593986942c3cdb79e2159d))
41
+ * **internal:** detect missing future annotations with ruff ([c129a5f](https://github.com/WorqHat/worqhat-python-sdk/commit/c129a5fb68d29ff4824321efd1f5880ed6cbf33b))
42
+ * **internal:** move mypy configurations to `pyproject.toml` file ([bd834ea](https://github.com/WorqHat/worqhat-python-sdk/commit/bd834ea2c5a254950f62575be8593404ca206d46))
43
+ * **internal:** update pydantic dependency ([c23539a](https://github.com/WorqHat/worqhat-python-sdk/commit/c23539a0119e514ee47b82fba53b4532e652e668))
44
+ * **internal:** update pyright exclude list ([84b9fd5](https://github.com/WorqHat/worqhat-python-sdk/commit/84b9fd58998c9507743483f9ed34c268ca636725))
45
+ * **tests:** simplify `get_platform` test ([0e66d79](https://github.com/WorqHat/worqhat-python-sdk/commit/0e66d79ec03d0f92a0326c6b6704270e2f4f3ba8))
46
+ * **types:** change optional parameter type from NotGiven to Omit ([ac83455](https://github.com/WorqHat/worqhat-python-sdk/commit/ac8345556584dc80a7b43af6838cad64710a4da8))
47
+
48
+ ## 3.5.2 (2025-08-22)
49
+
50
+ Full Changelog: [v3.5.1...v3.5.2](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.5.1...v3.5.2)
51
+
52
+ ### Chores
53
+
54
+ * update github action ([8c4920b](https://github.com/WorqHat/worqhat-python-sdk/commit/8c4920b09863c837e0bbb0c32e953d60f4a2aaed))
55
+
56
+ ## 3.5.1 (2025-08-12)
57
+
58
+ Full Changelog: [v3.5.0...v3.5.1](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.5.0...v3.5.1)
59
+
60
+ ### Chores
61
+
62
+ * **internal:** codegen related update ([74ed4ba](https://github.com/WorqHat/worqhat-python-sdk/commit/74ed4bade62baf731e65315962926cee86ed5fe9))
63
+ * **internal:** fix ruff target version ([1e8cf24](https://github.com/WorqHat/worqhat-python-sdk/commit/1e8cf2484d7181440f7cd080d5bc9f9db97cde07))
64
+ * **internal:** update comment in script ([7ea3a74](https://github.com/WorqHat/worqhat-python-sdk/commit/7ea3a7424d703bcf1711f57754f603c840777652))
65
+ * update @stainless-api/prism-cli to v5.15.0 ([3b18347](https://github.com/WorqHat/worqhat-python-sdk/commit/3b18347bd4c8bcd0ada7deead817fb9b3a7d2d59))
66
+
67
+ ## 3.5.0 (2025-08-01)
68
+
69
+ Full Changelog: [v3.4.2...v3.5.0](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.4.2...v3.5.0)
70
+
71
+ ### Features
72
+
73
+ * **api:** update via SDK Studio ([601f909](https://github.com/WorqHat/worqhat-python-sdk/commit/601f9095e3e2f42875500711dc803ae756cf80bd))
74
+
75
+ ## 3.4.2 (2025-07-31)
76
+
77
+ Full Changelog: [v3.4.1...v3.4.2](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.4.1...v3.4.2)
78
+
79
+ ## 3.4.1 (2025-07-31)
80
+
81
+ Full Changelog: [v3.4.0...v3.4.1](https://github.com/WorqHat/worqhat-python-sdk/compare/v3.4.0...v3.4.1)
82
+
83
+ ## 3.4.0 (2025-07-31)
84
+
85
+ Full Changelog: [v0.0.1-alpha.0...v3.4.0](https://github.com/WorqHat/worqhat-python-sdk/compare/v0.0.1-alpha.0...v3.4.0)
86
+
87
+ ### Features
88
+
89
+ * **api:** update via SDK Studio ([ce75dcc](https://github.com/WorqHat/worqhat-python-sdk/commit/ce75dcc31b078bab025560c5b196a4eecf7f1227))
90
+ * **api:** update via SDK Studio ([ec19825](https://github.com/WorqHat/worqhat-python-sdk/commit/ec19825709fbe7994a811981d5eb77630a0594ce))
91
+ * **api:** update via SDK Studio ([85ab7a2](https://github.com/WorqHat/worqhat-python-sdk/commit/85ab7a2e5c871ed5921ef6044c0f9926b939948d))
92
+ * **api:** update via SDK Studio ([1dca18a](https://github.com/WorqHat/worqhat-python-sdk/commit/1dca18acf452a7cc35c6e541d69b8a31ac90d29a))
93
+ * **api:** update via SDK Studio ([fbb6ab5](https://github.com/WorqHat/worqhat-python-sdk/commit/fbb6ab5d66c30d8ee3bd9328eab85304efd42614))
94
+
95
+
96
+ ### Chores
97
+
98
+ * configure new SDK language ([c4d0258](https://github.com/WorqHat/worqhat-python-sdk/commit/c4d0258ea522088e0f6181228d1f04a64230b2d7))
99
+ * sync repo ([b2b1c38](https://github.com/WorqHat/worqhat-python-sdk/commit/b2b1c381aa08870a807c303164f6ff9689f8aea2))
100
+ * sync repo ([4766968](https://github.com/WorqHat/worqhat-python-sdk/commit/476696875aa8f142f588c4f016fa8110a0ec4e08))
101
+ * update SDK settings ([8d58885](https://github.com/WorqHat/worqhat-python-sdk/commit/8d5888563b3042cb684d9a4406a09edd2be22889))
102
+ * update SDK settings ([a1ff3c3](https://github.com/WorqHat/worqhat-python-sdk/commit/a1ff3c388307c293932c8ef069ae9ad3a03c393c))
103
+ * update SDK settings ([53e95ac](https://github.com/WorqHat/worqhat-python-sdk/commit/53e95acd14d9d4dd063c1c71a1ed0bcd9ab86e69))
104
+ * update SDK settings ([f5a73c5](https://github.com/WorqHat/worqhat-python-sdk/commit/f5a73c54db1e7d7d865701c79b13034a08ef5341))
105
+ * update SDK settings ([9ff0620](https://github.com/WorqHat/worqhat-python-sdk/commit/9ff062000f153819b5629a262395551a723b2382))
106
+ * update SDK settings ([d605766](https://github.com/WorqHat/worqhat-python-sdk/commit/d605766da0d10451b716cbf715c96e6b4ccf90b9))
107
+ * update SDK settings ([29497ca](https://github.com/WorqHat/worqhat-python-sdk/commit/29497ca3d7fc8232a9b0cc0fb70cb963c4624b33))
108
+ * update SDK settings ([e386fb8](https://github.com/WorqHat/worqhat-python-sdk/commit/e386fb86761c1ef06bd99b5a85b2fd6710d17737))
109
+ * update SDK settings ([0dbf509](https://github.com/WorqHat/worqhat-python-sdk/commit/0dbf5097e700966f2546ea967d0669eae280dbb9))
110
+ * update SDK settings ([64384f2](https://github.com/WorqHat/worqhat-python-sdk/commit/64384f2c7f05b7a54d89881791857068c10f1250))
111
+ * update SDK settings ([6c05440](https://github.com/WorqHat/worqhat-python-sdk/commit/6c05440a6f753841abdac7153f9bc0cb7688f7d9))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: worqhat
3
- Version: 3.5.0
3
+ Version: 3.8.0
4
4
  Summary: The official Python library for the worqhat API
5
5
  Project-URL: Homepage, https://github.com/WorqHat/worqhat-python-sdk
6
6
  Project-URL: Repository, https://github.com/WorqHat/worqhat-python-sdk
@@ -30,7 +30,7 @@ Requires-Dist: sniffio
30
30
  Requires-Dist: typing-extensions<5,>=4.10
31
31
  Provides-Extra: aiohttp
32
32
  Requires-Dist: aiohttp; extra == 'aiohttp'
33
- Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
33
+ Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
34
34
  Description-Content-Type: text/markdown
35
35
 
36
36
  # Worqhat Python API library
worqhat-3.8.0/api.md ADDED
@@ -0,0 +1,105 @@
1
+ # Worqhat
2
+
3
+ Types:
4
+
5
+ ```python
6
+ from worqhat.types import GetServerInfoResponse
7
+ ```
8
+
9
+ Methods:
10
+
11
+ - <code title="get /">client.<a href="./src/worqhat/_client.py">get_server_info</a>() -> <a href="./src/worqhat/types/get_server_info_response.py">GetServerInfoResponse</a></code>
12
+
13
+ # DB
14
+
15
+ Types:
16
+
17
+ ```python
18
+ from worqhat.types import (
19
+ DBDeleteRecordsResponse,
20
+ DBExecuteBatchResponse,
21
+ DBExecuteQueryResponse,
22
+ DBInsertRecordResponse,
23
+ DBProcessNlQueryResponse,
24
+ DBUpdateRecordsResponse,
25
+ )
26
+ ```
27
+
28
+ Methods:
29
+
30
+ - <code title="delete /db/delete">client.db.<a href="./src/worqhat/resources/db/db.py">delete_records</a>(\*\*<a href="src/worqhat/types/db_delete_records_params.py">params</a>) -> <a href="./src/worqhat/types/db_delete_records_response.py">DBDeleteRecordsResponse</a></code>
31
+ - <code title="post /db/batch">client.db.<a href="./src/worqhat/resources/db/db.py">execute_batch</a>(\*\*<a href="src/worqhat/types/db_execute_batch_params.py">params</a>) -> <a href="./src/worqhat/types/db_execute_batch_response.py">DBExecuteBatchResponse</a></code>
32
+ - <code title="post /db/query">client.db.<a href="./src/worqhat/resources/db/db.py">execute_query</a>(\*\*<a href="src/worqhat/types/db_execute_query_params.py">params</a>) -> <a href="./src/worqhat/types/db_execute_query_response.py">DBExecuteQueryResponse</a></code>
33
+ - <code title="post /db/insert">client.db.<a href="./src/worqhat/resources/db/db.py">insert_record</a>(\*\*<a href="src/worqhat/types/db_insert_record_params.py">params</a>) -> <a href="./src/worqhat/types/db_insert_record_response.py">DBInsertRecordResponse</a></code>
34
+ - <code title="post /db/nl-query">client.db.<a href="./src/worqhat/resources/db/db.py">process_nl_query</a>(\*\*<a href="src/worqhat/types/db_process_nl_query_params.py">params</a>) -> <a href="./src/worqhat/types/db_process_nl_query_response.py">DBProcessNlQueryResponse</a></code>
35
+ - <code title="put /db/update">client.db.<a href="./src/worqhat/resources/db/db.py">update_records</a>(\*\*<a href="src/worqhat/types/db_update_records_params.py">params</a>) -> <a href="./src/worqhat/types/db_update_records_response.py">DBUpdateRecordsResponse</a></code>
36
+
37
+ ## Tables
38
+
39
+ Types:
40
+
41
+ ```python
42
+ from worqhat.types.db import (
43
+ TableListResponse,
44
+ TableGetRowCountResponse,
45
+ TableRetrieveSchemaResponse,
46
+ )
47
+ ```
48
+
49
+ Methods:
50
+
51
+ - <code title="get /db/tables">client.db.tables.<a href="./src/worqhat/resources/db/tables.py">list</a>(\*\*<a href="src/worqhat/types/db/table_list_params.py">params</a>) -> <a href="./src/worqhat/types/db/table_list_response.py">TableListResponse</a></code>
52
+ - <code title="get /db/tables/{tableName}/count">client.db.tables.<a href="./src/worqhat/resources/db/tables.py">get_row_count</a>(table_name, \*\*<a href="src/worqhat/types/db/table_get_row_count_params.py">params</a>) -> <a href="./src/worqhat/types/db/table_get_row_count_response.py">TableGetRowCountResponse</a></code>
53
+ - <code title="get /db/tables/{tableName}/schema">client.db.tables.<a href="./src/worqhat/resources/db/tables.py">retrieve_schema</a>(table_name, \*\*<a href="src/worqhat/types/db/table_retrieve_schema_params.py">params</a>) -> <a href="./src/worqhat/types/db/table_retrieve_schema_response.py">TableRetrieveSchemaResponse</a></code>
54
+
55
+ # Health
56
+
57
+ Types:
58
+
59
+ ```python
60
+ from worqhat.types import HealthCheckResponse
61
+ ```
62
+
63
+ Methods:
64
+
65
+ - <code title="get /health">client.health.<a href="./src/worqhat/resources/health.py">check</a>() -> <a href="./src/worqhat/types/health_check_response.py">HealthCheckResponse</a></code>
66
+
67
+ # Flows
68
+
69
+ Types:
70
+
71
+ ```python
72
+ from worqhat.types import (
73
+ FlowGetMetricsResponse,
74
+ FlowTriggerWithFileResponse,
75
+ FlowTriggerWithPayloadResponse,
76
+ )
77
+ ```
78
+
79
+ Methods:
80
+
81
+ - <code title="get /flows/metrics">client.flows.<a href="./src/worqhat/resources/flows.py">get_metrics</a>(\*\*<a href="src/worqhat/types/flow_get_metrics_params.py">params</a>) -> <a href="./src/worqhat/types/flow_get_metrics_response.py">FlowGetMetricsResponse</a></code>
82
+ - <code title="post /flows/file/{flowId}">client.flows.<a href="./src/worqhat/resources/flows.py">trigger_with_file</a>(flow_id, \*\*<a href="src/worqhat/types/flow_trigger_with_file_params.py">params</a>) -> <a href="./src/worqhat/types/flow_trigger_with_file_response.py">FlowTriggerWithFileResponse</a></code>
83
+ - <code title="post /flows/trigger/{flowId}">client.flows.<a href="./src/worqhat/resources/flows.py">trigger_with_payload</a>(flow_id, \*\*<a href="src/worqhat/types/flow_trigger_with_payload_params.py">params</a>) -> <a href="./src/worqhat/types/flow_trigger_with_payload_response.py">FlowTriggerWithPayloadResponse</a></code>
84
+
85
+ # Client
86
+
87
+ ## Storage
88
+
89
+ Types:
90
+
91
+ ```python
92
+ from worqhat.types.client import (
93
+ StorageDeleteFileByIDResponse,
94
+ StorageRetrieveFileByIDResponse,
95
+ StorageRetrieveFileByPathResponse,
96
+ StorageUploadFileResponse,
97
+ )
98
+ ```
99
+
100
+ Methods:
101
+
102
+ - <code title="delete /storage/delete/{fileId}">client.client.storage.<a href="./src/worqhat/resources/client/storage.py">delete_file_by_id</a>(file_id) -> <a href="./src/worqhat/types/client/storage_delete_file_by_id_response.py">StorageDeleteFileByIDResponse</a></code>
103
+ - <code title="get /storage/fetch/{fileId}">client.client.storage.<a href="./src/worqhat/resources/client/storage.py">retrieve_file_by_id</a>(file_id) -> <a href="./src/worqhat/types/client/storage_retrieve_file_by_id_response.py">StorageRetrieveFileByIDResponse</a></code>
104
+ - <code title="get /storage/fetch-by-path">client.client.storage.<a href="./src/worqhat/resources/client/storage.py">retrieve_file_by_path</a>(\*\*<a href="src/worqhat/types/client/storage_retrieve_file_by_path_params.py">params</a>) -> <a href="./src/worqhat/types/client/storage_retrieve_file_by_path_response.py">StorageRetrieveFileByPathResponse</a></code>
105
+ - <code title="post /storage/upload">client.client.storage.<a href="./src/worqhat/resources/client/storage.py">upload_file</a>(\*\*<a href="src/worqhat/types/client/storage_upload_file_params.py">params</a>) -> <a href="./src/worqhat/types/client/storage_upload_file_response.py">StorageUploadFileResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "worqhat"
3
- version = "3.5.0"
3
+ version = "3.8.0"
4
4
  description = "The official Python library for the worqhat API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -39,7 +39,7 @@ Homepage = "https://github.com/WorqHat/worqhat-python-sdk"
39
39
  Repository = "https://github.com/WorqHat/worqhat-python-sdk"
40
40
 
41
41
  [project.optional-dependencies]
42
- aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.8"]
42
+ aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
43
43
 
44
44
  [tool.rye]
45
45
  managed = true
@@ -56,7 +56,6 @@ dev-dependencies = [
56
56
  "dirty-equals>=0.6.0",
57
57
  "importlib-metadata>=6.7.0",
58
58
  "rich>=13.7.1",
59
- "nest_asyncio==1.6.0",
60
59
  "pytest-xdist>=3.6.1",
61
60
  ]
62
61
 
@@ -148,6 +147,7 @@ exclude = [
148
147
  "_dev",
149
148
  ".venv",
150
149
  ".nox",
150
+ ".git",
151
151
  ]
152
152
 
153
153
  reportImplicitOverride = true
@@ -156,10 +156,62 @@ reportOverlappingOverload = false
156
156
  reportImportCycles = false
157
157
  reportPrivateUsage = false
158
158
 
159
+ [tool.mypy]
160
+ pretty = true
161
+ show_error_codes = true
162
+
163
+ # Exclude _files.py because mypy isn't smart enough to apply
164
+ # the correct type narrowing and as this is an internal module
165
+ # it's fine to just use Pyright.
166
+ #
167
+ # We also exclude our `tests` as mypy doesn't always infer
168
+ # types correctly and Pyright will still catch any type errors.
169
+ exclude = ['src/worqhat/_files.py', '_dev/.*.py', 'tests/.*']
170
+
171
+ strict_equality = true
172
+ implicit_reexport = true
173
+ check_untyped_defs = true
174
+ no_implicit_optional = true
175
+
176
+ warn_return_any = true
177
+ warn_unreachable = true
178
+ warn_unused_configs = true
179
+
180
+ # Turn these options off as it could cause conflicts
181
+ # with the Pyright options.
182
+ warn_unused_ignores = false
183
+ warn_redundant_casts = false
184
+
185
+ disallow_any_generics = true
186
+ disallow_untyped_defs = true
187
+ disallow_untyped_calls = true
188
+ disallow_subclassing_any = true
189
+ disallow_incomplete_defs = true
190
+ disallow_untyped_decorators = true
191
+ cache_fine_grained = true
192
+
193
+ # By default, mypy reports an error if you assign a value to the result
194
+ # of a function call that doesn't return anything. We do this in our test
195
+ # cases:
196
+ # ```
197
+ # result = ...
198
+ # assert result is None
199
+ # ```
200
+ # Changing this codegen to make mypy happy would increase complexity
201
+ # and would not be worth it.
202
+ disable_error_code = "func-returns-value,overload-cannot-match"
203
+
204
+ # https://github.com/python/mypy/issues/12162
205
+ [[tool.mypy.overrides]]
206
+ module = "black.files.*"
207
+ ignore_errors = true
208
+ ignore_missing_imports = true
209
+
210
+
159
211
  [tool.ruff]
160
212
  line-length = 120
161
213
  output-format = "grouped"
162
- target-version = "py37"
214
+ target-version = "py38"
163
215
 
164
216
  [tool.ruff.format]
165
217
  docstring-code-format = true
@@ -172,6 +224,8 @@ select = [
172
224
  "B",
173
225
  # remove unused imports
174
226
  "F401",
227
+ # check for missing future annotations
228
+ "FA102",
175
229
  # bare except statements
176
230
  "E722",
177
231
  # unused arguments
@@ -194,6 +248,8 @@ unfixable = [
194
248
  "T203",
195
249
  ]
196
250
 
251
+ extend-safe-fixes = ["FA102"]
252
+
197
253
  [tool.ruff.lint.flake8-tidy-imports.banned-api]
198
254
  "functools.lru_cache".msg = "This function does not retain type information for the wrapped function's arguments; The `lru_cache` function from `_utils` should be used instead"
199
255
 
@@ -56,7 +56,7 @@ httpx==0.28.1
56
56
  # via httpx-aiohttp
57
57
  # via respx
58
58
  # via worqhat
59
- httpx-aiohttp==0.1.8
59
+ httpx-aiohttp==0.1.9
60
60
  # via worqhat
61
61
  idna==3.4
62
62
  # via anyio
@@ -75,7 +75,6 @@ multidict==6.4.4
75
75
  mypy==1.14.1
76
76
  mypy-extensions==1.0.0
77
77
  # via mypy
78
- nest-asyncio==1.6.0
79
78
  nodeenv==1.8.0
80
79
  # via pyright
81
80
  nox==2023.4.22
@@ -89,9 +88,9 @@ pluggy==1.5.0
89
88
  propcache==0.3.1
90
89
  # via aiohttp
91
90
  # via yarl
92
- pydantic==2.10.3
91
+ pydantic==2.11.9
93
92
  # via worqhat
94
- pydantic-core==2.27.1
93
+ pydantic-core==2.33.2
95
94
  # via pydantic
96
95
  pygments==2.18.0
97
96
  # via rich
@@ -126,7 +125,10 @@ typing-extensions==4.12.2
126
125
  # via pydantic
127
126
  # via pydantic-core
128
127
  # via pyright
128
+ # via typing-inspection
129
129
  # via worqhat
130
+ typing-inspection==0.4.1
131
+ # via pydantic
130
132
  virtualenv==20.24.5
131
133
  # via nox
132
134
  yarl==1.20.0
@@ -43,7 +43,7 @@ httpcore==1.0.9
43
43
  httpx==0.28.1
44
44
  # via httpx-aiohttp
45
45
  # via worqhat
46
- httpx-aiohttp==0.1.8
46
+ httpx-aiohttp==0.1.9
47
47
  # via worqhat
48
48
  idna==3.4
49
49
  # via anyio
@@ -55,9 +55,9 @@ multidict==6.4.4
55
55
  propcache==0.3.1
56
56
  # via aiohttp
57
57
  # via yarl
58
- pydantic==2.10.3
58
+ pydantic==2.11.9
59
59
  # via worqhat
60
- pydantic-core==2.27.1
60
+ pydantic-core==2.33.2
61
61
  # via pydantic
62
62
  sniffio==1.3.0
63
63
  # via anyio
@@ -67,6 +67,9 @@ typing-extensions==4.12.2
67
67
  # via multidict
68
68
  # via pydantic
69
69
  # via pydantic-core
70
+ # via typing-inspection
70
71
  # via worqhat
72
+ typing-inspection==0.4.1
73
+ # via pydantic
71
74
  yarl==1.20.0
72
75
  # via aiohttp
@@ -3,7 +3,7 @@
3
3
  import typing as _t
4
4
 
5
5
  from . import types
6
- from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
6
+ from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes, omit, not_given
7
7
  from ._utils import file_from_path
8
8
  from ._client import Client, Stream, Timeout, Worqhat, Transport, AsyncClient, AsyncStream, AsyncWorqhat, RequestOptions
9
9
  from ._models import BaseModel
@@ -38,7 +38,9 @@ __all__ = [
38
38
  "ProxiesTypes",
39
39
  "NotGiven",
40
40
  "NOT_GIVEN",
41
+ "not_given",
41
42
  "Omit",
43
+ "omit",
42
44
  "WorqhatError",
43
45
  "APIError",
44
46
  "APIStatusError",
@@ -42,7 +42,6 @@ from . import _exceptions
42
42
  from ._qs import Querystring
43
43
  from ._files import to_httpx_files, async_to_httpx_files
44
44
  from ._types import (
45
- NOT_GIVEN,
46
45
  Body,
47
46
  Omit,
48
47
  Query,
@@ -57,9 +56,10 @@ from ._types import (
57
56
  RequestOptions,
58
57
  HttpxRequestFiles,
59
58
  ModelBuilderProtocol,
59
+ not_given,
60
60
  )
61
61
  from ._utils import is_dict, is_list, asyncify, is_given, lru_cache, is_mapping
62
- from ._compat import PYDANTIC_V2, model_copy, model_dump
62
+ from ._compat import PYDANTIC_V1, model_copy, model_dump
63
63
  from ._models import GenericModel, FinalRequestOptions, validate_type, construct_type
64
64
  from ._response import (
65
65
  APIResponse,
@@ -145,9 +145,9 @@ class PageInfo:
145
145
  def __init__(
146
146
  self,
147
147
  *,
148
- url: URL | NotGiven = NOT_GIVEN,
149
- json: Body | NotGiven = NOT_GIVEN,
150
- params: Query | NotGiven = NOT_GIVEN,
148
+ url: URL | NotGiven = not_given,
149
+ json: Body | NotGiven = not_given,
150
+ params: Query | NotGiven = not_given,
151
151
  ) -> None:
152
152
  self.url = url
153
153
  self.json = json
@@ -232,7 +232,7 @@ class BaseSyncPage(BasePage[_T], Generic[_T]):
232
232
  model: Type[_T],
233
233
  options: FinalRequestOptions,
234
234
  ) -> None:
235
- if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
235
+ if (not PYDANTIC_V1) and getattr(self, "__pydantic_private__", None) is None:
236
236
  self.__pydantic_private__ = {}
237
237
 
238
238
  self._model = model
@@ -320,7 +320,7 @@ class BaseAsyncPage(BasePage[_T], Generic[_T]):
320
320
  client: AsyncAPIClient,
321
321
  options: FinalRequestOptions,
322
322
  ) -> None:
323
- if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
323
+ if (not PYDANTIC_V1) and getattr(self, "__pydantic_private__", None) is None:
324
324
  self.__pydantic_private__ = {}
325
325
 
326
326
  self._model = model
@@ -595,7 +595,7 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
595
595
  # we internally support defining a temporary header to override the
596
596
  # default `cast_to` type for use with `.with_raw_response` and `.with_streaming_response`
597
597
  # see _response.py for implementation details
598
- override_cast_to = headers.pop(OVERRIDE_CAST_TO_HEADER, NOT_GIVEN)
598
+ override_cast_to = headers.pop(OVERRIDE_CAST_TO_HEADER, not_given)
599
599
  if is_given(override_cast_to):
600
600
  options.headers = headers
601
601
  return cast(Type[ResponseT], override_cast_to)
@@ -825,7 +825,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
825
825
  version: str,
826
826
  base_url: str | URL,
827
827
  max_retries: int = DEFAULT_MAX_RETRIES,
828
- timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
828
+ timeout: float | Timeout | None | NotGiven = not_given,
829
829
  http_client: httpx.Client | None = None,
830
830
  custom_headers: Mapping[str, str] | None = None,
831
831
  custom_query: Mapping[str, object] | None = None,
@@ -1356,7 +1356,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1356
1356
  base_url: str | URL,
1357
1357
  _strict_response_validation: bool,
1358
1358
  max_retries: int = DEFAULT_MAX_RETRIES,
1359
- timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
1359
+ timeout: float | Timeout | None | NotGiven = not_given,
1360
1360
  http_client: httpx.AsyncClient | None = None,
1361
1361
  custom_headers: Mapping[str, str] | None = None,
1362
1362
  custom_query: Mapping[str, object] | None = None,
@@ -1818,8 +1818,8 @@ def make_request_options(
1818
1818
  extra_query: Query | None = None,
1819
1819
  extra_body: Body | None = None,
1820
1820
  idempotency_key: str | None = None,
1821
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1822
- post_parser: PostParser | NotGiven = NOT_GIVEN,
1821
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1822
+ post_parser: PostParser | NotGiven = not_given,
1823
1823
  ) -> RequestOptions:
1824
1824
  """Create a dict of type RequestOptions without keys of NotGiven values."""
1825
1825
  options: RequestOptions = {}