shaped 0.14.1__tar.gz → 1.0.1__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 (79) hide show
  1. {shaped-0.14.1 → shaped-1.0.1}/PKG-INFO +1 -1
  2. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/__init__.py +1 -1
  3. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/__init__.py +1 -0
  4. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/api/dataset_api.py +12 -4
  5. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/api/model_inference_api.py +33 -14
  6. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/api/model_management_api.py +15 -5
  7. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/api_client.py +19 -3
  8. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/configuration.py +152 -37
  9. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/__init__.py +1 -0
  10. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/complement_items_request.py +4 -2
  11. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/create_model_arguments.py +3 -3
  12. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/http_validation_error.py +3 -3
  13. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/list_datasets_response.py +3 -3
  14. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/list_models_response.py +3 -3
  15. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/post_rank_request.py +3 -3
  16. shaped-1.0.1/python/shaped/autogen/models/retrieve_response.py +91 -0
  17. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/retriever_top_k_override.py +3 -3
  18. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/similar_item_request.py +3 -1
  19. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/similar_users_request.py +3 -1
  20. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/rest.py +1 -1
  21. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/client.py +6 -0
  22. {shaped-0.14.1 → shaped-1.0.1}/python/shaped.egg-info/PKG-INFO +1 -1
  23. {shaped-0.14.1 → shaped-1.0.1}/python/shaped.egg-info/SOURCES.txt +1 -0
  24. {shaped-0.14.1 → shaped-1.0.1}/setup.py +1 -1
  25. {shaped-0.14.1 → shaped-1.0.1}/README.md +0 -0
  26. {shaped-0.14.1 → shaped-1.0.1}/pyproject.toml +0 -0
  27. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/api/__init__.py +0 -0
  28. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/api_response.py +0 -0
  29. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/exceptions.py +0 -0
  30. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/amplitude_dataset_config.py +0 -0
  31. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/aws_pinpoint_dataset_config.py +0 -0
  32. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/big_query_dataset_config.py +0 -0
  33. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/complement_items_response.py +0 -0
  34. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/connectors_inner.py +0 -0
  35. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/create_dataset_arguments.py +0 -0
  36. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/create_embedding_response.py +0 -0
  37. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/create_item_embedding_request.py +0 -0
  38. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/create_model_response.py +0 -0
  39. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/create_user_embedding_request.py +0 -0
  40. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/custom_dataset_config.py +0 -0
  41. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/dataset_config.py +0 -0
  42. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/dataset_schema_type.py +0 -0
  43. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/datasets_inner.py +0 -0
  44. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/delete_model_response.py +0 -0
  45. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/fetch_config.py +0 -0
  46. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/file_config.py +0 -0
  47. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/file_source_config.py +0 -0
  48. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/inference_config.py +0 -0
  49. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/insert_model_response.py +0 -0
  50. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/interaction.py +0 -0
  51. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/model_config.py +0 -0
  52. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/model_response.py +0 -0
  53. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/mongo_db_dataset_config.py +0 -0
  54. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/my_sql_dataset_config.py +0 -0
  55. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/path.py +0 -0
  56. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/postgres_dataset_config.py +0 -0
  57. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/rank_attribute_response.py +0 -0
  58. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/rank_grid_attribute_request.py +0 -0
  59. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/rank_grid_attribute_request1.py +0 -0
  60. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/rank_grid_attribute_response.py +0 -0
  61. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/rank_response.py +0 -0
  62. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/redshift_dataset_config.py +0 -0
  63. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/retrieve_request.py +0 -0
  64. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/rudder_stack_dataset_config.py +0 -0
  65. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/segment_dataset_config.py +0 -0
  66. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/similar_response.py +0 -0
  67. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/snowflake_dataset_config.py +0 -0
  68. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/successful_response.py +0 -0
  69. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/validation_error.py +0 -0
  70. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/value_type.py +0 -0
  71. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/autogen/models/view_model_response.py +0 -0
  72. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/cli/__init__.py +0 -0
  73. {shaped-0.14.1 → shaped-1.0.1}/python/shaped/cli/shaped_cli.py +0 -0
  74. {shaped-0.14.1 → shaped-1.0.1}/python/shaped.egg-info/dependency_links.txt +0 -0
  75. {shaped-0.14.1 → shaped-1.0.1}/python/shaped.egg-info/entry_points.txt +0 -0
  76. {shaped-0.14.1 → shaped-1.0.1}/python/shaped.egg-info/requires.txt +0 -0
  77. {shaped-0.14.1 → shaped-1.0.1}/python/shaped.egg-info/top_level.txt +0 -0
  78. {shaped-0.14.1 → shaped-1.0.1}/python/shaped.egg-info/zip-safe +0 -0
  79. {shaped-0.14.1 → shaped-1.0.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: shaped
3
- Version: 0.14.1
3
+ Version: 1.0.1
4
4
  Summary: CLI and SDK tools for interacting with the Shaped API.
5
5
  Home-page: https://github.com/shaped-ai/shaped-cli
6
6
  Author: Shaped Team
@@ -1,4 +1,4 @@
1
- __version__ = "1.0.0"
1
+ __version__ = "1.0.1"
2
2
  from .client import Client
3
3
  from .autogen.models.inference_config import InferenceConfig
4
4
  from .autogen.models.retriever_top_k_override import RetrieverTopKOverride
@@ -73,6 +73,7 @@ from shaped.autogen.models.rank_grid_attribute_response import RankGridAttribute
73
73
  from shaped.autogen.models.rank_response import RankResponse
74
74
  from shaped.autogen.models.redshift_dataset_config import RedshiftDatasetConfig
75
75
  from shaped.autogen.models.retrieve_request import RetrieveRequest
76
+ from shaped.autogen.models.retrieve_response import RetrieveResponse
76
77
  from shaped.autogen.models.retriever_top_k_override import RetrieverTopKOverride
77
78
  from shaped.autogen.models.rudder_stack_dataset_config import RudderStackDatasetConfig
78
79
  from shaped.autogen.models.segment_dataset_config import SegmentDatasetConfig
@@ -272,7 +272,9 @@ class DatasetApi:
272
272
  _query_params: List[Tuple[str, str]] = []
273
273
  _header_params: Dict[str, Optional[str]] = _headers or {}
274
274
  _form_params: List[Tuple[str, str]] = []
275
- _files: Dict[str, Union[str, bytes]] = {}
275
+ _files: Dict[
276
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
277
+ ] = {}
276
278
  _body_params: Optional[bytes] = None
277
279
 
278
280
  # process the path parameters
@@ -561,7 +563,9 @@ class DatasetApi:
561
563
  _query_params: List[Tuple[str, str]] = []
562
564
  _header_params: Dict[str, Optional[str]] = _headers or {}
563
565
  _form_params: List[Tuple[str, str]] = []
564
- _files: Dict[str, Union[str, bytes]] = {}
566
+ _files: Dict[
567
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
568
+ ] = {}
565
569
  _body_params: Optional[bytes] = None
566
570
 
567
571
  # process the path parameters
@@ -837,7 +841,9 @@ class DatasetApi:
837
841
  _query_params: List[Tuple[str, str]] = []
838
842
  _header_params: Dict[str, Optional[str]] = _headers or {}
839
843
  _form_params: List[Tuple[str, str]] = []
840
- _files: Dict[str, Union[str, bytes]] = {}
844
+ _files: Dict[
845
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
846
+ ] = {}
841
847
  _body_params: Optional[bytes] = None
842
848
 
843
849
  # process the path parameters
@@ -1100,7 +1106,9 @@ class DatasetApi:
1100
1106
  _query_params: List[Tuple[str, str]] = []
1101
1107
  _header_params: Dict[str, Optional[str]] = _headers or {}
1102
1108
  _form_params: List[Tuple[str, str]] = []
1103
- _files: Dict[str, Union[str, bytes]] = {}
1109
+ _files: Dict[
1110
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1111
+ ] = {}
1104
1112
  _body_params: Optional[bytes] = None
1105
1113
 
1106
1114
  # process the path parameters
@@ -31,6 +31,7 @@ from shaped.autogen.models.rank_grid_attribute_request1 import RankGridAttribute
31
31
  from shaped.autogen.models.rank_grid_attribute_response import RankGridAttributeResponse
32
32
  from shaped.autogen.models.rank_response import RankResponse
33
33
  from shaped.autogen.models.retrieve_request import RetrieveRequest
34
+ from shaped.autogen.models.retrieve_response import RetrieveResponse
34
35
  from shaped.autogen.models.similar_item_request import SimilarItemRequest
35
36
  from shaped.autogen.models.similar_response import SimilarResponse
36
37
  from shaped.autogen.models.similar_users_request import SimilarUsersRequest
@@ -297,7 +298,9 @@ class ModelInferenceApi:
297
298
  _query_params: List[Tuple[str, str]] = []
298
299
  _header_params: Dict[str, Optional[str]] = _headers or {}
299
300
  _form_params: List[Tuple[str, str]] = []
300
- _files: Dict[str, Union[str, bytes]] = {}
301
+ _files: Dict[
302
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
303
+ ] = {}
301
304
  _body_params: Optional[bytes] = None
302
305
 
303
306
  # process the path parameters
@@ -601,7 +604,9 @@ class ModelInferenceApi:
601
604
  _query_params: List[Tuple[str, str]] = []
602
605
  _header_params: Dict[str, Optional[str]] = _headers or {}
603
606
  _form_params: List[Tuple[str, str]] = []
604
- _files: Dict[str, Union[str, bytes]] = {}
607
+ _files: Dict[
608
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
609
+ ] = {}
605
610
  _body_params: Optional[bytes] = None
606
611
 
607
612
  # process the path parameters
@@ -905,7 +910,9 @@ class ModelInferenceApi:
905
910
  _query_params: List[Tuple[str, str]] = []
906
911
  _header_params: Dict[str, Optional[str]] = _headers or {}
907
912
  _form_params: List[Tuple[str, str]] = []
908
- _files: Dict[str, Union[str, bytes]] = {}
913
+ _files: Dict[
914
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
915
+ ] = {}
909
916
  _body_params: Optional[bytes] = None
910
917
 
911
918
  # process the path parameters
@@ -1209,7 +1216,9 @@ class ModelInferenceApi:
1209
1216
  _query_params: List[Tuple[str, str]] = []
1210
1217
  _header_params: Dict[str, Optional[str]] = _headers or {}
1211
1218
  _form_params: List[Tuple[str, str]] = []
1212
- _files: Dict[str, Union[str, bytes]] = {}
1219
+ _files: Dict[
1220
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1221
+ ] = {}
1213
1222
  _body_params: Optional[bytes] = None
1214
1223
 
1215
1224
  # process the path parameters
@@ -1513,7 +1522,9 @@ class ModelInferenceApi:
1513
1522
  _query_params: List[Tuple[str, str]] = []
1514
1523
  _header_params: Dict[str, Optional[str]] = _headers or {}
1515
1524
  _form_params: List[Tuple[str, str]] = []
1516
- _files: Dict[str, Union[str, bytes]] = {}
1525
+ _files: Dict[
1526
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1527
+ ] = {}
1517
1528
  _body_params: Optional[bytes] = None
1518
1529
 
1519
1530
  # process the path parameters
@@ -1817,7 +1828,9 @@ class ModelInferenceApi:
1817
1828
  _query_params: List[Tuple[str, str]] = []
1818
1829
  _header_params: Dict[str, Optional[str]] = _headers or {}
1819
1830
  _form_params: List[Tuple[str, str]] = []
1820
- _files: Dict[str, Union[str, bytes]] = {}
1831
+ _files: Dict[
1832
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1833
+ ] = {}
1821
1834
  _body_params: Optional[bytes] = None
1822
1835
 
1823
1836
  # process the path parameters
@@ -1895,7 +1908,7 @@ class ModelInferenceApi:
1895
1908
  _content_type: Optional[StrictStr] = None,
1896
1909
  _headers: Optional[Dict[StrictStr, Any]] = None,
1897
1910
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1898
- ) -> RankResponse:
1911
+ ) -> RetrieveResponse:
1899
1912
  """Retrieve
1900
1913
 
1901
1914
  Retrieve returns relevant item_ids for the given input text or user query. It can be used instead of rank if the filtering, scoring and ordering stages aren't needed for the final ranking. Typically people use this endpoint over rank if they want to reduce latency and complexity of the ranking pipeline and only need a subset of the functionality, e.g. just search but without personalization.
@@ -1939,7 +1952,7 @@ class ModelInferenceApi:
1939
1952
  )
1940
1953
 
1941
1954
  _response_types_map: Dict[str, Optional[str]] = {
1942
- '200': "RankResponse",
1955
+ '200': "RetrieveResponse",
1943
1956
  '422': "HTTPValidationError",
1944
1957
  }
1945
1958
  response_data = self.api_client.call_api(
@@ -1971,7 +1984,7 @@ class ModelInferenceApi:
1971
1984
  _content_type: Optional[StrictStr] = None,
1972
1985
  _headers: Optional[Dict[StrictStr, Any]] = None,
1973
1986
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1974
- ) -> ApiResponse[RankResponse]:
1987
+ ) -> ApiResponse[RetrieveResponse]:
1975
1988
  """Retrieve
