graphlit-client 1.0.20250531001__py3-none-any.whl → 1.0.20250531002__py3-none-any.whl

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.
graphlit_api/__init__.py CHANGED
@@ -1049,6 +1049,16 @@ from .ingest_encoded_file import (
1049
1049
  IngestEncodedFileIngestEncodedFileObservationsOccurrencesBoundingBox,
1050
1050
  IngestEncodedFileIngestEncodedFileObservationsRelated,
1051
1051
  )
1052
+ from .ingest_event import (
1053
+ IngestEvent,
1054
+ IngestEventIngestEvent,
1055
+ IngestEventIngestEventCollections,
1056
+ IngestEventIngestEventObservations,
1057
+ IngestEventIngestEventObservationsObservable,
1058
+ IngestEventIngestEventObservationsOccurrences,
1059
+ IngestEventIngestEventObservationsOccurrencesBoundingBox,
1060
+ IngestEventIngestEventObservationsRelated,
1061
+ )
1052
1062
  from .ingest_memory import (
1053
1063
  IngestMemory,
1054
1064
  IngestMemoryIngestMemory,
@@ -1612,6 +1622,7 @@ from .operations import (
1612
1622
  GET_WORKFLOW_GQL,
1613
1623
  INGEST_BATCH_GQL,
1614
1624
  INGEST_ENCODED_FILE_GQL,
1625
+ INGEST_EVENT_GQL,
1615
1626
  INGEST_MEMORY_GQL,
1616
1627
  INGEST_TEXT_BATCH_GQL,
1617
1628
  INGEST_TEXT_GQL,
@@ -3716,6 +3727,7 @@ __all__ = [
3716
3727
  "H3ResolutionTypes",
3717
3728
  "INGEST_BATCH_GQL",
3718
3729
  "INGEST_ENCODED_FILE_GQL",
3730
+ "INGEST_EVENT_GQL",
3719
3731
  "INGEST_MEMORY_GQL",
3720
3732
  "INGEST_TEXT_BATCH_GQL",
3721
3733
  "INGEST_TEXT_GQL",
@@ -3742,6 +3754,14 @@ __all__ = [
3742
3754
  "IngestEncodedFileIngestEncodedFileObservationsOccurrences",
3743
3755
  "IngestEncodedFileIngestEncodedFileObservationsOccurrencesBoundingBox",
3744
3756
  "IngestEncodedFileIngestEncodedFileObservationsRelated",
3757
+ "IngestEvent",
3758
+ "IngestEventIngestEvent",
3759
+ "IngestEventIngestEventCollections",
3760
+ "IngestEventIngestEventObservations",
3761
+ "IngestEventIngestEventObservationsObservable",
3762
+ "IngestEventIngestEventObservationsOccurrences",
3763
+ "IngestEventIngestEventObservationsOccurrencesBoundingBox",
3764
+ "IngestEventIngestEventObservationsRelated",
3745
3765
  "IngestMemory",
3746
3766
  "IngestMemoryIngestMemory",
3747
3767
  "IngestMemoryIngestMemoryCollections",
graphlit_api/client.py CHANGED
@@ -196,6 +196,7 @@ from .get_user_by_identifier import GetUserByIdentifier
196
196
  from .get_workflow import GetWorkflow
197
197
  from .ingest_batch import IngestBatch
198
198
  from .ingest_encoded_file import IngestEncodedFile
199
+ from .ingest_event import IngestEvent
199
200
  from .ingest_memory import IngestMemory
200
201
  from .ingest_text import IngestText
201
202
  from .ingest_text_batch import IngestTextBatch
@@ -507,6 +508,7 @@ from .operations import (
507
508
  GET_WORKFLOW_GQL,
508
509
  INGEST_BATCH_GQL,
509
510
  INGEST_ENCODED_FILE_GQL,
511
+ INGEST_EVENT_GQL,
510
512
  INGEST_MEMORY_GQL,
511
513
  INGEST_TEXT_BATCH_GQL,
512
514
  INGEST_TEXT_GQL,
@@ -1389,6 +1391,8 @@ class Client(AsyncBaseClient):
1389
1391
  data: str,
1390
1392
  mime_type: str,
1391
1393
  id: Union[Optional[str], UnsetType] = UNSET,
1394
+ file_creation_date: Union[Optional[Any], UnsetType] = UNSET,
1395
+ file_modified_date: Union[Optional[Any], UnsetType] = UNSET,
1392
1396
  is_synchronous: Union[Optional[bool], UnsetType] = UNSET,
1393
1397
  collections: Union[Optional[List[EntityReferenceInput]], UnsetType] = UNSET,
1394
1398
  observations: Union[
@@ -1403,6 +1407,8 @@ class Client(AsyncBaseClient):
1403
1407
  "data": data,
1404
1408
  "mimeType": mime_type,
1405
1409
  "id": id,
1410
+ "fileCreationDate": file_creation_date,
1411
+ "fileModifiedDate": file_modified_date,
1406
1412
  "isSynchronous": is_synchronous,
1407
1413
  "collections": collections,
1408
1414
  "observations": observations,
@@ -1418,6 +1424,33 @@ class Client(AsyncBaseClient):
1418
1424
  _data = self.get_data(response)
1419
1425
  return IngestEncodedFile.model_validate(_data)
1420
1426
 
1427
+ async def ingest_event(
1428
+ self,
1429
+ markdown: str,
1430
+ name: Union[Optional[str], UnsetType] = UNSET,
1431
+ description: Union[Optional[str], UnsetType] = UNSET,
1432
+ event_date: Union[Optional[Any], UnsetType] = UNSET,
1433
+ collections: Union[Optional[List[EntityReferenceInput]], UnsetType] = UNSET,
1434
+ correlation_id: Union[Optional[str], UnsetType] = UNSET,
1435
+ **kwargs: Any
1436
+ ) -> IngestEvent:
1437
+ variables: Dict[str, object] = {
1438
+ "markdown": markdown,
1439
+ "name": name,
1440
+ "description": description,
1441
+ "eventDate": event_date,
1442
+ "collections": collections,
1443
+ "correlationId": correlation_id,
1444
+ }
1445
+ response = await self.execute(
1446
+ query=INGEST_EVENT_GQL,
1447
+ operation_name="IngestEvent",
1448
+ variables=variables,
1449
+ **kwargs
1450
+ )
1451
+ data = self.get_data(response)
1452
+ return IngestEvent.model_validate(data)
1453
+
1421
1454
  async def ingest_memory(
1422
1455
  self,
1423
1456
  text: str,
@@ -34,6 +34,8 @@ class GetContentContent(BaseModel):
34
34
  state: EntityState
35
35
  original_date: Optional[Any] = Field(alias="originalDate")
36
36
  finished_date: Optional[Any] = Field(alias="finishedDate")
37
+ file_creation_date: Optional[Any] = Field(alias="fileCreationDate")
38
+ file_modified_date: Optional[Any] = Field(alias="fileModifiedDate")
37
39
  workflow_duration: Optional[Any] = Field(alias="workflowDuration")
38
40
  uri: Optional[Any]
39
41
  description: Optional[str]
@@ -0,0 +1,83 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: ./documents
3
+
4
+ from typing import Any, List, Optional
5
+
6
+ from pydantic import Field
7
+
8
+ from .base_model import BaseModel
9
+ from .enums import (
10
+ ContentTypes,
11
+ EntityState,
12
+ FileTypes,
13
+ ObservableTypes,
14
+ OccurrenceTypes,
15
+ )
16
+
17
+
18
+ class IngestEvent(BaseModel):
19
+ ingest_event: Optional["IngestEventIngestEvent"] = Field(alias="ingestEvent")
20
+
21
+
22
+ class IngestEventIngestEvent(BaseModel):
23
+ id: str
24
+ name: str
25
+ state: EntityState
26
+ type: Optional[ContentTypes]
27
+ file_type: Optional[FileTypes] = Field(alias="fileType")
28
+ mime_type: Optional[str] = Field(alias="mimeType")
29
+ uri: Optional[Any]
30
+ collections: Optional[List[Optional["IngestEventIngestEventCollections"]]]
31
+ observations: Optional[List[Optional["IngestEventIngestEventObservations"]]]
32
+
33
+
34
+ class IngestEventIngestEventCollections(BaseModel):
35
+ id: str
36
+ name: str
37
+
38
+
39
+ class IngestEventIngestEventObservations(BaseModel):
40
+ id: str
41
+ type: ObservableTypes
42
+ observable: "IngestEventIngestEventObservationsObservable"
43
+ related: Optional["IngestEventIngestEventObservationsRelated"]
44
+ related_type: Optional[ObservableTypes] = Field(alias="relatedType")
45
+ relation: Optional[str]
46
+ occurrences: Optional[
47
+ List[Optional["IngestEventIngestEventObservationsOccurrences"]]
48
+ ]
49
+ state: EntityState
50
+
51
+
52
+ class IngestEventIngestEventObservationsObservable(BaseModel):
53
+ id: str
54
+ name: Optional[str]
55
+
56
+
57
+ class IngestEventIngestEventObservationsRelated(BaseModel):
58
+ id: str
59
+ name: Optional[str]
60
+
61
+
62
+ class IngestEventIngestEventObservationsOccurrences(BaseModel):
63
+ type: Optional[OccurrenceTypes]
64
+ confidence: Optional[float]
65
+ start_time: Optional[Any] = Field(alias="startTime")
66
+ end_time: Optional[Any] = Field(alias="endTime")
67
+ page_index: Optional[int] = Field(alias="pageIndex")
68
+ bounding_box: Optional[
69
+ "IngestEventIngestEventObservationsOccurrencesBoundingBox"
70
+ ] = Field(alias="boundingBox")
71
+
72
+
73
+ class IngestEventIngestEventObservationsOccurrencesBoundingBox(BaseModel):
74
+ left: Optional[float]
75
+ top: Optional[float]
76
+ width: Optional[float]
77
+ height: Optional[float]
78
+
79
+
80
+ IngestEvent.model_rebuild()
81
+ IngestEventIngestEvent.model_rebuild()
82
+ IngestEventIngestEventObservations.model_rebuild()
83
+ IngestEventIngestEventObservationsOccurrences.model_rebuild()
@@ -442,6 +442,8 @@ class ContentUpdateInput(BaseModel):
442
442
  name: Optional[str] = None
443
443
  description: Optional[str] = None
444
444
  identifier: Optional[str] = None
445
+ file_creation_date: Optional[Any] = Field(alias="fileCreationDate", default=None)
446
+ file_modified_date: Optional[Any] = Field(alias="fileModifiedDate", default=None)
445
447
  summary: Optional[str] = None
446
448
  custom_summary: Optional[str] = Field(alias="customSummary", default=None)
447
449
  keywords: Optional[List[str]] = None
@@ -1852,6 +1854,8 @@ class ContentInput(BaseModel):
1852
1854
  description: Optional[str] = None
1853
1855
  text: Optional[str] = None
1854
1856
  identifier: Optional[str] = None
1857
+ file_creation_date: Optional[Any] = Field(alias="fileCreationDate", default=None)
1858
+ file_modified_date: Optional[Any] = Field(alias="fileModifiedDate", default=None)
1855
1859
  workflow: Optional["EntityReferenceInput"] = None
1856
1860
 
1857
1861
 
@@ -192,6 +192,7 @@ __all__ = [
192
192
  "GET_WORKFLOW_GQL",
193
193
  "INGEST_BATCH_GQL",
194
194
  "INGEST_ENCODED_FILE_GQL",
195
+ "INGEST_EVENT_GQL",
195
196
  "INGEST_MEMORY_GQL",
196
197
  "INGEST_TEXT_BATCH_GQL",
197
198
  "INGEST_TEXT_GQL",
@@ -1263,6 +1264,8 @@ query GetContent($id: ID!, $correlationId: String) {
1263
1264
  state
1264
1265
  originalDate
1265
1266
  finishedDate
1267
+ fileCreationDate
1268
+ fileModifiedDate
1266
1269
  workflowDuration
1267
1270
  uri
1268
1271
  description
@@ -1566,12 +1569,14 @@ mutation IngestBatch($uris: [URL!]!, $workflow: EntityReferenceInput, $collectio
1566
1569
  """
1567
1570
 
1568
1571
  INGEST_ENCODED_FILE_GQL = """
1569
- mutation IngestEncodedFile($name: String!, $data: String!, $mimeType: String!, $id: ID, $isSynchronous: Boolean, $collections: [EntityReferenceInput!], $observations: [ObservationReferenceInput!], $workflow: EntityReferenceInput, $correlationId: String) {
1572
+ mutation IngestEncodedFile($name: String!, $data: String!, $mimeType: String!, $id: ID, $fileCreationDate: DateTime, $fileModifiedDate: DateTime, $isSynchronous: Boolean, $collections: [EntityReferenceInput!], $observations: [ObservationReferenceInput!], $workflow: EntityReferenceInput, $correlationId: String) {
1570
1573
  ingestEncodedFile(
1571
1574
  name: $name
1572
1575
  data: $data
1573
1576
  mimeType: $mimeType
1574
1577
  id: $id
1578
+ fileCreationDate: $fileCreationDate
1579
+ fileModifiedDate: $fileModifiedDate
1575
1580
  isSynchronous: $isSynchronous
1576
1581
  collections: $collections
1577
1582
  observations: $observations
@@ -1621,6 +1626,59 @@ mutation IngestEncodedFile($name: String!, $data: String!, $mimeType: String!, $
1621
1626
  }
1622
1627
  """
1623
1628
 
1629
+ INGEST_EVENT_GQL = """
1630
+ mutation IngestEvent($markdown: String!, $name: String, $description: String, $eventDate: DateTime, $collections: [EntityReferenceInput!], $correlationId: String) {
1631
+ ingestEvent(
1632
+ name: $name
1633
+ description: $description
1634
+ eventDate: $eventDate
1635
+ markdown: $markdown
1636
+ collections: $collections
1637
+ correlationId: $correlationId
1638
+ ) {
1639
+ id
1640
+ name
1641
+ state
1642
+ type
1643
+ fileType
1644
+ mimeType
1645
+ uri
1646
+ collections {
1647
+ id
1648
+ name
1649
+ }
1650
+ observations {
1651
+ id
1652
+ type
1653
+ observable {
1654
+ id
1655
+ name
1656
+ }
1657
+ related {
1658
+ id
1659
+ name
1660
+ }
1661
+ relatedType
1662
+ relation
1663
+ occurrences {
1664
+ type
1665
+ confidence
1666
+ startTime
1667
+ endTime
1668
+ pageIndex
1669
+ boundingBox {
1670
+ left
1671
+ top
1672
+ width
1673
+ height
1674
+ }
1675
+ }
1676
+ state
1677
+ }
1678
+ }
1679
+ }
1680
+ """
1681
+
1624
1682
  INGEST_MEMORY_GQL = """
1625
1683
  mutation IngestMemory($text: String!, $name: String, $textType: TextTypes, $collections: [EntityReferenceInput!], $correlationId: String) {
1626
1684
  ingestMemory(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphlit-client
3
- Version: 1.0.20250531001
3
+ Version: 1.0.20250531002
4
4
  Summary: Graphlit API Python Client
5
5
  Home-page: https://github.com/graphlit/graphlit-client-python
6
6
  Author: Unstruk Data Inc.
@@ -1,12 +1,12 @@
1
1
  graphlit/__init__.py,sha256=4AyigTlFQWP40lnaaQ1H1iRT_B1hIXW9bgPanbwmTvs,32
2
2
  graphlit/graphlit.py,sha256=g2znIWEb6fIwMKGm5G_BY4VHdaZi6hLO4Y6FdBjNesM,2389
3
- graphlit_api/__init__.py,sha256=0DQzKk1-pzneTgV4Wo-odqZiDt0K2JhTjgfL7A8Hdn8,192500
3
+ graphlit_api/__init__.py,sha256=buPlICGJT2afyyBpeM_U2rRfX1yMI3sTPtt6Jie_axc,193260
4
4
  graphlit_api/add_contents_to_collections.py,sha256=K7tNpLn8-lRVaVT39iKr-VtCKRWVONyL_h6cC0L606Y,888
5
5
  graphlit_api/ask_graphlit.py,sha256=vt3Q3XIqgT7GmgIPcirwhGjpEP-nowuUDU0g_1DX_Xc,6433
6
6
  graphlit_api/async_base_client.py,sha256=v0KUVwe2_RIQa8Mn7l_yD5McUe7B03vhclJ9SP4XGgw,12578
7
7
  graphlit_api/base_model.py,sha256=o2d-DixASFCGztr3rTiGX0AwgFu7Awr7EgD70FI8a-I,620
8
8
  graphlit_api/clear_conversation.py,sha256=5GOmc2wfupV-7EHWyi3v6LA0pSVLtFNCzxPJm42Dp6Y,531
9
- graphlit_api/client.py,sha256=yUTjvfw3-40GzwshzIviM9SqfOF0bP7PlWE05xRL4bI,202298
9
+ graphlit_api/client.py,sha256=_MPWzLGCIgr8P6ScSnBef_fQ3ozVODASZ36x_9qWGjw,203579
10
10
  graphlit_api/close_conversation.py,sha256=HcIUUiNf7hnuLZ7Fy6IcgfuHMSyWyJ7uOEy1EEETy_4,531
11
11
  graphlit_api/complete_conversation.py,sha256=WpFrPXdMoA4EQiyiquIScvq5DqVqe6to2L-YhihsNkY,16732
12
12
  graphlit_api/continue_conversation.py,sha256=p-bVR3QdlbQeFq2p-DpBSTwZKwpz3k2-WWJrZfoxETI,16732
@@ -166,7 +166,7 @@ graphlit_api/format_conversation.py,sha256=KCC515DadUyVTxa6Tm9qj_V4iJCtIP0_zWqob
166
166
  graphlit_api/get_alert.py,sha256=yw9TLx7iD4d60gaSm4typqQEHt8Y0tyb9xqg504hssQ,7193
167
167
  graphlit_api/get_category.py,sha256=r4BhKYOT49VeBrbNkAd8Hs8ndXnvUV0nPr5CurbI_Bk,439
168
168
  graphlit_api/get_collection.py,sha256=de2AaJQRkMEZoRhmYWnXlXlb1c76cF2Z8v6PwaL7wTk,830
169
- graphlit_api/get_content.py,sha256=B-9zBG9vuTojLy8SFv7Bbhw61z1Y67u4_QZsRd72l1A,11194
169
+ graphlit_api/get_content.py,sha256=A8XZJEOLS8CXIdsphhStgRmGrlmiXXYkFMcjK2sjV4E,11338
170
170
  graphlit_api/get_conversation.py,sha256=7pU2DQSb9smsTRlRYCFntFlcwS8Ua4S7z6-Pd42OFls,17641
171
171
  graphlit_api/get_event.py,sha256=saVoCHle91eNLagCX8AZwcSDikEi9OSnImx-lGx3n9A,1523
172
172
  graphlit_api/get_feed.py,sha256=thNnL79fN00-hO5uJxMcDn3FYfQPuND_WsrQ4glVCkg,11843
@@ -196,17 +196,18 @@ graphlit_api/get_user_by_identifier.py,sha256=4ZD50nr5TYucznyz45nA2NrLB2msUvuVEs
196
196
  graphlit_api/get_workflow.py,sha256=lTcpcijuvktKxJMtezdp1SUM8UKjKqmV083j_Awnvig,14688
197
197
  graphlit_api/ingest_batch.py,sha256=pmO_rAZdG8dPid40h8lnTfKSa5r0EAOmFF7PIg3a_r4,2366
198
198
  graphlit_api/ingest_encoded_file.py,sha256=mKoEc5qziw8i-MDT8CrGCfmaupWnIVQkow7cRW_Y3Fw,2607
199
+ graphlit_api/ingest_event.py,sha256=ThnAGO8bNghFmxDrk-Q4neW3f_cvUzdSuMocdyU_AaY,2336
199
200
  graphlit_api/ingest_memory.py,sha256=YF7sn_jvpk_iACg8encyp_gd0wrK0Om4blYzPDI-B8c,2374
200
201
  graphlit_api/ingest_text.py,sha256=D4lpV9LTC_u586_ILVrB2rVpHG0-8HivqeOA1GpQuFs,2286
201
202
  graphlit_api/ingest_text_batch.py,sha256=gSD1bH3mAPwJzy5TeMJ6UguEgI9yrPUXyz1soExSttM,2521
202
203
  graphlit_api/ingest_uri.py,sha256=f71kMRyMoAhef6sJU85ZgGz4aPq_5CDLaDvCeQnLY5A,2248
203
- graphlit_api/input_types.py,sha256=VWwtnqjXo3nhFY2wBuS5F-cYm8o4SAONxxO8_b3cmvY,144977
204
+ graphlit_api/input_types.py,sha256=5uZzYu4EOcluzi1jCTGxE1YVQBwo2cmGVK2n_Hq42os,145321
204
205
  graphlit_api/is_content_done.py,sha256=X8uevsTD6oFMbC8I3E9Emg-_yrFTWnnrVL5LpruSB6Q,390
205
206
  graphlit_api/is_feed_done.py,sha256=-FQS2vtDMnNW75K_9jR6IUutvpwLmtoS5yY8wD17CaM,352
206
207
  graphlit_api/lookup_credits.py,sha256=WsV7fGbg29WWOjPRIaL2bnhISGsb0SqUlQxL7rBfNTo,1464
207
208
  graphlit_api/lookup_usage.py,sha256=D_cbO0KmXDqRYqQIhNwWXNFGjwNLEy2_5aVa-SYgRzw,1711
208
209
  graphlit_api/map_web.py,sha256=2rp4jFD1vDqcQ98mCVTeC0RzPqQxmmcRvHNRl8HJfFA,346
209
- graphlit_api/operations.py,sha256=mMlYXWq8q4CnrveYUotJT6U1LR_wFRZP53Kmi9a-wEg,189466
210
+ graphlit_api/operations.py,sha256=1rLCu5RCXL4DPu0Nu_i6U0SjBc2_JKQikVmztAqOjA8,190558
210
211
  graphlit_api/prompt.py,sha256=OgNooYRVrNeUlQKNq_WQcM--yZWiP0e1-8joiK5cKfA,6147
211
212
  graphlit_api/prompt_conversation.py,sha256=7eeFb3oAoAeBMNOZ6tEMmiWs2ReDLBCsI0iiA9wnvlA,16346
212
213
  graphlit_api/prompt_specifications.py,sha256=D7YLCfYs7ZFbeqM9rc8UYHBmxDoBHR6YJjpUN32w7BY,7034
@@ -304,8 +305,8 @@ graphlit_api/upsert_label.py,sha256=_bVWrISvyt4G4IcjAKqu8c5P6FDgaODdIGtSToJfNOY,
304
305
  graphlit_api/upsert_specification.py,sha256=23eLTL8OLAYE-j_nhjT5NgaCrSUs9Q40rGW_VhDrDoM,643
305
306
  graphlit_api/upsert_workflow.py,sha256=vSC6wOM7bZHF0-8AS-v-AuF8xA95Ym5w07GWH8ISpF4,15920
306
307
  graphlit_api/workflow_exists.py,sha256=1XVcqCW_KZ3BwUFx08lwqQdf1ZpJ6Vmi8jBqcrMqYRI,397
307
- graphlit_client-1.0.20250531001.dist-info/licenses/LICENSE,sha256=ivF8XnUYrNZFQ1wZFMrxWshDb1h7TdSK6Qk8_3WPkhM,1095
308
- graphlit_client-1.0.20250531001.dist-info/METADATA,sha256=PMjKm62OUjJTWixCkBkfZWC1XpKk9vYMszvooIWqNa4,3408
309
- graphlit_client-1.0.20250531001.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
310
- graphlit_client-1.0.20250531001.dist-info/top_level.txt,sha256=HUVfNzJrxWuHS-4M5I7XjLa8-mxYQwfx01A4YKJZSYM,22
311
- graphlit_client-1.0.20250531001.dist-info/RECORD,,
308
+ graphlit_client-1.0.20250531002.dist-info/licenses/LICENSE,sha256=ivF8XnUYrNZFQ1wZFMrxWshDb1h7TdSK6Qk8_3WPkhM,1095
309
+ graphlit_client-1.0.20250531002.dist-info/METADATA,sha256=BO4TaWRhAGN--_T3ze4NyL0YBywyEG1aTPvTEMqmVUQ,3408
310
+ graphlit_client-1.0.20250531002.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
311
+ graphlit_client-1.0.20250531002.dist-info/top_level.txt,sha256=HUVfNzJrxWuHS-4M5I7XjLa8-mxYQwfx01A4YKJZSYM,22
312
+ graphlit_client-1.0.20250531002.dist-info/RECORD,,