morphik 0.2.1__py3-none-any.whl → 0.2.3__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.
morphik/__init__.py CHANGED
@@ -12,4 +12,4 @@ __all__ = [
12
12
  "Document",
13
13
  ]
14
14
 
15
- __version__ = "0.2.1"
15
+ __version__ = "0.2.2"
morphik/async_.py CHANGED
@@ -1,9 +1,9 @@
1
1
  import json
2
2
  import logging
3
+ from datetime import datetime
3
4
  from io import BytesIO, IOBase
4
5
  from pathlib import Path
5
6
  from typing import Any, BinaryIO, Dict, List, Optional, Type, Union
6
- from datetime import datetime
7
7
 
8
8
  import httpx
9
9
  from pydantic import BaseModel
@@ -1684,7 +1684,7 @@ class AsyncMorphik:
1684
1684
 
1685
1685
  The agent can autonomously use various tools to answer complex queries including:
1686
1686
  - Searching and retrieving relevant documents
1687
- - Analyzing document content
1687
+ - Analyzing document content
1688
1688
  - Performing calculations and data processing
1689
1689
  - Creating summaries and reports
1690
1690
  - Managing knowledge graphs
@@ -2650,9 +2650,7 @@ class AsyncMorphik:
2650
2650
  params["end_user_id"] = end_user_id
2651
2651
  return await self._request("GET", f"graph/{name}/visualization", params=params)
2652
2652
 
2653
- async def check_workflow_status(
2654
- self, workflow_id: str, run_id: Optional[str] = None
2655
- ) -> Dict[str, Any]:
2653
+ async def check_workflow_status(self, workflow_id: str, run_id: Optional[str] = None) -> Dict[str, Any]:
2656
2654
  """Poll the status of an async graph build/update workflow."""
2657
2655
  params = {"run_id": run_id} if run_id else None
2658
2656
  return await self._request("GET", f"graph/workflow/{workflow_id}/status", params=params)
@@ -2662,6 +2660,4 @@ class AsyncMorphik:
2662
2660
  # ------------------------------------------------------------------
2663
2661
  async def get_document_download_url(self, document_id: str, expires_in: int = 3600) -> Dict[str, Any]:
2664
2662
  """Generate a presigned download URL for a document (async)."""
2665
- return await self._request(
2666
- "GET", f"documents/{document_id}/download_url", params={"expires_in": expires_in}
2667
- )
2663
+ return await self._request("GET", f"documents/{document_id}/download_url", params={"expires_in": expires_in})
morphik/rules.py CHANGED
@@ -36,7 +36,22 @@ class MetadataExtractionRule(Rule):
36
36
  def to_dict(self) -> Dict[str, Any]:
37
37
  if isinstance(self.schema, type) and issubclass(self.schema, BaseModel):
38
38
  # Convert Pydantic model to dict schema
39
- schema_dict = self.schema.model_json_schema()
39
+ json_schema = self.schema.model_json_schema()
40
+ # Extract the properties from the JSON schema format
41
+ # to match the expected server format
42
+ schema_dict = {}
43
+ if "properties" in json_schema:
44
+ for field_name, field_info in json_schema["properties"].items():
45
+ # Get field description from the Pydantic field
46
+ description = field_info.get("description", f"No description for {field_name}")
47
+ field_type = field_info.get("type", "string")
48
+ schema_dict[field_name] = {
49
+ "type": field_type,
50
+ "description": description
51
+ }
52
+ else:
53
+ # Fallback if properties not found
54
+ schema_dict = json_schema
40
55
  else:
41
56
  # Assume it's already a dict schema
42
57
  schema_dict = self.schema
morphik/sync.py CHANGED
@@ -1,9 +1,9 @@
1
1
  import json
2
2
  import logging
3
+ from datetime import datetime
3
4
  from io import BytesIO, IOBase
4
5
  from pathlib import Path
5
6
  from typing import Any, BinaryIO, Dict, List, Optional, Type, Union
6
- from datetime import datetime
7
7
 
8
8
  import httpx
9
9
  from pydantic import BaseModel
@@ -1828,7 +1828,7 @@ class Morphik:
1828
1828
 
1829
1829
  The agent can autonomously use various tools to answer complex queries including:
1830
1830
  - Searching and retrieving relevant documents