1976
1989
 
1977
1990
  Retrieve returns relevant item_ids for the given input text or user query. It can be used instead of rank if the filtering, scoring and ordering stages aren't needed for the final ranking. Typically people use this endpoint over rank if they want to reduce latency and complexity of the ranking pipeline and only need a subset of the functionality, e.g. just search but without personalization.
@@ -2015,7 +2028,7 @@ class ModelInferenceApi:
2015
2028
  )
2016
2029
 
2017
2030
  _response_types_map: Dict[str, Optional[str]] = {
2018
- '200': "RankResponse",
2031
+ '200': "RetrieveResponse",
2019
2032
  '422': "HTTPValidationError",
2020
2033
  }
2021
2034
  response_data = self.api_client.call_api(
@@ -2091,7 +2104,7 @@ class ModelInferenceApi:
2091
2104
  )
2092
2105
 
2093
2106
  _response_types_map: Dict[str, Optional[str]] = {
2094
- '200': "RankResponse",
2107
+ '200': "RetrieveResponse",
2095
2108
  '422': "HTTPValidationError",
2096
2109
  }
2097
2110
  response_data = self.api_client.call_api(
@@ -2121,7 +2134,9 @@ class ModelInferenceApi:
2121
2134
  _query_params: List[Tuple[str, str]] = []
2122
2135
  _header_params: Dict[str, Optional[str]] = _headers or {}
2123
2136
  _form_params: List[Tuple[str, str]] = []
2124
- _files: Dict[str, Union[str, bytes]] = {}
2137
+ _files: Dict[
2138
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2139
+ ] = {}
2125
2140
  _body_params: Optional[bytes] = None
2126
2141
 
2127
2142
  # process the path parameters
@@ -2425,7 +2440,9 @@ class ModelInferenceApi:
2425
2440
  _query_params: List[Tuple[str, str]] = []
2426
2441
  _header_params: Dict[str, Optional[str]] = _headers or {}
2427
2442
  _form_params: List[Tuple[str, str]] = []
2428
- _files: Dict[str, Union[str, bytes]] = {}
2443
+ _files: Dict[
2444
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2445
+ ] = {}
2429
2446
  _body_params: Optional[bytes] = None
2430
2447
 
2431
2448
  # process the path parameters
@@ -2742,7 +2759,9 @@ class ModelInferenceApi:
2742
2759
  _query_params: List[Tuple[str, str]] = []
2743
2760
  _header_params: Dict[str, Optional[str]] = _headers or {}
2744
2761
  _form_params: List[Tuple[str, str]] = []
2745
- _files: Dict[str, Union[str, bytes]] = {}
2762
+ _files: Dict[
2763
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2764
+ ] = {}
2746
2765
  _body_params: Optional[bytes] = None
2747
2766
 
2748
2767
  # process the path parameters
@@ -273,7 +273,9 @@ class ModelManagementApi:
273
273
  _query_params: List[Tuple[str, str]] = []
274
274
  _header_params: Dict[str, Optional[str]] = _headers or {}
275
275
  _form_params: List[Tuple[str, str]] = []
276
- _files: Dict[str, Union[str, bytes]] = {}
276
+ _files: Dict[
277
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
278
+ ] = {}
277
279
  _body_params: Optional[bytes] = None
278
280
 
279
281
  # process the path parameters
@@ -549,7 +551,9 @@ class ModelManagementApi:
549
551
  _query_params: List[Tuple[str, str]] = []
550
552
  _header_params: Dict[str, Optional[str]] = _headers or {}
551
553
  _form_params: List[Tuple[str, str]] = []
552
- _files: Dict[str, Union[str, bytes]] = {}
554
+ _files: Dict[
555
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
556
+ ] = {}
553
557
  _body_params: Optional[bytes] = None
554
558
 
555
559
  # process the path parameters
@@ -812,7 +816,9 @@ class ModelManagementApi:
812
816
  _query_params: List[Tuple[str, str]] = []
813
817
  _header_params: Dict[str, Optional[str]] = _headers or {}
814
818
  _form_params: List[Tuple[str, str]] = []
815
- _files: Dict[str, Union[str, bytes]] = {}
819
+ _files: Dict[
820
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
821
+ ] = {}
816
822
  _body_params: Optional[bytes] = None
817
823
 
818
824
  # process the path parameters
@@ -1086,7 +1092,9 @@ class ModelManagementApi:
1086
1092
  _query_params: List[Tuple[str, str]] = []
1087
1093
  _header_params: Dict[str, Optional[str]] = _headers or {}
1088
1094
  _form_params: List[Tuple[str, str]] = []
1089
- _files: Dict[str, Union[str, bytes]] = {}
1095
+ _files: Dict[
1096
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1097
+ ] = {}
1090
1098
  _body_params: Optional[bytes] = None
1091
1099
 
1092
1100
  # process the path parameters
@@ -1375,7 +1383,9 @@ class ModelManagementApi:
1375
1383
  _query_params: List[Tuple[str, str]] = []
1376
1384
  _header_params: Dict[str, Optional[str]] = _headers or {}
1377
1385
  _form_params: List[Tuple[str, str]] = []
1378
- _files: Dict[str, Union[str, bytes]] = {}
1386
+ _files: Dict[
1387
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1388
+ ] = {}
1379
1389
  _body_params: Optional[bytes] = None
1380
1390
 
1381
1391
  # process the path parameters
@@ -15,6 +15,7 @@
15
15
  import datetime
16
16
  from dateutil.parser import parse
17
17
  from enum import Enum
18
+ import decimal
18
19
  import json
19
20
  import mimetypes
20
21
  import os
@@ -66,6 +67,7 @@ class ApiClient:
66
67
  'bool': bool,
67
68
  'date': datetime.date,
68
69
  'datetime': datetime.datetime,
70
+ 'decimal': decimal.Decimal,
69
71
  'object': object,
70
72
  }
