karakeep-python-api 0.2.0__tar.gz → 0.2.1__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 (18) hide show
  1. {karakeep_python_api-0.2.0/karakeep_python_api.egg-info → karakeep_python_api-0.2.1}/PKG-INFO +1 -1
  2. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api/datatypes.py +33 -91
  3. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api/karakeep_api.py +1 -1
  4. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1/karakeep_python_api.egg-info}/PKG-INFO +1 -1
  5. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/setup.py +1 -1
  6. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/LICENSE +0 -0
  7. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/MANIFEST.in +0 -0
  8. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/README.md +0 -0
  9. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api/__init__.py +0 -0
  10. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api/__main__.py +0 -0
  11. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api/openapi_reference.json +0 -0
  12. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api.egg-info/SOURCES.txt +0 -0
  13. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api.egg-info/dependency_links.txt +0 -0
  14. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api.egg-info/entry_points.txt +0 -0
  15. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api.egg-info/requires.txt +0 -0
  16. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/karakeep_python_api.egg-info/top_level.txt +0 -0
  17. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/setup.cfg +0 -0
  18. {karakeep_python_api-0.2.0 → karakeep_python_api-0.2.1}/tests/test_karakeep_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: karakeep_python_api
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Community python client for the Karakeep API.
5
5
  Home-page: https://github.com/thiswillbeyourgithub/karakeep_python_api/
6
6
  License: GPLv3
@@ -1,50 +1,30 @@
1
- # generated by datamodel-codegen:
2
- # filename: openapi_reference.json
3
- # timestamp: 2025-05-04T21:59:34+00:00
1
+ """
2
+ The datatype file was originally generated by datamodel-codegen, then refactored and manually (or via LLMs) kept up to date with upstream
3
+ """
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
7
  from enum import Enum
8
- from typing import List, Optional, Union
8
+ from typing import List, Optional, Union, Literal
9
9
 
10
10
  from pydantic import BaseModel, Field, RootModel
11
11
 
12
12
 
13
- class AssetId(RootModel[str]):
14
- root: str = Field(..., example="ieidlxygmwj87oxz5hxttoc8")
15
-
16
-
17
- class BookmarkId(RootModel[str]):
18
- root: str = Field(..., example="ieidlxygmwj87oxz5hxttoc8")
19
-
20
-
21
- class ListId(RootModel[str]):
22
- root: str = Field(..., example="ieidlxygmwj87oxz5hxttoc8")
23
-
24
-
25
- class HighlightId(RootModel[str]):
26
- root: str = Field(..., example="ieidlxygmwj87oxz5hxttoc8")
27
-
28
-
29
- class TagId(RootModel[str]):
30
- root: str = Field(..., example="ieidlxygmwj87oxz5hxttoc8")
31
-
32
-
33
- class TaggingStatus(str, Enum):
13
+ class StatusTypes(str, Enum):
34
14
  success = "success"
35
15
  failure = "failure"
36
16
  pending = "pending"
37
17
 
38
18
 
39
- class AttachedBy(str, Enum):
40
- ai = "ai"
41
- human = "human"
19
+ class NumBookmarksByAttachedType(BaseModel):
20
+ ai: Optional[float] = None
21
+ human: Optional[float] = None
42
22
 
43
23
 
44
24
  class TagShort(BaseModel):
45
25
  id: str
46
26
  name: str
47
- attachedBy: AttachedBy
27
+ attachedBy: Literal["ai", "human"]
48
28
 
49
29
 
50
30
  class Tag(BaseModel):
@@ -58,8 +38,8 @@ class Type(str, Enum):
58
38
  link = "link"
59
39
 
60
40
 
61
- class Content(BaseModel):
62
- type: Type
41
+ class ContentTypeLink(BaseModel):
42
+ type: Literal["link"] = "link"
63
43
  url: str
64
44
  title: Optional[str] = None
65
45
  description: Optional[str] = None
@@ -78,36 +58,19 @@ class Content(BaseModel):
78
58
  dateModified: Optional[str] = None
79
59
 
80
60
 
81
- class TypeText(str, Enum):
82
- text = "text"
83
-
84
-
85
- class TypeAsset(str, Enum):
86
- asset = "asset"
87
-
88
-
89
- class TypeUnknown(str, Enum):
90
- unknown = "unknown"
91
-
92
-
93
- class ContentUnknown(BaseModel):
94
- type: TypeUnknown
95
-
96
-
97
- class AssetTypeAssetType(str, Enum):
98
- image = "image"
99
- pdf = "pdf"
61
+ class ContentTypeUnknown(BaseModel):
62
+ type: Literal["unknown"] = "unknown"
100
63
 
101
64
 
102
65
  class ContentTypeText(BaseModel):
103
- type: TypeText
66
+ type: Literal["text"] = "text"
104
67
  text: str
105
68
  sourceUrl: Optional[str] = None
106
69
 
