groundx 2.2.0__tar.gz → 2.2.2__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 (87) hide show
  1. {groundx-2.2.0 → groundx-2.2.2}/PKG-INFO +1 -1
  2. {groundx-2.2.0 → groundx-2.2.2}/pyproject.toml +1 -1
  3. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/__init__.py +2 -0
  4. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/client_wrapper.py +1 -1
  5. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/http_client.py +2 -2
  6. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/pydantic_utilities.py +2 -2
  7. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/documents/client.py +125 -0
  8. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/__init__.py +2 -0
  9. groundx-2.2.2/src/groundx/types/processes_status_response.py +6 -0
  10. groundx-2.2.2/src/groundx/types/processing_status.py +7 -0
  11. groundx-2.2.0/src/groundx/types/processing_status.py +0 -5
  12. {groundx-2.2.0 → groundx-2.2.2}/LICENSE +0 -0
  13. {groundx-2.2.0 → groundx-2.2.2}/README.md +0 -0
  14. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/buckets/__init__.py +0 -0
  15. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/buckets/client.py +0 -0
  16. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/client.py +0 -0
  17. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/__init__.py +0 -0
  18. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/api_error.py +0 -0
  19. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/datetime_utils.py +0 -0
  20. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/file.py +0 -0
  21. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/jsonable_encoder.py +0 -0
  22. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/query_encoder.py +0 -0
  23. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/remove_none_from_dict.py +0 -0
  24. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/request_options.py +0 -0
  25. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/serialization.py +0 -0
  26. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/customer/__init__.py +0 -0
  27. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/customer/client.py +0 -0
  28. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/documents/__init__.py +0 -0
  29. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/environment.py +0 -0
  30. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/errors/__init__.py +0 -0
  31. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/errors/bad_request_error.py +0 -0
  32. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/errors/unauthorized_error.py +0 -0
  33. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/groups/__init__.py +0 -0
  34. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/groups/client.py +0 -0
  35. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/health/__init__.py +0 -0
  36. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/health/client.py +0 -0
  37. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/ingest.py +0 -0
  38. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/py.typed +0 -0
  39. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/__init__.py +0 -0
  40. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/client.py +0 -0
  41. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/types/__init__.py +0 -0
  42. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/types/search_content_request_id.py +0 -0
  43. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bounding_box_detail.py +0 -0
  44. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_detail.py +0 -0
  45. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_list_response.py +0 -0
  46. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_response.py +0 -0
  47. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_update_detail.py +0 -0
  48. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_update_response.py +0 -0
  49. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/customer_detail.py +0 -0
  50. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/customer_response.py +0 -0
  51. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document.py +0 -0
  52. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_detail.py +0 -0
  53. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_list_response.py +0 -0
  54. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_local_ingest_request.py +0 -0
  55. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_lookup_response.py +0 -0
  56. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_response.py +0 -0
  57. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_type.py +0 -0
  58. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/group_detail.py +0 -0
  59. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/group_list_response.py +0 -0
  60. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/group_response.py +0 -0
  61. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_response.py +0 -0
  62. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_response_health.py +0 -0
  63. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_service.py +0 -0
  64. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_service_status.py +0 -0
  65. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_local_document.py +0 -0
  66. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_local_document_metadata.py +0 -0
  67. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_remote_document.py +0 -0
  68. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_response.py +0 -0
  69. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_response_ingest.py +0 -0
  70. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/message_response.py +0 -0
  71. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/meter_detail.py +0 -0
  72. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response.py +0 -0
  73. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest.py +0 -0
  74. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress.py +0 -0
  75. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_cancelled.py +0 -0
  76. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_complete.py +0 -0
  77. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_errors.py +0 -0
  78. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_processing.py +0 -0
  79. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/search_response.py +0 -0
  80. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/search_response_search.py +0 -0
  81. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/search_result_item.py +0 -0
  82. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/sort.py +0 -0
  83. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/sort_order.py +0 -0
  84. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/subscription_detail.py +0 -0
  85. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/subscription_detail_meters.py +0 -0
  86. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/website_source.py +0 -0
  87. {groundx-2.2.0 → groundx-2.2.2}/src/groundx/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: groundx