71
73
  _pool = None
@@ -338,6 +340,7 @@ class ApiClient:
338
340
  If obj is str, int, long, float, bool, return directly.
339
341
  If obj is datetime.datetime, datetime.date
340
342
  convert to string in iso8601 format.
343
+ If obj is decimal.Decimal return string representation.
341
344
  If obj is list, sanitize each element in the list.
342
345
  If obj is dict, return the dict.
343
346
  If obj is OpenAPI model, return the properties dict.
@@ -363,6 +366,8 @@ class ApiClient:
363
366
  )
364
367
  elif isinstance(obj, (datetime.datetime, datetime.date)):
365
368
  return obj.isoformat()
369
+ elif isinstance(obj, decimal.Decimal):
370
+ return str(obj)
366
371
 
367
372
  elif isinstance(obj, dict):
368
373
  obj_dict = obj
@@ -399,12 +404,12 @@ class ApiClient:
399
404
  data = json.loads(response_text)
400
405
  except ValueError:
401
406
  data = response_text
402
- elif content_type.startswith("application/json"):
407
+ elif re.match(r'^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE):
403
408
  if response_text == "":
404
409
  data = ""
405
410
  else:
406
411
  data = json.loads(response_text)
407
- elif content_type.startswith("text/plain"):
412
+ elif re.match(r'^text\/[a-z.+-]+\s*(;|$)', content_type, re.IGNORECASE):
408
413
  data = response_text
409
414
  else:
410
415
  raise ApiException(
@@ -454,6 +459,8 @@ class ApiClient:
454
459
  return self.__deserialize_date(data)
455
460
  elif klass == datetime.datetime:
456
461
  return self.__deserialize_datetime(data)
462
+ elif klass == decimal.Decimal:
463
+ return decimal.Decimal(data)
457
464
  elif issubclass(klass, Enum):
458
465
  return self.__deserialize_enum(data, klass)
459
466
  else:
@@ -528,7 +535,10 @@ class ApiClient:
528
535
 
529
536
  return "&".join(["=".join(map(str, item)) for item in new_params])
530
537
 
531
- def files_parameters(self, files: Dict[str, Union[str, bytes]]):
538
+ def files_parameters(
539
+ self,
540
+ files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]],
541
+ ):
532
542
  """Builds form parameters.
533
543
 
534
544
  :param files: File parameters.
@@ -543,6 +553,12 @@ class ApiClient:
543
553
  elif isinstance(v, bytes):
544
554
  filename = k
545
555
  filedata = v
556
+ elif isinstance(v, tuple):
557
+ filename, filedata = v
558
+ elif isinstance(v, list):
559
+ for file_param in v:
560
+ params.extend(self.files_parameters({k: file_param}))
561
+ continue
546
562
  else:
547
563
  raise ValueError("Unsupported file value")
548
564
  mimetype = (
@@ -13,14 +13,16 @@
13
13
 
14
14
 
15
15
  import copy
16
+ import http.client as httplib
16
17
  import logging
17
18
  from logging import FileHandler
18
19
  import multiprocessing
19
20
  import sys
20
- from typing import Optional
21
+ from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict
22
+ from typing_extensions import NotRequired, Self
23
+
21
24
  import urllib3
22
25
 
23
- import http.client as httplib
24
26
 
25
27
  JSON_SCHEMA_VALIDATION_KEYWORDS = {
26
28
  'multipleOf', 'maximum', 'exclusiveMaximum',
@@ -28,6 +30,106 @@ JSON_SCHEMA_VALIDATION_KEYWORDS = {
28
30
  'minLength', 'pattern', 'maxItems', 'minItems'
29
31
  }
30
32
 
33
+ ServerVariablesT = Dict[str, str]
34
+
35
+ GenericAuthSetting = TypedDict(
36
+ "GenericAuthSetting",
37
+ {
38
+ "type": str,
39
+ "in": str,
40
+ "key": str,
41
+ "value": str,
42
+ },
43
+ )
44
+
45
+
46
+ OAuth2AuthSetting = TypedDict(
47
+ "OAuth2AuthSetting",
48
+ {
49
+ "type": Literal["oauth2"],
50
+ "in": Literal["header"],
51
+ "key": Literal["Authorization"],
52
+ "value": str,
53
+ },
54
+ )
55
+
56
+
57
+ APIKeyAuthSetting = TypedDict(
58
+ "APIKeyAuthSetting",
59
+ {
60
+ "type": Literal["api_key"],
61
+ "in": str,
62
+ "key": str,
63
+ "value": Optional[str],
64
+ },
65
+ )
66
+
67
+
68
+ BasicAuthSetting = TypedDict(
69
+ "BasicAuthSetting",
70
+ {
71
+ "type": Literal["basic"],
72
+ "in": Literal["header"],
73
+ "key": Literal["Authorization"],
74
+ "value": Optional[str],
75
+ },
76
+ )
77
+
78
+
79
+ BearerFormatAuthSetting = TypedDict(
80
+ "BearerFormatAuthSetting",
81
+ {
82
+ "type": Literal["bearer"],
83
+ "in": Literal["header"],
84
+ "format": Literal["JWT"],
85
+ "key": Literal["Authorization"],
86
+ "value": str,
87
+ },
88
+ )
89
+
90
+
91
+ BearerAuthSetting = TypedDict(
92
+ "BearerAuthSetting",
93
+ {
94
+ "type": Literal["bearer"],
95
+ "in": Literal["header"],
96
+ "key": Literal["Authorization"],
97
+ "value": str,
98
+ },
99
+ )
100
+
101
+
102
+ HTTPSignatureAuthSetting = TypedDict(
103
+ "HTTPSignatureAuthSetting",
104
+ {
105
+ "type": Literal["http-signature"],
106
+ "in": Literal["header"],
107
+ "key": Literal["Authorization"],
108
+ "value": None,
109
+ },
110
+ )
111
+
112
+
113
+ AuthSettings = TypedDict(
114
+ "AuthSettings",
115
+ {
116
+ },
117
+ total=False,
118
+ )
119
+
120
+
121
+ class HostSettingVariable(TypedDict):
122
+ description: str
123
+ default_value: str
124
+ enum_values: List[str]
125
+
126
+
127
+ class HostSetting(TypedDict):
128
+ url: str
129
+ description: str
130
+ variables: NotRequired[Dict[str, HostSettingVariable]]
131
+
132
+
31
133
  class Configuration:
32
134
  """This class contains various settings of the API client.
