metaso-sdk 0.1.5__tar.gz → 0.1.6__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 (44) hide show
  1. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/CHANGELOG.md +1 -0
  2. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/PKG-INFO +1 -1
  3. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/pyproject.toml +1 -1
  4. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/bookshelf.py +1 -0
  5. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/search.py +1 -0
  6. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/subject.py +5 -0
  7. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/CONTRIBUTING.md +0 -0
  8. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/LICENSE +0 -0
  9. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/README.md +0 -0
  10. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/coverage.ini +0 -0
  11. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/git-changelog.toml +0 -0
  12. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/mypy.ini +0 -0
  13. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/pytest.ini +0 -0
  14. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/ruff.toml +0 -0
  15. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/vscode/launch.json +0 -0
  16. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/vscode/settings.json +0 -0
  17. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/config/vscode/tasks.json +0 -0
  18. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/.overrides/partials/comments.html +0 -0
  19. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/changelog.md +0 -0
  20. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/contributing.md +0 -0
  21. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/css/material.css +0 -0
  22. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/css/mkdocstrings.css +0 -0
  23. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/index.md +0 -0
  24. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/js/feedback.js +0 -0
  25. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/docs/license.md +0 -0
  26. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/duties.py +0 -0
  27. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/mkdocs.yml +0 -0
  28. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/scripts/gen_ref_nav.py +0 -0
  29. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/scripts/make.py +0 -0
  30. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/__init__.py +0 -0
  31. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/__main__.py +0 -0
  32. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/cli.py +0 -0
  33. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/client.py +0 -0
  34. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/debug.py +0 -0
  35. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/model.py +0 -0
  36. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/src/metaso_sdk/py.typed +0 -0
  37. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/__init__.py +0 -0
  38. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/conftest.py +0 -0
  39. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/fixtures/1/functions.pdf +0 -0
  40. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/fixtures/2/phd-thesis.pdf +0 -0
  41. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/fixtures/3/eurosys16-final29.pdf +0 -0
  42. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/test_cli.py +0 -0
  43. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/test_search.py +0 -0
  44. {metaso_sdk-0.1.5 → metaso_sdk-0.1.6}/tests/test_subject.py +0 -0
@@ -5,3 +5,4 @@
5
5
  0.1.3: 搜索支持 newEngine 开关。
6
6
  0.1.4: update_progress 检查 errCode == 0
7
7
  0.1.5: 支持上传文件或 URL 到书架。
8
+ 0.1.6: 非 200 状态码抛异常。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: metaso-sdk
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: The official Python SDK for https://metaso.cn
5
5
  Author-Email: Zhao Xiaohong <zhaoxiaohong@metasota.ai>
6
6
  License: MIT
@@ -37,7 +37,7 @@ dependencies = [
37
37
  "pydantic>=2.10.0",
38
38
  "streamable>=1.3.5",
39
39
  ]
40
- version = "0.1.5"
40
+ version = "0.1.6"
41
41
 
42
42
  [project.license]
43
43
  text = "MIT"
@@ -15,6 +15,7 @@ def upload_book(fileobj_or_url) -> Optional[Book]:
15
15
  else:
16
16
  params = {"files": {"file": fileobj_or_url}}
17
17
  resp = client.put("/book", **params)
18
+ resp.raise_for_status()
18
19
  json = resp.json()
19
20
  status = Status.model_validate(json)
20
21
  if status.errCode == 0:
@@ -32,4 +32,5 @@ def search(query: Query, *, stream: bool = False, topic: Topic = None):
32
32
  return _gen()
33
33
 
34
34
  resp = client.post("/search/v2", json=query.model_dump())
35
+ resp.raise_for_status()
35
36
  return resp.json()["data"]
@@ -14,6 +14,7 @@ def create_topic(topic: Topic) -> Optional[Topic]:
14
14
  :return: 专题对象。
15
15
  """
16
16
  resp = client.put("/topic", json=topic.model_dump())
17
+ resp.raise_for_status()
17
18
  json = resp.json()
18
19
  status = Status.model_validate(json)
19
20
  if status.errCode == 0:
@@ -28,6 +29,7 @@ def delete_topic(topic: Topic) -> bool:
28
29
  :return: 如果成功删除Topic返回True,否则返回False。
29
30
  """
30
31
  resp = client.post("/topic/trash", json={"ids": [topic.id]})
32
+ resp.raise_for_status()
31
33
  status = Status.model_validate(resp.json())
32
34
  return status.errCode == 0
33
35
 
@@ -40,6 +42,7 @@ def upload_file(topic: Topic, file) -> Optional[File]:
40
42
  :return: 如果文件上传成功,返回文件对象;否则返回None。
41
43
  """
42
44
  resp = client.put(f"/file/{topic.dirRootId}", files={"file": file})
45
+ resp.raise_for_status()
43
46
  json = resp.json()
44
47
  status = Status.model_validate(json)
45
48
  if status.errCode == 0:
@@ -55,6 +58,7 @@ def update_progress(file_or_book: Union[File, Book]) -> Union[File, Book]:
55
58
  """
56
59
  file_id = file_or_book.id if isinstance(file_or_book, File) else file_or_book.fileId
57
60
  resp = client.get(f"/file/{file_id}/progress")
61
+ resp.raise_for_status()
58
62
  json = resp.json()
59
63
  status = Status.model_validate(json)
60
64
  if status.errCode == 0:
@@ -70,6 +74,7 @@ def delete_file(file_or_book: Union[File, Book]) -> bool:
70
74
  """
71
75
  file_id = file_or_book.id if isinstance(file_or_book, File) else file_or_book.fileId
72
76
  resp = client.post("/file/trash", json={"ids": [file_id]})
77
+ resp.raise_for_status()
73
78
  status = Status.model_validate(resp.json())
74
79
  return status.errCode == 0
75
80
 
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