openlayer 0.3.0 → 0.4.0

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 (230) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +23 -0
  4. data/README.md +280 -39
  5. data/SECURITY.md +27 -0
  6. data/lib/openlayer/client.rb +64 -59
  7. data/lib/openlayer/errors.rb +228 -0
  8. data/lib/openlayer/file_part.rb +58 -0
  9. data/lib/openlayer/internal/transport/base_client.rb +567 -0
  10. data/lib/openlayer/internal/transport/pooled_net_requester.rb +198 -0
  11. data/lib/openlayer/internal/type/array_of.rb +168 -0
  12. data/lib/openlayer/internal/type/base_model.rb +531 -0
  13. data/lib/openlayer/internal/type/base_page.rb +55 -0
  14. data/lib/openlayer/internal/type/boolean.rb +77 -0
  15. data/lib/openlayer/internal/type/converter.rb +327 -0
  16. data/lib/openlayer/internal/type/enum.rb +131 -0
  17. data/lib/openlayer/internal/type/file_input.rb +111 -0
  18. data/lib/openlayer/internal/type/hash_of.rb +188 -0
  19. data/lib/openlayer/internal/type/request_parameters.rb +42 -0
  20. data/lib/openlayer/internal/type/union.rb +237 -0
  21. data/lib/openlayer/internal/type/unknown.rb +81 -0
  22. data/lib/openlayer/internal/util.rb +915 -0
  23. data/lib/openlayer/internal.rb +20 -0
  24. data/lib/openlayer/models/commit_retrieve_params.rb +14 -0
  25. data/lib/openlayer/models/commit_retrieve_response.rb +275 -0
  26. data/lib/openlayer/models/commits/test_result_list_params.rb +91 -0
  27. data/lib/openlayer/models/commits/test_result_list_response.rb +566 -0
  28. data/lib/openlayer/models/inference_pipeline_delete_params.rb +14 -0
  29. data/lib/openlayer/models/inference_pipeline_retrieve_params.rb +33 -0
  30. data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +605 -0
  31. data/lib/openlayer/models/inference_pipeline_update_params.rb +42 -0
  32. data/lib/openlayer/models/inference_pipeline_update_response.rb +605 -0
  33. data/lib/openlayer/models/inference_pipelines/data_stream_params.rb +463 -0
  34. data/lib/openlayer/models/inference_pipelines/data_stream_response.rb +28 -0
  35. data/lib/openlayer/models/inference_pipelines/row_update_params.rb +90 -0
  36. data/lib/openlayer/models/inference_pipelines/row_update_response.rb +28 -0
  37. data/lib/openlayer/models/inference_pipelines/test_result_list_params.rb +83 -0
  38. data/lib/openlayer/models/inference_pipelines/test_result_list_response.rb +568 -0
  39. data/lib/openlayer/models/project_create_params.rb +51 -0
  40. data/lib/openlayer/models/project_create_response.rb +262 -0
  41. data/lib/openlayer/models/project_list_params.rb +59 -0
  42. data/lib/openlayer/models/project_list_response.rb +274 -0
  43. data/lib/openlayer/models/projects/commit_create_params.rb +61 -0
  44. data/lib/openlayer/models/projects/commit_create_response.rb +277 -0
  45. data/lib/openlayer/models/projects/commit_list_params.rb +32 -0
  46. data/lib/openlayer/models/projects/commit_list_response.rb +288 -0
  47. data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +229 -0
  48. data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +612 -0
  49. data/lib/openlayer/models/projects/inference_pipeline_list_params.rb +40 -0
  50. data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +623 -0
  51. data/lib/openlayer/models/projects/test_create_params.rb +367 -0
  52. data/lib/openlayer/models/projects/test_create_response.rb +438 -0
  53. data/lib/openlayer/models/projects/test_list_params.rb +91 -0
  54. data/lib/openlayer/models/projects/test_list_response.rb +452 -0
  55. data/lib/openlayer/models/projects/test_update_params.rb +262 -0
  56. data/lib/openlayer/models/projects/test_update_response.rb +24 -0
  57. data/lib/openlayer/models/storage/presigned_url_create_params.rb +24 -0
  58. data/lib/openlayer/models/storage/presigned_url_create_response.rb +35 -0
  59. data/lib/openlayer/models.rb +61 -0
  60. data/lib/openlayer/request_options.rb +77 -0
  61. data/lib/openlayer/resources/commits/test_results.rb +51 -0
  62. data/lib/openlayer/resources/commits.rb +38 -0
  63. data/lib/openlayer/resources/inference_pipelines/data.rb +46 -0
  64. data/lib/openlayer/resources/inference_pipelines/rows.rb +46 -0
  65. data/lib/openlayer/resources/inference_pipelines/test_results.rb +49 -0
  66. data/lib/openlayer/resources/inference_pipelines.rb +101 -0
  67. data/lib/openlayer/resources/projects/commits.rb +72 -0
  68. data/lib/openlayer/resources/projects/inference_pipelines.rb +74 -0
  69. data/lib/openlayer/resources/projects/tests.rb +135 -0
  70. data/lib/openlayer/resources/projects.rb +80 -0
  71. data/lib/openlayer/resources/storage/presigned_url.rb +38 -0
  72. data/lib/openlayer/resources/storage.rb +18 -0
  73. data/lib/openlayer/version.rb +1 -1
  74. data/lib/openlayer.rb +96 -12
  75. data/manifest.yaml +15 -0
  76. data/rbi/openlayer/client.rbi +58 -0
  77. data/rbi/openlayer/errors.rbi +205 -0
  78. data/rbi/openlayer/file_part.rbi +37 -0
  79. data/rbi/openlayer/internal/transport/base_client.rbi +293 -0
  80. data/rbi/openlayer/internal/transport/pooled_net_requester.rbi +79 -0
  81. data/rbi/openlayer/internal/type/array_of.rbi +104 -0
  82. data/rbi/openlayer/internal/type/base_model.rbi +304 -0
  83. data/rbi/openlayer/internal/type/base_page.rbi +42 -0
  84. data/rbi/openlayer/internal/type/boolean.rbi +58 -0
  85. data/rbi/openlayer/internal/type/converter.rbi +216 -0
  86. data/rbi/openlayer/internal/type/enum.rbi +82 -0
  87. data/rbi/openlayer/internal/type/file_input.rbi +59 -0
  88. data/rbi/openlayer/internal/type/hash_of.rbi +104 -0
  89. data/rbi/openlayer/internal/type/request_parameters.rbi +29 -0
  90. data/rbi/openlayer/internal/type/union.rbi +128 -0
  91. data/rbi/openlayer/internal/type/unknown.rbi +58 -0
  92. data/rbi/openlayer/internal/util.rbi +487 -0
  93. data/rbi/openlayer/internal.rbi +18 -0
  94. data/rbi/openlayer/models/commit_retrieve_params.rbi +27 -0
  95. data/rbi/openlayer/models/commit_retrieve_response.rbi +393 -0
  96. data/rbi/openlayer/models/commits/test_result_list_params.rbi +214 -0
  97. data/rbi/openlayer/models/commits/test_result_list_response.rbi +1256 -0
  98. data/rbi/openlayer/models/inference_pipeline_delete_params.rbi +30 -0
  99. data/rbi/openlayer/models/inference_pipeline_retrieve_params.rbi +101 -0
  100. data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +1022 -0
  101. data/rbi/openlayer/models/inference_pipeline_update_params.rbi +67 -0
  102. data/rbi/openlayer/models/inference_pipeline_update_response.rbi +1018 -0
  103. data/rbi/openlayer/models/inference_pipelines/data_stream_params.rbi +750 -0
  104. data/rbi/openlayer/models/inference_pipelines/data_stream_response.rbi +73 -0
  105. data/rbi/openlayer/models/inference_pipelines/row_update_params.rbi +153 -0
  106. data/rbi/openlayer/models/inference_pipelines/row_update_response.rbi +73 -0
  107. data/rbi/openlayer/models/inference_pipelines/test_result_list_params.rbi +216 -0
  108. data/rbi/openlayer/models/inference_pipelines/test_result_list_response.rbi +1258 -0
  109. data/rbi/openlayer/models/project_create_params.rbi +99 -0
  110. data/rbi/openlayer/models/project_create_response.rbi +401 -0
  111. data/rbi/openlayer/models/project_list_params.rbi +121 -0
  112. data/rbi/openlayer/models/project_list_response.rbi +442 -0
  113. data/rbi/openlayer/models/projects/commit_create_params.rbi +125 -0
  114. data/rbi/openlayer/models/projects/commit_create_response.rbi +409 -0
  115. data/rbi/openlayer/models/projects/commit_list_params.rbi +62 -0
  116. data/rbi/openlayer/models/projects/commit_list_response.rbi +454 -0
  117. data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +560 -0
  118. data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +1027 -0
  119. data/rbi/openlayer/models/projects/inference_pipeline_list_params.rbi +73 -0
  120. data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +1070 -0
  121. data/rbi/openlayer/models/projects/test_create_params.rbi +940 -0
  122. data/rbi/openlayer/models/projects/test_create_response.rbi +1026 -0
  123. data/rbi/openlayer/models/projects/test_list_params.rbi +165 -0
  124. data/rbi/openlayer/models/projects/test_list_response.rbi +1067 -0
  125. data/rbi/openlayer/models/projects/test_update_params.rbi +699 -0
  126. data/rbi/openlayer/models/projects/test_update_response.rbi +43 -0
  127. data/rbi/openlayer/models/storage/presigned_url_create_params.rbi +45 -0
  128. data/rbi/openlayer/models/storage/presigned_url_create_response.rbi +55 -0
  129. data/rbi/openlayer/models.rbi +26 -0
  130. data/rbi/openlayer/request_options.rbi +59 -0
  131. data/rbi/openlayer/resources/commits/test_results.rbi +45 -0
  132. data/rbi/openlayer/resources/commits.rbi +29 -0
  133. data/rbi/openlayer/resources/inference_pipelines/data.rbi +41 -0
  134. data/rbi/openlayer/resources/inference_pipelines/rows.rbi +40 -0
  135. data/rbi/openlayer/resources/inference_pipelines/test_results.rbi +46 -0
  136. data/rbi/openlayer/resources/inference_pipelines.rbi +79 -0
  137. data/rbi/openlayer/resources/projects/commits.rbi +60 -0
  138. data/rbi/openlayer/resources/projects/inference_pipelines.rbi +69 -0
  139. data/rbi/openlayer/resources/projects/tests.rbi +123 -0
  140. data/rbi/openlayer/resources/projects.rbi +64 -0
  141. data/rbi/openlayer/resources/storage/presigned_url.rbi +28 -0
  142. data/rbi/openlayer/resources/storage.rbi +15 -0
  143. data/rbi/openlayer/version.rbi +5 -0
  144. data/sig/openlayer/client.rbs +32 -0
  145. data/sig/openlayer/errors.rbs +117 -0
  146. data/sig/openlayer/file_part.rbs +21 -0
  147. data/sig/openlayer/internal/transport/base_client.rbs +131 -0
  148. data/sig/openlayer/internal/transport/pooled_net_requester.rbs +45 -0
  149. data/sig/openlayer/internal/type/array_of.rbs +48 -0
  150. data/sig/openlayer/internal/type/base_model.rbs +102 -0
  151. data/sig/openlayer/internal/type/base_page.rbs +24 -0
  152. data/sig/openlayer/internal/type/boolean.rbs +26 -0
  153. data/sig/openlayer/internal/type/converter.rbs +79 -0
  154. data/sig/openlayer/internal/type/enum.rbs +32 -0
  155. data/sig/openlayer/internal/type/file_input.rbs +25 -0
  156. data/sig/openlayer/internal/type/hash_of.rbs +48 -0
  157. data/sig/openlayer/internal/type/request_parameters.rbs +19 -0
  158. data/sig/openlayer/internal/type/union.rbs +52 -0
  159. data/sig/openlayer/internal/type/unknown.rbs +26 -0
  160. data/sig/openlayer/internal/util.rbs +185 -0
  161. data/sig/openlayer/internal.rbs +9 -0
  162. data/sig/openlayer/models/commit_retrieve_params.rbs +15 -0
  163. data/sig/openlayer/models/commit_retrieve_response.rbs +209 -0
  164. data/sig/openlayer/models/commits/test_result_list_params.rbs +91 -0
  165. data/sig/openlayer/models/commits/test_result_list_response.rbs +529 -0
  166. data/sig/openlayer/models/inference_pipeline_delete_params.rbs +15 -0
  167. data/sig/openlayer/models/inference_pipeline_retrieve_params.rbs +41 -0
  168. data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +493 -0
  169. data/sig/openlayer/models/inference_pipeline_update_params.rbs +34 -0
  170. data/sig/openlayer/models/inference_pipeline_update_response.rbs +493 -0
  171. data/sig/openlayer/models/inference_pipelines/data_stream_params.rbs +386 -0
  172. data/sig/openlayer/models/inference_pipelines/data_stream_response.rbs +32 -0
  173. data/sig/openlayer/models/inference_pipelines/row_update_params.rbs +75 -0
  174. data/sig/openlayer/models/inference_pipelines/row_update_response.rbs +32 -0
  175. data/sig/openlayer/models/inference_pipelines/test_result_list_params.rbs +84 -0
  176. data/sig/openlayer/models/inference_pipelines/test_result_list_response.rbs +529 -0
  177. data/sig/openlayer/models/project_create_params.rbs +53 -0
  178. data/sig/openlayer/models/project_create_response.rbs +210 -0
  179. data/sig/openlayer/models/project_list_params.rbs +68 -0
  180. data/sig/openlayer/models/project_list_response.rbs +225 -0
  181. data/sig/openlayer/models/projects/commit_create_params.rbs +82 -0
  182. data/sig/openlayer/models/projects/commit_create_response.rbs +211 -0
  183. data/sig/openlayer/models/projects/commit_list_params.rbs +34 -0
  184. data/sig/openlayer/models/projects/commit_list_response.rbs +228 -0
  185. data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +308 -0
  186. data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +495 -0
  187. data/sig/openlayer/models/projects/inference_pipeline_list_params.rbs +40 -0
  188. data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +512 -0
  189. data/sig/openlayer/models/projects/test_create_params.rbs +388 -0
  190. data/sig/openlayer/models/projects/test_create_response.rbs +427 -0
  191. data/sig/openlayer/models/projects/test_list_params.rbs +85 -0
  192. data/sig/openlayer/models/projects/test_list_response.rbs +442 -0
  193. data/sig/openlayer/models/projects/test_update_params.rbs +275 -0
  194. data/sig/openlayer/models/projects/test_update_response.rbs +25 -0
  195. data/sig/openlayer/models/storage/presigned_url_create_params.rbs +25 -0
  196. data/sig/openlayer/models/storage/presigned_url_create_response.rbs +22 -0
  197. data/sig/openlayer/models.rbs +21 -0
  198. data/sig/openlayer/request_options.rbs +34 -0
  199. data/sig/openlayer/resources/commits/test_results.rbs +19 -0
  200. data/sig/openlayer/resources/commits.rbs +14 -0
  201. data/sig/openlayer/resources/inference_pipelines/data.rbs +16 -0
  202. data/sig/openlayer/resources/inference_pipelines/rows.rbs +17 -0
  203. data/sig/openlayer/resources/inference_pipelines/test_results.rbs +18 -0
  204. data/sig/openlayer/resources/inference_pipelines.rbs +32 -0
  205. data/sig/openlayer/resources/projects/commits.rbs +25 -0
  206. data/sig/openlayer/resources/projects/inference_pipelines.rbs +26 -0
  207. data/sig/openlayer/resources/projects/tests.rbs +45 -0
  208. data/sig/openlayer/resources/projects.rbs +28 -0
  209. data/sig/openlayer/resources/storage/presigned_url.rbs +14 -0
  210. data/sig/openlayer/resources/storage.rbs +9 -0
  211. data/sig/openlayer/version.rbs +3 -0
  212. metadata +223 -91
  213. data/.env +0 -0
  214. data/.rspec +0 -3
  215. data/.rubocop.yml +0 -13
  216. data/LICENSE +0 -21
  217. data/Rakefile +0 -12
  218. data/examples/staging/.DS_Store +0 -0
  219. data/examples/staging/commit.yaml +0 -2
  220. data/examples/staging/model/model_config.yaml +0 -12
  221. data/examples/staging/validation/dataset_config.yaml +0 -12
  222. data/lib/openlayer/error.rb +0 -5
  223. data/lib/openlayer/inference_pipeline.rb +0 -36
  224. data/lib/openlayer/object.rb +0 -28
  225. data/lib/openlayer/objects/project.rb +0 -185
  226. data/lib/openlayer/objects/project_version.rb +0 -89
  227. data/lib/openlayer/services/s3_presigned_client.rb +0 -47
  228. data/lib/openlayer/services/tar_file_helper.rb +0 -55
  229. data/openlayer.gemspec +0 -45
  230. data/sig/openlayer.rbs +0 -4
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class InferencePipelines
6
+ class TestResults
7
+ # Some parameter documentations has been truncated, see
8
+ # {Openlayer::Models::InferencePipelines::TestResultListParams} for more details.
9
+ #
10
+ # List the latest test results for an inference pipeline.
11
+ #
12
+ # @overload list(inference_pipeline_id, page: nil, per_page: nil, status: nil, type: nil, request_options: {})
13
+ #
14
+ # @param inference_pipeline_id [String] The inference pipeline id (a UUID).
15
+ #
16
+ # @param page [Integer] The page to return in a paginated query.
17
+ #
18
+ # @param per_page [Integer] Maximum number of items to return per page.
19
+ #
20
+ # @param status [Symbol, Openlayer::Models::InferencePipelines::TestResultListParams::Status] Filter list of test results by status. Available statuses are `running`, `passin
21
+ #
22
+ # @param type [Symbol, Openlayer::Models::InferencePipelines::TestResultListParams::Type] Filter objects by test type. Available types are `integrity`, `consistency`, `pe
23
+ #
24
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
25
+ #
26
+ # @return [Openlayer::Models::InferencePipelines::TestResultListResponse]
27
+ #
28
+ # @see Openlayer::Models::InferencePipelines::TestResultListParams
29
+ def list(inference_pipeline_id, params = {})
30
+ parsed, options = Openlayer::InferencePipelines::TestResultListParams.dump_request(params)
31
+ @client.request(
32
+ method: :get,
33
+ path: ["inference-pipelines/%1$s/results", inference_pipeline_id],
34
+ query: parsed.transform_keys(per_page: "perPage"),
35
+ model: Openlayer::Models::InferencePipelines::TestResultListResponse,
36
+ options: options
37
+ )
38
+ end
39
+
40
+ # @api private
41
+ #
42
+ # @param client [Openlayer::Client]
43
+ def initialize(client:)
44
+ @client = client
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class InferencePipelines
6
+ # @return [Openlayer::Resources::InferencePipelines::Data]
7
+ attr_reader :data
8
+
9
+ # @return [Openlayer::Resources::InferencePipelines::Rows]
10
+ attr_reader :rows
11
+
12
+ # @return [Openlayer::Resources::InferencePipelines::TestResults]
13
+ attr_reader :test_results
14
+
15
+ # Retrieve inference pipeline.
16
+ #
17
+ # @overload retrieve(inference_pipeline_id, expand: nil, request_options: {})
18
+ #
19
+ # @param inference_pipeline_id [String] The inference pipeline id (a UUID).
20
+ #
21
+ # @param expand [Array<Symbol, Openlayer::Models::InferencePipelineRetrieveParams::Expand>] Expand specific nested objects.
22
+ #
23
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
24
+ #
25
+ # @return [Openlayer::Models::InferencePipelineRetrieveResponse]
26
+ #
27
+ # @see Openlayer::Models::InferencePipelineRetrieveParams
28
+ def retrieve(inference_pipeline_id, params = {})
29
+ parsed, options = Openlayer::InferencePipelineRetrieveParams.dump_request(params)
30
+ @client.request(
31
+ method: :get,
32
+ path: ["inference-pipelines/%1$s", inference_pipeline_id],
33
+ query: parsed,
34
+ model: Openlayer::Models::InferencePipelineRetrieveResponse,
35
+ options: options
36
+ )
37
+ end
38
+
39
+ # Some parameter documentations has been truncated, see
40
+ # {Openlayer::Models::InferencePipelineUpdateParams} for more details.
41
+ #
42
+ # Update inference pipeline.
43
+ #
44
+ # @overload update(inference_pipeline_id, description: nil, name: nil, reference_dataset_uri: nil, request_options: {})
45
+ #
46
+ # @param inference_pipeline_id [String] The inference pipeline id (a UUID).
47
+ #
48
+ # @param description [String, nil] The inference pipeline description.
49
+ #
50
+ # @param name [String] The inference pipeline name.
51
+ #
52
+ # @param reference_dataset_uri [String, nil] The storage uri of your reference dataset. We recommend using the Python SDK or
53
+ #
54
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
55
+ #
56
+ # @return [Openlayer::Models::InferencePipelineUpdateResponse]
57
+ #
58
+ # @see Openlayer::Models::InferencePipelineUpdateParams
59
+ def update(inference_pipeline_id, params = {})
60
+ parsed, options = Openlayer::InferencePipelineUpdateParams.dump_request(params)
61
+ @client.request(
62
+ method: :put,
63
+ path: ["inference-pipelines/%1$s", inference_pipeline_id],
64
+ body: parsed,
65
+ model: Openlayer::Models::InferencePipelineUpdateResponse,
66
+ options: options
67
+ )
68
+ end
69
+
70
+ # Delete inference pipeline.
71
+ #
72
+ # @overload delete(inference_pipeline_id, request_options: {})
73
+ #
74
+ # @param inference_pipeline_id [String] The inference pipeline id (a UUID).
75
+ #
76
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
77
+ #
78
+ # @return [nil]
79
+ #
80
+ # @see Openlayer::Models::InferencePipelineDeleteParams
81
+ def delete(inference_pipeline_id, params = {})
82
+ @client.request(
83
+ method: :delete,
84
+ path: ["inference-pipelines/%1$s", inference_pipeline_id],
85
+ model: NilClass,
86
+ options: params[:request_options]
87
+ )
88
+ end
89
+
90
+ # @api private
91
+ #
92
+ # @param client [Openlayer::Client]
93
+ def initialize(client:)
94
+ @client = client
95
+ @data = Openlayer::Resources::InferencePipelines::Data.new(client: client)
96
+ @rows = Openlayer::Resources::InferencePipelines::Rows.new(client: client)
97
+ @test_results = Openlayer::Resources::InferencePipelines::TestResults.new(client: client)
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Projects
6
+ class Commits
7
+ # Create a new commit (project version) in a project.
8
+ #
9
+ # @overload create(project_id, commit:, storage_uri:, archived: nil, deployment_status: nil, request_options: {})
10
+ #
11
+ # @param project_id [String] The project id.
12
+ #
13
+ # @param commit [Openlayer::Models::Projects::CommitCreateParams::Commit] The details of a commit (project version).
14
+ #
15
+ # @param storage_uri [String] The storage URI where the commit bundle is stored.
16
+ #
17
+ # @param archived [Boolean, nil] Whether the commit is archived.
18
+ #
19
+ # @param deployment_status [String] The deployment status associated with the commit's model.
20
+ #
21
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Openlayer::Models::Projects::CommitCreateResponse]
24
+ #
25
+ # @see Openlayer::Models::Projects::CommitCreateParams
26
+ def create(project_id, params)
27
+ parsed, options = Openlayer::Projects::CommitCreateParams.dump_request(params)
28
+ @client.request(
29
+ method: :post,
30
+ path: ["projects/%1$s/versions", project_id],
31
+ body: parsed,
32
+ model: Openlayer::Models::Projects::CommitCreateResponse,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # List the commits (project versions) in a project.
38
+ #
39
+ # @overload list(project_id, page: nil, per_page: nil, request_options: {})
40
+ #
41
+ # @param project_id [String] The project id.
42
+ #
43
+ # @param page [Integer] The page to return in a paginated query.
44
+ #
45
+ # @param per_page [Integer] Maximum number of items to return per page.
46
+ #
47
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
48
+ #
49
+ # @return [Openlayer::Models::Projects::CommitListResponse]
50
+ #
51
+ # @see Openlayer::Models::Projects::CommitListParams
52
+ def list(project_id, params = {})
53
+ parsed, options = Openlayer::Projects::CommitListParams.dump_request(params)
54
+ @client.request(
55
+ method: :get,
56
+ path: ["projects/%1$s/versions", project_id],
57
+ query: parsed.transform_keys(per_page: "perPage"),
58
+ model: Openlayer::Models::Projects::CommitListResponse,
59
+ options: options
60
+ )
61
+ end
62
+
63
+ # @api private
64
+ #
65
+ # @param client [Openlayer::Client]
66
+ def initialize(client:)
67
+ @client = client
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Projects
6
+ class InferencePipelines
7
+ # Create an inference pipeline in a project.
8
+ #
9
+ # @overload create(project_id, description:, name:, project: nil, workspace: nil, request_options: {})
10
+ #
11
+ # @param project_id [String] The project id.
12
+ #
13
+ # @param description [String, nil] The inference pipeline description.
14
+ #
15
+ # @param name [String] The inference pipeline name.
16
+ #
17
+ # @param project [Openlayer::Models::Projects::InferencePipelineCreateParams::Project, nil]
18
+ #
19
+ # @param workspace [Openlayer::Models::Projects::InferencePipelineCreateParams::Workspace, nil]
20
+ #
21
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Openlayer::Models::Projects::InferencePipelineCreateResponse]
24
+ #
25
+ # @see Openlayer::Models::Projects::InferencePipelineCreateParams
26
+ def create(project_id, params)
27
+ parsed, options = Openlayer::Projects::InferencePipelineCreateParams.dump_request(params)
28
+ @client.request(
29
+ method: :post,
30
+ path: ["projects/%1$s/inference-pipelines", project_id],
31
+ body: parsed,
32
+ model: Openlayer::Models::Projects::InferencePipelineCreateResponse,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # List the inference pipelines in a project.
38
+ #
39
+ # @overload list(project_id, name: nil, page: nil, per_page: nil, request_options: {})
40
+ #
41
+ # @param project_id [String] The project id.
42
+ #
43
+ # @param name [String] Filter list of items by name.
44
+ #
45
+ # @param page [Integer] The page to return in a paginated query.
46
+ #
47
+ # @param per_page [Integer] Maximum number of items to return per page.
48
+ #
49
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
50
+ #
51
+ # @return [Openlayer::Models::Projects::InferencePipelineListResponse]
52
+ #
53
+ # @see Openlayer::Models::Projects::InferencePipelineListParams
54
+ def list(project_id, params = {})
55
+ parsed, options = Openlayer::Projects::InferencePipelineListParams.dump_request(params)
56
+ @client.request(
57
+ method: :get,
58
+ path: ["projects/%1$s/inference-pipelines", project_id],
59
+ query: parsed.transform_keys(per_page: "perPage"),
60
+ model: Openlayer::Models::Projects::InferencePipelineListResponse,
61
+ options: options
62
+ )
63
+ end
64
+
65
+ # @api private
66
+ #
67
+ # @param client [Openlayer::Client]
68
+ def initialize(client:)
69
+ @client = client
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Projects
6
+ class Tests
7
+ # Some parameter documentations has been truncated, see
8
+ # {Openlayer::Models::Projects::TestCreateParams} for more details.
9
+ #
10
+ # Create a test.
11
+ #
12
+ # @overload create(project_id, description:, name:, subtype:, thresholds:, type:, archived: nil, delay_window: nil, evaluation_window: nil, uses_ml_model: nil, uses_production_data: nil, uses_reference_dataset: nil, uses_training_dataset: nil, uses_validation_dataset: nil, request_options: {})
13
+ #
14
+ # @param project_id [String] The project id.
15
+ #
16
+ # @param description [Object, nil] The test description.
17
+ #
18
+ # @param name [String] The test name.
19
+ #
20
+ # @param subtype [Symbol, Openlayer::Models::Projects::TestCreateParams::Subtype] The test subtype.
21
+ #
22
+ # @param thresholds [Array<Openlayer::Models::Projects::TestCreateParams::Threshold>]
23
+ #
24
+ # @param type [Symbol, Openlayer::Models::Projects::TestCreateParams::Type] The test type.
25
+ #
26
+ # @param archived [Boolean] Whether the test is archived.
27
+ #
28
+ # @param delay_window [Float, nil] The delay window in seconds. Only applies to tests that use production data.
29
+ #
30
+ # @param evaluation_window [Float, nil] The evaluation window in seconds. Only applies to tests that use production data
31
+ #
32
+ # @param uses_ml_model [Boolean] Whether the test uses an ML model.
33
+ #
34
+ # @param uses_production_data [Boolean] Whether the test uses production data (monitoring mode only).
35
+ #
36
+ # @param uses_reference_dataset [Boolean] Whether the test uses a reference dataset (monitoring mode only).
37
+ #
38
+ # @param uses_training_dataset [Boolean] Whether the test uses a training dataset.
39
+ #
40
+ # @param uses_validation_dataset [Boolean] Whether the test uses a validation dataset.
41
+ #
42
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
43
+ #
44
+ # @return [Openlayer::Models::Projects::TestCreateResponse]
45
+ #
46
+ # @see Openlayer::Models::Projects::TestCreateParams
47
+ def create(project_id, params)
48
+ parsed, options = Openlayer::Projects::TestCreateParams.dump_request(params)
49
+ @client.request(
50
+ method: :post,
51
+ path: ["projects/%1$s/tests", project_id],
52
+ body: parsed,
53
+ model: Openlayer::Models::Projects::TestCreateResponse,
54
+ options: options
55
+ )
56
+ end
57
+
58
+ # Update tests.
59
+ #
60
+ # @overload update(project_id, payloads:, request_options: {})
61
+ #
62
+ # @param project_id [String] The project id.
63
+ #
64
+ # @param payloads [Array<Openlayer::Models::Projects::TestUpdateParams::Payload>]
65
+ #
66
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
67
+ #
68
+ # @return [Openlayer::Models::Projects::TestUpdateResponse]
69
+ #
70
+ # @see Openlayer::Models::Projects::TestUpdateParams
71
+ def update(project_id, params)
72
+ parsed, options = Openlayer::Projects::TestUpdateParams.dump_request(params)
73
+ @client.request(
74
+ method: :put,
75
+ path: ["projects/%1$s/tests", project_id],
76
+ body: parsed,
77
+ model: Openlayer::Models::Projects::TestUpdateResponse,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # Some parameter documentations has been truncated, see
83
+ # {Openlayer::Models::Projects::TestListParams} for more details.
84
+ #
85
+ # List tests under a project.
86
+ #
87
+ # @overload list(project_id, include_archived: nil, origin_version_id: nil, page: nil, per_page: nil, suggested: nil, type: nil, uses_production_data: nil, request_options: {})
88
+ #
89
+ # @param project_id [String] The project id.
90
+ #
91
+ # @param include_archived [Boolean] Filter for archived tests.
92
+ #
93
+ # @param origin_version_id [String, nil] Retrive tests created by a specific project version.
94
+ #
95
+ # @param page [Integer] The page to return in a paginated query.
96
+ #
97
+ # @param per_page [Integer] Maximum number of items to return per page.
98
+ #
99
+ # @param suggested [Boolean] Filter for suggested tests.
100
+ #
101
+ # @param type [Symbol, Openlayer::Models::Projects::TestListParams::Type] Filter objects by test type. Available types are `integrity`, `consistency`, `pe
102
+ #
103
+ # @param uses_production_data [Boolean, nil] Retrive tests with usesProductionData (monitoring).
104
+ #
105
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
106
+ #
107
+ # @return [Openlayer::Models::Projects::TestListResponse]
108
+ #
109
+ # @see Openlayer::Models::Projects::TestListParams
110
+ def list(project_id, params = {})
111
+ parsed, options = Openlayer::Projects::TestListParams.dump_request(params)
112
+ @client.request(
113
+ method: :get,
114
+ path: ["projects/%1$s/tests", project_id],
115
+ query: parsed.transform_keys(
116
+ include_archived: "includeArchived",
117
+ origin_version_id: "originVersionId",
118
+ per_page: "perPage",
119
+ uses_production_data: "usesProductionData"
120
+ ),
121
+ model: Openlayer::Models::Projects::TestListResponse,
122
+ options: options
123
+ )
124
+ end
125
+
126
+ # @api private
127
+ #
128
+ # @param client [Openlayer::Client]
129
+ def initialize(client:)
130
+ @client = client
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Projects
6
+ # @return [Openlayer::Resources::Projects::Commits]
7
+ attr_reader :commits
8
+
9
+ # @return [Openlayer::Resources::Projects::InferencePipelines]
10
+ attr_reader :inference_pipelines
11
+
12
+ # @return [Openlayer::Resources::Projects::Tests]
13
+ attr_reader :tests
14
+
15
+ # Create a project in your workspace.
16
+ #
17
+ # @overload create(name:, task_type:, description: nil, request_options: {})
18
+ #
19
+ # @param name [String] The project name.
20
+ #
21
+ # @param task_type [Symbol, Openlayer::Models::ProjectCreateParams::TaskType] The task type of the project.
22
+ #
23
+ # @param description [String, nil] The project description.
24
+ #
25
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
26
+ #
27
+ # @return [Openlayer::Models::ProjectCreateResponse]
28
+ #
29
+ # @see Openlayer::Models::ProjectCreateParams
30
+ def create(params)
31
+ parsed, options = Openlayer::ProjectCreateParams.dump_request(params)
32
+ @client.request(
33
+ method: :post,
34
+ path: "projects",
35
+ body: parsed,
36
+ model: Openlayer::Models::ProjectCreateResponse,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # List your workspace's projects.
42
+ #
43
+ # @overload list(name: nil, page: nil, per_page: nil, task_type: nil, request_options: {})
44
+ #
45
+ # @param name [String] Filter list of items by project name.
46
+ #
47
+ # @param page [Integer] The page to return in a paginated query.
48
+ #
49
+ # @param per_page [Integer] Maximum number of items to return per page.
50
+ #
51
+ # @param task_type [Symbol, Openlayer::Models::ProjectListParams::TaskType] Filter list of items by task type.
52
+ #
53
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
54
+ #
55
+ # @return [Openlayer::Models::ProjectListResponse]
56
+ #
57
+ # @see Openlayer::Models::ProjectListParams
58
+ def list(params = {})
59
+ parsed, options = Openlayer::ProjectListParams.dump_request(params)
60
+ @client.request(
61
+ method: :get,
62
+ path: "projects",
63
+ query: parsed.transform_keys(per_page: "perPage", task_type: "taskType"),
64
+ model: Openlayer::Models::ProjectListResponse,
65
+ options: options
66
+ )
67
+ end
68
+
69
+ # @api private
70
+ #
71
+ # @param client [Openlayer::Client]
72
+ def initialize(client:)
73
+ @client = client
74
+ @commits = Openlayer::Resources::Projects::Commits.new(client: client)
75
+ @inference_pipelines = Openlayer::Resources::Projects::InferencePipelines.new(client: client)
76
+ @tests = Openlayer::Resources::Projects::Tests.new(client: client)
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Storage
6
+ class PresignedURL
7
+ # Retrieve a presigned url to post storage artifacts.
8
+ #
9
+ # @overload create(object_name:, request_options: {})
10
+ #
11
+ # @param object_name [String] The name of the object.
12
+ #
13
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
14
+ #
15
+ # @return [Openlayer::Models::Storage::PresignedURLCreateResponse]
16
+ #
17
+ # @see Openlayer::Models::Storage::PresignedURLCreateParams
18
+ def create(params)
19
+ parsed, options = Openlayer::Storage::PresignedURLCreateParams.dump_request(params)
20
+ @client.request(
21
+ method: :post,
22
+ path: "storage/presigned-url",
23
+ query: parsed.transform_keys(object_name: "objectName"),
24
+ model: Openlayer::Models::Storage::PresignedURLCreateResponse,
25
+ options: options
26
+ )
27
+ end
28
+
29
+ # @api private
30
+ #
31
+ # @param client [Openlayer::Client]
32
+ def initialize(client:)
33
+ @client = client
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Storage
6
+ # @return [Openlayer::Resources::Storage::PresignedURL]
7
+ attr_reader :presigned_url
8
+
9
+ # @api private
10
+ #
11
+ # @param client [Openlayer::Client]
12
+ def initialize(client:)
13
+ @client = client
14
+ @presigned_url = Openlayer::Resources::Storage::PresignedURL.new(client: client)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Openlayer
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end