33
135
 
@@ -61,20 +163,26 @@ class Configuration:
61
163
 
62
164
  """
63
165
 
64
- _default = None
65
-
66
- def __init__(self, host=None,
67
- api_key=None, api_key_prefix=None,
68
- username=None, password=None,
69
- access_token=None,
70
- server_index=None, server_variables=None,
71
- server_operation_index=None, server_operation_variables=None,
72
- ignore_operation_servers=False,
73
- ssl_ca_cert=None,
74
- retries=None,
75
- *,
76
- debug: Optional[bool] = None
77
- ) -> None:
166
+ _default: ClassVar[Optional[Self]] = None
167
+
168
+ def __init__(
169
+ self,
170
+ host: Optional[str]=None,
171
+ api_key: Optional[Dict[str, str]]=None,
172
+ api_key_prefix: Optional[Dict[str, str]]=None,
173
+ username: Optional[str]=None,
174
+ password: Optional[str]=None,
175
+ access_token: Optional[str]=None,
176
+ server_index: Optional[int]=None,
177
+ server_variables: Optional[ServerVariablesT]=None,
178
+ server_operation_index: Optional[Dict[int, int]]=None,
179
+ server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None,
180
+ ignore_operation_servers: bool=False,
181
+ ssl_ca_cert: Optional[str]=None,
182
+ retries: Optional[int] = None,
183
+ *,
184
+ debug: Optional[bool] = None,
185
+ ) -> None:
78
186
  """Constructor