3
- Version: 2.2.0
3
+ Version: 2.2.2
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.8,<4.0
@@ -3,7 +3,7 @@ name = "groundx"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "groundx"
6
- version = "2.2.0"
6
+ version = "2.2.2"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -37,6 +37,7 @@ from .types import (
37
37
  ProcessStatusResponseIngestProgressComplete,
38
38
  ProcessStatusResponseIngestProgressErrors,
39
39
  ProcessStatusResponseIngestProgressProcessing,
40
+ ProcessesStatusResponse,
40
41
  ProcessingStatus,
41
42
  SearchResponse,
42
43
  SearchResponseSearch,
@@ -95,6 +96,7 @@ __all__ = [
95
96
  "ProcessStatusResponseIngestProgressComplete",
96
97
  "ProcessStatusResponseIngestProgressErrors",
97
98
  "ProcessStatusResponseIngestProgressProcessing",
99
+ "ProcessesStatusResponse",
98
100
  "ProcessingStatus",
99
101
  "SearchContentRequestId",
100
102
  "SearchResponse",
@@ -16,7 +16,7 @@ class BaseClientWrapper:
16
16
  headers: typing.Dict[str, str] = {
17
17
  "X-Fern-Language": "Python",
18
18
  "X-Fern-SDK-Name": "groundx",
19
- "X-Fern-SDK-Version": "2.2.0",
19
+ "X-Fern-SDK-Version": "2.2.2",
20
20
  }
21
21
  headers["X-API-Key"] = self.api_key
22
22
  return headers
@@ -85,8 +85,8 @@ def _retry_timeout(response: httpx.Response, retries: int) -> float:
85
85
 
86
86
 
87
87
  def _should_retry(response: httpx.Response) -> bool:
88
- retriable_400s = [429, 408, 409]
89
- return response.status_code >= 500 or response.status_code in retriable_400s
88
+ retryable_400s = [429, 408, 409]
89
+ return response.status_code >= 500 or response.status_code in retryable_400s
90
90
 
91
91
 
92
92
  def remove_omit_from_dict(
@@ -79,7 +79,7 @@ def to_jsonable_with_fallback(
79
79
  class UniversalBaseModel(pydantic.BaseModel):
80
80
  if IS_PYDANTIC_V2:
81
81
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
82
- # Allow fields begining with `model_` to be used in the model
82
+ # Allow fields beginning with `model_` to be used in the model
83
83
  protected_namespaces=(),
84
84
  ) # type: ignore # Pydantic v2
85
85
 
@@ -128,7 +128,7 @@ class UniversalBaseModel(pydantic.BaseModel):
128
128
  Override the default dict method to `exclude_unset` by default. This function patches
129
129
  `exclude_unset` to work include fields within non-None default values.
130
130
  """
131
- # Note: the logic here is multi-plexed given the levers exposed in Pydantic V1 vs V2
131
+ # Note: the logic here is multiplexed given the levers exposed in Pydantic V1 vs V2
132
132
  # Pydantic V1's .dict can be extremely slow, so we do not want to call it twice.
133
133
  #
134
134
  # We'd ideally do the same for Pydantic V2, but it shells out to a library to serialize models
@@ -21,6 +21,7 @@ from ..types.process_status_response import ProcessStatusResponse
21
21
  from ..core.jsonable_encoder import jsonable_encoder
22
22
  from ..types.document_lookup_response import DocumentLookupResponse
23
23
  from ..types.document_response import DocumentResponse
24
+ from ..types.processes_status_response import ProcessesStatusResponse
24
25
  from ..core.client_wrapper import AsyncClientWrapper
25
26
 
26
27
  # this is used as the default value for optional parameters
@@ -748,6 +749,64 @@ class DocumentsClient:
748
749
  raise ApiError(status_code=_response.status_code, body=_response.text)
749
750
  raise ApiError(status_code=_response.status_code, body=_response_json)
750
751
 
752
+ def document_get_processes(
753
+ self,
754
+ *,
755
+ n: typing.Optional[int] = None,
756
+ status: typing.Optional[ProcessingStatus] = None,
757
+ request_options: typing.Optional[RequestOptions] = None,
758
+ ) -> ProcessesStatusResponse:
759
+ """
760
+ Get a list of ingest process requests, sorted from most recent to least.
761
+
762
+ Parameters
763
+ ----------
764
+ n : typing.Optional[int]
765
+ The maximum number of returned processes. Accepts 1-100 with a default of 20.
766
+
767
+ status : typing.Optional[ProcessingStatus]
768
+ A status filter on the processing status. If this value is set, then only processes with this status will be returned in the results.
769
+
770
+ request_options : typing.Optional[RequestOptions]
771
+ Request-specific configuration.
772
+
773
+ Returns
774
+ -------
775
+ ProcessesStatusResponse
776
+ Look up success
777
+
778
+ Examples
779
+ --------
780
+ from groundx import GroundX
781
+
782
+ client = GroundX(
783
+ api_key="YOUR_API_KEY",
784
+ )
785
+ client.documents.document_get_processes()
786
+ """
787
+ _response = self._client_wrapper.httpx_client.request(
788
+ "v1/ingest",
789
+ method="GET",
790
+ params={
791
+ "n": n,
792
+ "status": status,
793
+ },
794
+ request_options=request_options,
795
+ )
796
+ try:
797
+ if 200 <= _response.status_code < 300:
798
+ return typing.cast(
799
+ ProcessesStatusResponse,
800
+ parse_obj_as(
801
+ type_=ProcessesStatusResponse, # type: ignore
802
+ object_=_response.json(),
803
+ ),
804
+ )
805
+ _response_json = _response.json()
806
+ except JSONDecodeError:
807
+ raise ApiError(status_code=_response.status_code, body=_response.text)
808
+ raise ApiError(status_code=_response.status_code, body=_response_json)
809
+
751
810
 
752
811
  class AsyncDocumentsClient:
753
812
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -1547,3 +1606,69 @@ class AsyncDocumentsClient:
1547
1606
  except JSONDecodeError:
1548
1607
  raise ApiError(status_code=_response.status_code, body=_response.text)
1549
1608
  raise ApiError(status_code=_response.status_code, body=_response_json)
1609
+
1610
+ async def document_get_processes(
1611
+ self,
1612
+ *,
1613
+ n: typing.Optional[int] = None,
1614
+ status: typing.Optional[ProcessingStatus] = None,
1615
+ request_options: typing.Optional[RequestOptions] = None,
1616
+ ) -> ProcessesStatusResponse:
1617
+ """
1618
+ Get a list of ingest process requests, sorted from most recent to least.
1619
+
1620
+ Parameters
1621
+ ----------
1622
+ n : typing.Optional[int]
1623
+ The maximum number of returned processes. Accepts 1-100 with a default of 20.
1624
+
1625
+ status : typing.Optional[ProcessingStatus]
1626
+ A status filter on the processing status. If this value is set, then only processes with this status will be returned in the results.
1627
+
1628
+ request_options : typing.Optional[RequestOptions]
1629
+ Request-specific configuration.
1630
+
1631
+ Returns
1632
+ -------
1633
+ ProcessesStatusResponse
1634
+ Look up success
1635
+
1636
+ Examples
1637
+ --------
1638
+ import asyncio
1639
+
1640
+ from groundx import AsyncGroundX
1641
+
1642
+ client = AsyncGroundX(
1643
+ api_key="YOUR_API_KEY",
1644
+ )
1645
+
1646
+
1647
+ async def main() -> None:
1648
+ await client.documents.document_get_processes()
1649
+
1650
+
1651
+ asyncio.run(main())
1652
+ """
1653
+ _response = await self._client_wrapper.httpx_client.request(
1654
+ "v1/ingest",
1655
+ method="GET",
1656
+ params={
1657
+ "n": n,
1658
+ "status": status,
1659
+ },
1660
+ request_options=request_options,
1661
+ )
1662
+ try:
1663
+ if 200 <= _response.status_code < 300:
1664
+ return typing.cast(
1665
+ ProcessesStatusResponse,
1666
+ parse_obj_as(
1667
+ type_=ProcessesStatusResponse, # type: ignore
1668
+ object_=_response.json(),
1669
+ ),
1670
+ )
1671
+ _response_json = _response.json()
1672
+ except JSONDecodeError:
1673
+ raise ApiError(status_code=_response.status_code, body=_response.text)
1674
+ raise ApiError(status_code=_response.status_code, body=_response_json)
@@ -36,6 +36,7 @@ from .process_status_response_ingest_progress_cancelled import ProcessStatusResp
36
36
  from .process_status_response_ingest_progress_complete import ProcessStatusResponseIngestProgressComplete
37
37
  from .process_status_response_ingest_progress_errors import ProcessStatusResponseIngestProgressErrors
38
38
  from .process_status_response_ingest_progress_processing import ProcessStatusResponseIngestProgressProcessing
39
+ from .processes_status_response import ProcessesStatusResponse
39
40
  from .processing_status import ProcessingStatus
40
41
  from .search_response import SearchResponse
41
42
  from .search_response_search import SearchResponseSearch
@@ -83,6 +84,7 @@ __all__ = [
83
84
  "ProcessStatusResponseIngestProgressComplete",
84
85
  "ProcessStatusResponseIngestProgressErrors",
85
86
  "ProcessStatusResponseIngestProgressProcessing",
87
+ "ProcessesStatusResponse",
86
88
  "ProcessingStatus",
87
89
  "SearchResponse",
88
90
  "SearchResponseSearch",
@@ -0,0 +1,6 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .process_status_response import ProcessStatusResponse
5
+
6
+ ProcessesStatusResponse = typing.List[ProcessStatusResponse]
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ProcessingStatus = typing.Union[
6
+ typing.Literal["queued", "processing", "error", "complete", "cancelled", "active", "inactive"], typing.Any
7
+ ]
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- ProcessingStatus = typing.Union[typing.Literal["queued", "processing", "error", "complete", "cancelled"], typing.Any]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes