vellum-ai 0.6.7__py3-none-any.whl → 0.6.8__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,7 +18,7 @@ class BaseClientWrapper:
18
18
  headers: typing.Dict[str, str] = {
19
19
  "X-Fern-Language": "Python",
20
20
  "X-Fern-SDK-Name": "vellum-ai",
21
- "X-Fern-SDK-Version": "0.6.7",
21
+ "X-Fern-SDK-Version": "0.6.8",
22
22
  }
23
23
  headers["X_API_KEY"] = self.api_key
24
24
  return headers
@@ -256,10 +256,10 @@ class DocumentIndexesClient:
256
256
  request_options: typing.Optional[RequestOptions] = None,
257
257
  ) -> DocumentIndexRead:
258
258
  """
259
- Used to fully update a Document Index given its ID.
259
+ Used to fully update a Document Index given its ID or name.
260
260
 
261
261
  Parameters:
262
- - id: str. A UUID string identifying this document index.
262
+ - id: str. Either the Document Index's ID or its unique name
263
263
 
264
264
  - label: str. A human-readable label for the document index
265
265
 
@@ -329,10 +329,10 @@ class DocumentIndexesClient:
329
329
 
330
330
  def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
331
331
  """
332
- Used to delete a Document Index given its ID.
332
+ Used to delete a Document Index given its ID or name.
333
333
 
334
334
  Parameters:
335
- - id: str. A UUID string identifying this document index.
335
+ - id: str. Either the Document Index's ID or its unique name
336
336
 
337
337
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
338
338
  ---
@@ -385,10 +385,10 @@ class DocumentIndexesClient:
385
385
  request_options: typing.Optional[RequestOptions] = None,
386
386
  ) -> DocumentIndexRead:
387
387
  """
388
- Used to partial update a Document Index given its ID.
388
+ Used to partial update a Document Index given its ID or name.
389
389
 
390
390
  Parameters:
391
- - id: str. A UUID string identifying this document index.
391
+ - id: str. Either the Document Index's ID or its unique name
392
392
 
393
393
  - label: typing.Optional[str]. A human-readable label for the document index
394
394
 
@@ -458,6 +458,60 @@ class DocumentIndexesClient:
458
458
  raise ApiError(status_code=_response.status_code, body=_response.text)
459
459
  raise ApiError(status_code=_response.status_code, body=_response_json)
460
460
 
461
+ def remove_document(
462
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
463
+ ) -> None:
464
+ """
465
+ Removes a Document from a Document Index without deleting the Document itself.
466
+
467
+ Parameters:
468
+ - document_id: str. Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
469
+
470
+ - id: str. Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
471
+
472
+ - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
473
+ ---
474
+ from vellum.client import Vellum
475
+
476
+ client = Vellum(
477
+ api_key="YOUR_API_KEY",
478
+ )
479
+ client.document_indexes.remove_document(
480
+ document_id="document_id",
481
+ id="id",
482
+ )
483
+ """
484
+ _response = self._client_wrapper.httpx_client.request(
485
+ method="DELETE",
486
+ url=urllib.parse.urljoin(
487
+ f"{self._client_wrapper.get_environment().default}/",
488
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
489
+ ),
490
+ params=jsonable_encoder(
491
+ request_options.get("additional_query_parameters") if request_options is not None else None
492
+ ),
493
+ headers=jsonable_encoder(
494
+ remove_none_from_dict(
495
+ {
496
+ **self._client_wrapper.get_headers(),
497
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
498
+ }
499
+ )
500
+ ),
501
+ timeout=request_options.get("timeout_in_seconds")
502
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
503
+ else self._client_wrapper.get_timeout(),
504
+ retries=0,
505
+ max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
506
+ )
507
+ if 200 <= _response.status_code < 300:
508
+ return
509
+ try:
510
+ _response_json = _response.json()
511
+ except JSONDecodeError:
512
+ raise ApiError(status_code=_response.status_code, body=_response.text)
513
+ raise ApiError(status_code=_response.status_code, body=_response_json)
514
+
461
515
 
462
516
  class AsyncDocumentIndexesClient:
463
517
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -694,10 +748,10 @@ class AsyncDocumentIndexesClient:
694
748
  request_options: typing.Optional[RequestOptions] = None,
695
749
  ) -> DocumentIndexRead:
696
750
  """