79
187
  """
80
188
  self._base_path = "https://api.shaped.ai/v1" if host is None else host
@@ -198,7 +306,7 @@ class Configuration:
198
306
  """date format
199
307
  """
200
308
 
201
- def __deepcopy__(self, memo):
309
+ def __deepcopy__(self, memo: Dict[int, Any]) -> Self:
202
310
  cls = self.__class__
203
311
  result = cls.__new__(cls)
204
312
  memo[id(self)] = result
@@ -212,11 +320,11 @@ class Configuration:
212
320
  result.debug = self.debug
213
321
  return result
214
322
 
215
- def __setattr__(self, name, value):
323
+ def __setattr__(self, name: str, value: Any) -> None:
216
324
  object.__setattr__(self, name, value)
217
325
 
218
326
  @classmethod
219
- def set_default(cls, default):
327
+ def set_default(cls, default: Optional[Self]) -> None:
220
328
  """Set default instance of configuration.
221
329
 
222
330
  It stores default configuration, which can be
@@ -227,7 +335,7 @@ class Configuration:
227
335
  cls._default = default
228
336
 
229
337
  @classmethod
230
- def get_default_copy(cls):
338
+ def get_default_copy(cls) -> Self:
231
339
  """Deprecated. Please use `get_default` instead.
232
340
 
233
341
  Deprecated. Please use `get_default` instead.
@@ -237,7 +345,7 @@ class Configuration:
237
345
  return cls.get_default()
238
346
 
239
347
  @classmethod
240
- def get_default(cls):
348
+ def get_default(cls) -> Self:
241
349
  """Return the default configuration.