107
70
 
108
71
  class ContentTypeAsset(BaseModel):
109
- type: TypeAsset
110
- assetType: AssetTypeAssetType
72
+ type: Literal["asset"] = "asset"
73
+ assetType: Literal["image", "pdf"]
111
74
  assetId: str
112
75
  fileName: Optional[str] = None
113
76
  sourceUrl: Optional[str] = None
@@ -115,20 +78,18 @@ class ContentTypeAsset(BaseModel):
115
78
  content: Optional[str] = None
116
79
 
117
80
 
118
- class AssetType(str, Enum):
119
- screenshot = "screenshot"
120
- assetScreenshot = "assetScreenshot"
121
- bannerImage = "bannerImage"
122
- fullPageArchive = "fullPageArchive"
123
- video = "video"
124
- bookmarkAsset = "bookmarkAsset"
125
- precrawledArchive = "precrawledArchive"
126
- unknown = "unknown"
127
-
128
-
129
81
  class Asset(BaseModel):
130
82
  id: str
131
- assetType: AssetType
83
+ assetType: Literal[
84
+ "screenshot",
85
+ "assetScreenshot",
86
+ "bannerImage",
87
+ "fullPageArchive",
88
+ "video",
89
+ "bookmarkAsset",
90
+ "precrawledArchive",
91
+ "unknown",
92
+ ]
132
93
 
133
94
 
134
95
  class Bookmark(BaseModel):
@@ -138,12 +99,14 @@ class Bookmark(BaseModel):
138
99
  title: Optional[str] = None
139
100
  archived: bool
140
101
  favourited: bool
141
- taggingStatus: TaggingStatus
142
- summarizationStatus: Optional[TaggingStatus] = None
102
+ taggingStatus: Literal["success", "failure", "pending"]
103
+ summarizationStatus: Optional[Literal["success", "failure", "pending"]] = None
143
104
  note: Optional[str] = None
144
105
  summary: Optional[str] = None
145
106
  tags: List[TagShort]
146
- content: Union[Content, ContentTypeText, ContentTypeAsset, ContentUnknown]
107
+ content: Union[
108
+ ContentTypeLink, ContentTypeText, ContentTypeAsset, ContentTypeUnknown
109
+ ]
147
110
  assets: List[Asset]
148
111
 
149
112
 
@@ -152,22 +115,11 @@ class PaginatedBookmarks(BaseModel):
152
115
  nextCursor: Optional[str]
153
116
 
154
117
 
155
- class Cursor(RootModel[str]):
156
- root: str
157
-
158
-
159
- class Color(str, Enum):
160
- yellow = "yellow"
161
- red = "red"
162
- green = "green"
163
- blue = "blue"
164
-
165
-
166
118
  class Highlight(BaseModel):
167
119
  bookmarkId: str
168
120
  startOffset: float
169
121
  endOffset: float
170
- color: Optional[Color] = "yellow"
122
+ color: Optional[Literal["yellow", "red", "green", "blue"]] = "yellow"
171
123
  text: Optional[str]
172
124
  note: Optional[str]
173
125
  id: str
@@ -175,26 +127,16 @@ class Highlight(BaseModel):
175
127
  createdAt: str
176
128
 
177
129
 
178
- class ListType(str, Enum):
179
- manual = "manual"
180
- smart = "smart"
181
-
182
-
183
130
  class ListModel(BaseModel):
184
131
  id: str
185
132
  name: str
186
133
  description: Optional[str] = None
187
134
  icon: str
188
135
  parentId: Optional[str]
189
- type: Optional[ListType] = "manual"
136
+ type: Optional[Literal["manual", "smart"]] = "manual"
190
137
  query: Optional[str] = None
191
138
 
192
139
 
193
- class NumBookmarksByAttachedType(BaseModel):
194
- ai: Optional[float] = None
195
- human: Optional[float] = None
196
-
197
-
198
140
  class PaginatedHighlights(BaseModel):
199
141
  highlights: List[Highlight]
200
142
  nextCursor: Optional[str]
@@ -85,7 +85,7 @@ class KarakeepAPI:
85
85
  """
86
86
 
87
87
  # Version reflects the client library version, updated by bumpver
88
- VERSION: str = "0.2.0"
88
+ VERSION: str = "0.2.1"
89
89
 
90
90
  def __init__(
91
91
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: karakeep_python_api
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Community python client for the Karakeep API.
5
5
  Home-page: https://github.com/thiswillbeyourgithub/karakeep_python_api/
6
6
  License: GPLv3
@@ -7,7 +7,7 @@ with open("README.md", "r") as readme:
7
7
 
8
8
  setup(
9
9
  name="karakeep_python_api",
10
- version="0.2.0",
10
+ version="0.2.1",
11
11
  description="Community python client for the Karakeep API.", # Simplified description
12
12
  long_description=long_description,
13
13
  long_description_content_type="text/markdown",