697
- Used to fully update a Document Index given its ID.
751
+ Used to fully update a Document Index given its ID or name.
698
752
 
699
753
  Parameters:
700
- - id: str. A UUID string identifying this document index.
754
+ - id: str. Either the Document Index's ID or its unique name
701
755
 
702
756
  - label: str. A human-readable label for the document index
703
757
 
@@ -767,10 +821,10 @@ class AsyncDocumentIndexesClient:
767
821
 
768
822
  async def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
769
823
  """
770
- Used to delete a Document Index given its ID.
824
+ Used to delete a Document Index given its ID or name.
771
825
 
772
826
  Parameters:
773
- - id: str. A UUID string identifying this document index.
827
+ - id: str. Either the Document Index's ID or its unique name
774
828
 
775
829
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
776
830
  ---
@@ -823,10 +877,10 @@ class AsyncDocumentIndexesClient:
823
877
  request_options: typing.Optional[RequestOptions] = None,
824
878
  ) -> DocumentIndexRead:
825
879
  """
826
- Used to partial update a Document Index given its ID.
880
+ Used to partial update a Document Index given its ID or name.
827
881
 
828
882
  Parameters:
829
- - id: str. A UUID string identifying this document index.
883
+ - id: str. Either the Document Index's ID or its unique name
830
884
 
831
885
  - label: typing.Optional[str]. A human-readable label for the document index
832
886
 
@@ -895,3 +949,57 @@ class AsyncDocumentIndexesClient:
895
949
  except JSONDecodeError:
896
950
  raise ApiError(status_code=_response.status_code, body=_response.text)
897
951
  raise ApiError(status_code=_response.status_code, body=_response_json)
952
+
953
+ async def remove_document(
954
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
955
+ ) -> None:
956
+ """
957
+ Removes a Document from a Document Index without deleting the Document itself.
958
+
959
+ Parameters:
960
+ - document_id: str. Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
961
+
962
+ - id: str. Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
963
+
964
+ - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
965
+ ---
966
+ from vellum.client import AsyncVellum
967
+
968
+ client = AsyncVellum(
969
+ api_key="YOUR_API_KEY",
970
+ )
971
+ await client.document_indexes.remove_document(
972
+ document_id="document_id",
973
+ id="id",
974
+ )
975
+ """
976
+ _response = await self._client_wrapper.httpx_client.request(
977
+ method="DELETE",
978
+ url=urllib.parse.urljoin(
979
+ f"{self._client_wrapper.get_environment().default}/",
980
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
981
+ ),
982
+ params=jsonable_encoder(
983
+ request_options.get("additional_query_parameters") if request_options is not None else None
984
+ ),
985
+ headers=jsonable_encoder(
986
+ remove_none_from_dict(
987
+ {
988
+ **self._client_wrapper.get_headers(),
989
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
990
+ }
991
+ )
992
+ ),
993
+ timeout=request_options.get("timeout_in_seconds")
994
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
995
+ else self._client_wrapper.get_timeout(),
996
+ retries=0,
997
+ max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
998
+ )
999
+ if 200 <= _response.status_code < 300:
1000
+ return
1001
+ try:
1002
+ _response_json = _response.json()
1003
+ except JSONDecodeError:
1004
+ raise ApiError(status_code=_response.status_code, body=_response.text)
1005
+ raise ApiError(status_code=_response.status_code, body=_response_json)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.6.7
3
+ Version: 0.6.8
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Programming Language :: Python :: 3
@@ -2,7 +2,7 @@ vellum/__init__.py,sha256=G55NRop_hz8IpafXnIM326D0I9YSBsQJLtzBNgoVNDM,45651
2
2
  vellum/client.py,sha256=FklbOzCaDTPP_EQn0HJXUq1_ZFOHuSePt6_nVQ_YLgY,97463