242
350
 
243
351
  This method returns newly created, based on default constructor,
@@ -247,11 +355,11 @@ class Configuration:
247
355
  :return: The configuration object.
248
356
  """
249
357
  if cls._default is None:
250
- cls._default = Configuration()
358
+ cls._default = cls()
251
359
  return cls._default
252
360
 
253
361
  @property
254
- def logger_file(self):
362
+ def logger_file(self) -> Optional[str]:
255
363
  """The logger file.
256
364
 
257
365
  If the logger_file is None, then add stream handler and remove file
@@ -263,7 +371,7 @@ class Configuration:
263
371
  return self.__logger_file
264
372
 
265
373
  @logger_file.setter
266
- def logger_file(self, value):
374
+ def logger_file(self, value: Optional[str]) -> None:
267
375
  """The logger file.
268
376
 
269
377
  If the logger_file is None, then add stream handler and remove file
@@ -282,7 +390,7 @@ class Configuration:
282
390
  logger.addHandler(self.logger_file_handler)
283
391
 
284
392
  @property
285
- def debug(self):
393
+ def debug(self) -> bool:
286
394
  """Debug status
287
395
 
288
396
  :param value: The debug status, True or False.
@@ -291,7 +399,7 @@ class Configuration:
291
399
  return self.__debug