1831
- - Analyzing document content
1831
+ - Analyzing document content
1832
1832
  - Performing calculations and data processing
1833
1833
  - Creating summaries and reports
1834
1834
  - Managing knowledge graphs
@@ -2854,6 +2854,4 @@ class Morphik:
2854
2854
  # ------------------------------------------------------------------
2855
2855
  def get_document_download_url(self, document_id: str, expires_in: int = 3600) -> Dict[str, Any]:
2856
2856
  """Generate a presigned download URL for a document stored remotely."""
2857
- return self._request(
2858
- "GET", f"documents/{document_id}/download_url", params={"expires_in": expires_in}
2859
- )
2857
+ return self._request("GET", f"documents/{document_id}/download_url", params={"expires_in": expires_in})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: morphik
3
- Version: 0.2.1
3
+ Version: 0.2.3
4
4
  Summary: Morphik Python Client
5
5
  Author-email: Morphik <founders@morphik.ai>
6
6
  Requires-Python: >=3.8
@@ -1,10 +1,10 @@
1
- morphik/__init__.py,sha256=hUNHM6uAWKjgTUETBA0VeVb1rWoT_ncknW5Id-SPCuY,242
1
+ morphik/__init__.py,sha256=gsC5-UiRXLexcy12usewJPMtOaE91DQVJyMMi6G-LPs,242
2
2
  morphik/_internal.py,sha256=pV1dbZZ8ab7bchAAdqqDbJcOeu_vM6TnNtjY6tS-wDY,19650
3
- morphik/async_.py,sha256=26SM1TjOahLk-x4eyY1elQLsoLETGnQbBATYUYqDayM,101405
3
+ morphik/async_.py,sha256=KMt4zui_8ZYLKyH_JiODnheVNpIt1jGnjZut3RdnhwQ,101368
4
4
  morphik/exceptions.py,sha256=v4XGmfq5B0KrZEF6M1ID8A50-45-SRAQZTrXGXM6n0Q,260
5
5
  morphik/models.py,sha256=JFMeGLbEke-Bls08JXCBv3y_z4eI3PBW_mbX-989i5I,20942
6
- morphik/rules.py,sha256=fw0RovS0Pwtff8Dvo3nkM3Wl6WtR3ykSaxsU_sxdXKI,2565
7
- morphik/sync.py,sha256=kC8oAlzzUFO6n8my_cnEIVT7U5MCye67dau8kVbeLJI,106182
6
+ morphik/rules.py,sha256=z3YUx0f_b9O7BLbsevAkyMiQg03iUjwfx6OCh7xGKF0,3344
7
+ morphik/sync.py,sha256=zFpMLRRdvR4bf_vL0PbcDPNsGFt6vqOMILv8W2CZFQ8,106159
8
8
  morphik/tests/README.md,sha256=jtJDDK8cS5E4SbygFQDy7t6Y-kQwNYtZajRwVJDR62U,1069
9
9
  morphik/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  morphik/tests/example_usage.py,sha256=ls8n7355q-8gY43pZLKd4SzI-01MdFeXbT8bZ4U8MCg,11561
@@ -13,6 +13,6 @@ morphik/tests/test_sync.py,sha256=Reqa25Q259mCr-tzWzc1RDcs5KZuDfBkJRKOyyxhDtE,13
13
13
  morphik/tests/test_docs/sample1.txt,sha256=Fx6TElSiKdxyFeBp1iHthzHctFVZm38DrqcbdZMoidY,507
14
14
  morphik/tests/test_docs/sample2.txt,sha256=PE97gPv59J27A7CSNvi_0tRBIN3Mj6pyTFElCLfs3TE,686
15
15
  morphik/tests/test_docs/sample3.txt,sha256=OzrnJ_XsDUntEV0jk-ansa3_KIa6GnpvS5EVmlh6BHo,732
16
- morphik-0.2.1.dist-info/METADATA,sha256=ej62vqMtwpxsaVdL8ExdDqs68hicO3FrG1X8dd-qSDk,3377
17
- morphik-0.2.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
- morphik-0.2.1.dist-info/RECORD,,
16
+ morphik-0.2.3.dist-info/METADATA,sha256=LvQ1f3GJUo9OFrJXs4jFbBxe0a1OjLuMto3IruV2KfQ,3377
17
+ morphik-0.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
+ morphik-0.2.3.dist-info/RECORD,,