3
3
  vellum/core/__init__.py,sha256=1pNSKkwyQvMl_F0wohBqmoQAITptg3zlvCwsoSSzy7c,853
4
4
  vellum/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
5
- vellum/core/client_wrapper.py,sha256=-vO_h8n0NNqy3sN2pTSTXlDAoM41JPD3YuBYc80k9PU,1697
5
+ vellum/core/client_wrapper.py,sha256=q4MSX71tkX6HJqK9iZFBghW2ykYtsMzuw8Vm2U6njxo,1697
6
6
  vellum/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
7
7
  vellum/core/file.py,sha256=sy1RUGZ3aJYuw998bZytxxo6QdgKmlnlgBaMvwEKCGg,1480
8
8
  vellum/core/http_client.py,sha256=5ok6hqgZDJhg57EHvMnr0BBaHdG50QxFPKaCZ9aVWTc,5059
@@ -32,7 +32,7 @@ vellum/resources/deployments/client.py,sha256=p-n2k6RQIwNBDm9dU-wE6pI0kRhNjQiARB
32
32
  vellum/resources/deployments/types/__init__.py,sha256=IhwnmoXJ0r_QEhh1b2tBcaAm_x3fWMVuIhYmAapp_ZA,183
33
33
  vellum/resources/deployments/types/deployments_list_request_status.py,sha256=CxlQD16KZXme7x31YYCe_3aAgEueutDTeJo5A4Au-aU,174
34
34
  vellum/resources/document_indexes/__init__.py,sha256=YpOl_9IV7xOlH4OmusQxtAJB11kxQfCSMDyT1_UD0oM,165
35
- vellum/resources/document_indexes/client.py,sha256=ps7XrRmNptUsS4aZGlyhLVg_jWqjzC0JN2wGxinoFXI,40388
35
+ vellum/resources/document_indexes/client.py,sha256=DgJn_ZpIt-WY8OR3P3sCQ_x7FVtQ5WVj_TR1t9PwDf0,45370
36
36
  vellum/resources/document_indexes/types/__init__.py,sha256=IoFqKHN_VBdEhC7VL8_6Jbatrn0e0zuYEJAJUahcUR0,196
37
37
  vellum/resources/document_indexes/types/document_indexes_list_request_status.py,sha256=sfUEB0cvOSmlE2iITqnMVyHv05Zy2fWP4QjCIYqMg0M,178
38
38
  vellum/resources/documents/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -470,7 +470,7 @@ vellum/types/workflow_result_event_output_data_search_results.py,sha256=gazaUrC5
470
470
  vellum/types/workflow_result_event_output_data_string.py,sha256=aVWIIGbLj4TJJhTTj6WzhbYXQkcZatKuhhNy8UYwXbw,1482
471
471
  vellum/types/workflow_stream_event.py,sha256=KA6Bkk_XA6AIPWR-1vKnwF1A8l_Bm5y0arQCWWWRpsk,911
472
472
  vellum/version.py,sha256=neLt8HBHHUtDF9M5fsyUzHT-pKooEPvceaLDqqIGb0s,77
473
- vellum_ai-0.6.7.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
474
- vellum_ai-0.6.7.dist-info/METADATA,sha256=tv89fOOL-Pj8-X5-m-EKElAzGf5eOKYDPNq5ZTYL5fU,3872
475
- vellum_ai-0.6.7.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
476
- vellum_ai-0.6.7.dist-info/RECORD,,
473
+ vellum_ai-0.6.8.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
474
+ vellum_ai-0.6.8.dist-info/METADATA,sha256=nJyQBLYfdBqx3TaaTf8QLuLHWsALydR2wN7U1Twez1o,3872
475
+ vellum_ai-0.6.8.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
476
+ vellum_ai-0.6.8.dist-info/RECORD,,