292
400
 
293
401
  @debug.setter
294
- def debug(self, value):
402
+ def debug(self, value: bool) -> None:
295
403
  """Debug status
296
404
 
297
405
  :param value: The debug status, True or False.
@@ -313,7 +421,7 @@ class Configuration:
313
421
  httplib.HTTPConnection.debuglevel = 0
314
422
 
315
423
  @property
316
- def logger_format(self):
424
+ def logger_format(self) -> str:
317
425
  """The logger format.
318
426
 
319
427
  The logger_formatter will be updated when sets logger_format.
@@ -324,7 +432,7 @@ class Configuration:
324
432
  return self.__logger_format
325
433
 
326
434
  @logger_format.setter
327
- def logger_format(self, value):
435
+ def logger_format(self, value: str) -> None:
328
436
  """The logger format.
329
437
 
330
438
  The logger_formatter will be updated when sets logger_format.
@@ -335,7 +443,7 @@ class Configuration:
335
443
  self.__logger_format = value
336
444
  self.logger_formatter = logging.Formatter(self.__logger_format)
337
445
 
338
- def get_api_key_with_prefix(self, identifier, alias=None):
446
+ def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> Optional[str]:
339
447
  """Gets API key (with prefix if set).
340
448
 
341
449
  :param identifier: The identifier of apiKey.
