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.
- {groundx-2.2.0 → groundx-2.2.2}/PKG-INFO +1 -1
- {groundx-2.2.0 → groundx-2.2.2}/pyproject.toml +1 -1
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/__init__.py +2 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/client_wrapper.py +1 -1
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/http_client.py +2 -2
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/pydantic_utilities.py +2 -2
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/documents/client.py +125 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/__init__.py +2 -0
- groundx-2.2.2/src/groundx/types/processes_status_response.py +6 -0
- groundx-2.2.2/src/groundx/types/processing_status.py +7 -0
- groundx-2.2.0/src/groundx/types/processing_status.py +0 -5
- {groundx-2.2.0 → groundx-2.2.2}/LICENSE +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/README.md +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/buckets/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/buckets/client.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/client.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/api_error.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/datetime_utils.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/file.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/jsonable_encoder.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/query_encoder.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/remove_none_from_dict.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/request_options.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/core/serialization.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/customer/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/customer/client.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/documents/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/environment.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/errors/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/errors/bad_request_error.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/errors/unauthorized_error.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/groups/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/groups/client.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/health/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/health/client.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/ingest.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/py.typed +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/client.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/types/__init__.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/search/types/search_content_request_id.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bounding_box_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_list_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_update_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/bucket_update_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/customer_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/customer_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_list_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_local_ingest_request.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_lookup_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/document_type.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/group_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/group_list_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/group_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_response_health.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_service.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/health_service_status.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_local_document.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_local_document_metadata.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_remote_document.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/ingest_response_ingest.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/message_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/meter_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_cancelled.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_complete.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_errors.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_processing.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/search_response.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/search_response_search.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/search_result_item.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/sort.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/sort_order.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/subscription_detail.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/subscription_detail_meters.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/website_source.py +0 -0
- {groundx-2.2.0 → groundx-2.2.2}/src/groundx/version.py +0 -0
@@ -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",
|
@@ -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
|
-
|
89
|
-
return response.status_code >= 500 or response.status_code in
|
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
|
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
|
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",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{groundx-2.2.0 → groundx-2.2.2}/src/groundx/types/process_status_response_ingest_progress_errors.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|