@@ -352,7 +460,9 @@ class Configuration:
352
460
  else:
353
461
  return key
354
462
 
355
- def get_basic_auth_token(self):
463
+ return None
464
+
465
+ def get_basic_auth_token(self) -> Optional[str]:
356
466
  """Gets HTTP basic authentication header (string).
357
467
 
358
468
  :return: The token for basic HTTP authentication.
@@ -367,15 +477,15 @@ class Configuration:
367
477
  basic_auth=username + ':' + password
368
478
  ).get('authorization')
369
479
 
370
- def auth_settings(self):
480
+ def auth_settings(self)-> AuthSettings:
371
481
  """Gets Auth Settings dict for api client.
372
482
 
373
483
  :return: The Auth Settings information dict.
374
484
  """
375
- auth = {}
485
+ auth: AuthSettings = {}
376
486
  return auth
377
487
 
378
- def to_debug_report(self):
488
+ def to_debug_report(self) -> str:
379
489
  """Gets the essential information for debugging.
380
490
 
381
491
  :return: The report for debugging.
@@ -387,7 +497,7 @@ class Configuration:
387
497
  "SDK Package Version: 1.0.0".\
388
498
  format(env=sys.platform, pyversion=sys.version)
389
499
 
390
- def get_host_settings(self):
500
+ def get_host_settings(self) -> List[HostSetting]:
391
501
  """Gets an array of host settings
392
502
 
393
503
  :return: An array of host settings
@@ -399,7 +509,12 @@ class Configuration:
399
509
  }
400
510
  ]
401
511
 
402
- def get_host_from_settings(self, index, variables=None, servers=None):
512
+ def get_host_from_settings(
513
+ self,
514
+ index: Optional[int],
515
+ variables: Optional[ServerVariablesT]=None,
516
+ servers: Optional[List[HostSetting]]=None,
517
+ ) -> str:
403
518
  """Gets host URL based on the index and variables
404
519
  :param index: array index of the host settings
405
520
  :param variables: hash of variable and the corresponding value
@@ -439,12 +554,12 @@ class Configuration:
439
554
  return url
440
555
 
441
556
  @property
442
- def host(self):
557
+ def host(self) -> str:
443
558
  """Return generated host."""
444
559
  return self.get_host_from_settings(self.server_index, variables=self.server_variables)
445
560
 
446
561
  @host.setter
447
- def host(self, value):
562
+ def host(self, value: str) -> None:
448
563
  """Fix base path."""
449
564
  self._base_path = value
450
565
  self.server_index = None