tracktolib 0.67.0__py3-none-any.whl → 0.69.0__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.
tracktolib/gh/types.py ADDED
@@ -0,0 +1,203 @@
1
+ # generated by datamodel-codegen:
2
+ # timestamp: 2026-02-02T13:26:29+00:00
3
+
4
+ from typing import Any, Literal, NotRequired, TypedDict
5
+
6
+
7
+ class SimpleUser(TypedDict):
8
+ """
9
+ A GitHub user.
10
+ """
11
+
12
+ name: NotRequired[str]
13
+ email: NotRequired[str]
14
+ login: str
15
+ id: int
16
+ node_id: str
17
+ avatar_url: str
18
+ gravatar_id: str
19
+ url: str
20
+ html_url: str
21
+ followers_url: str
22
+ following_url: str
23
+ gists_url: str
24
+ starred_url: str
25
+ subscriptions_url: str
26
+ organizations_url: str
27
+ repos_url: str
28
+ events_url: str
29
+ received_events_url: str
30
+ type: str
31
+ site_admin: bool
32
+ starred_at: NotRequired[str]
33
+ user_view_type: NotRequired[str]
34
+
35
+
36
+ class NullableSimpleUser(TypedDict):
37
+ """
38
+ A GitHub user.
39
+ """
40
+
41
+ name: NotRequired[str]
42
+ email: NotRequired[str]
43
+ login: str
44
+ id: int
45
+ node_id: str
46
+ avatar_url: str
47
+ gravatar_id: str
48
+ url: str
49
+ html_url: str
50
+ followers_url: str
51
+ following_url: str
52
+ gists_url: str
53
+ starred_url: str
54
+ subscriptions_url: str
55
+ organizations_url: str
56
+ repos_url: str
57
+ events_url: str
58
+ received_events_url: str
59
+ type: str
60
+ site_admin: bool
61
+ starred_at: NotRequired[str]
62
+ user_view_type: NotRequired[str]
63
+
64
+
65
+ class Label(TypedDict):
66
+ """
67
+ Color-coded labels help you categorize and filter your issues (just like labels in Gmail).
68
+ """
69
+
70
+ id: int
71
+ node_id: str
72
+ url: str
73
+ name: str
74
+ description: str
75
+ color: str
76
+ default: bool
77
+
78
+
79
+ class Permissions(TypedDict, total=False):
80
+ """
81
+ The set of permissions for the GitHub app.
82
+
83
+ Note: GitHub returns many dynamic permission fields; only common ones are typed.
84
+ """
85
+
86
+ issues: str
87
+ checks: str
88
+ metadata: str
89
+ contents: str
90
+ deployments: str
91
+ pull_requests: str
92
+ statuses: str
93
+ actions: str
94
+ administration: str
95
+ pages: str
96
+ packages: str
97
+ security_events: str
98
+
99
+
100
+ ReactionRollup = TypedDict(
101
+ "ReactionRollup",
102
+ {
103
+ "url": str,
104
+ "total_count": int,
105
+ "+1": int,
106
+ "-1": int,
107
+ "laugh": int,
108
+ "confused": int,
109
+ "heart": int,
110
+ "hooray": int,
111
+ "eyes": int,
112
+ "rocket": int,
113
+ },
114
+ )
115
+
116
+
117
+ class NullableIntegration(TypedDict):
118
+ """
119
+ GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.
120
+ """
121
+
122
+ id: int
123
+ slug: NotRequired[str]
124
+ node_id: str
125
+ client_id: NotRequired[str]
126
+ owner: SimpleUser | Any
127
+ name: str
128
+ description: str
129
+ external_url: str
130
+ html_url: str
131
+ created_at: str
132
+ updated_at: str
133
+ permissions: Permissions
134
+ events: list[str]
135
+ installations_count: NotRequired[int]
136
+
137
+
138
+ class IssueComment(TypedDict):
139
+ """
140
+ Comments provide a way for people to collaborate on an issue.
141
+ """
142
+
143
+ id: int
144
+ node_id: str
145
+ url: str
146
+ body: NotRequired[str]
147
+ body_text: NotRequired[str]
148
+ body_html: NotRequired[str]
149
+ html_url: str
150
+ user: NullableSimpleUser
151
+ created_at: str
152
+ updated_at: str
153
+ issue_url: str
154
+ author_association: NotRequired[Any]
155
+ performed_via_github_app: NotRequired[NullableIntegration]
156
+ reactions: NotRequired[ReactionRollup]
157
+
158
+
159
+ class Deployment(TypedDict):
160
+ """
161
+ A request for a specific ref(branch,sha,tag) to be deployed
162
+ """
163
+
164
+ url: str
165
+ id: int
166
+ node_id: str
167
+ sha: str
168
+ ref: str
169
+ task: str
170
+ payload: dict[str, Any] | str
171
+ original_environment: NotRequired[str]
172
+ environment: str
173
+ description: str
174
+ creator: NullableSimpleUser
175
+ created_at: str
176
+ updated_at: str
177
+ statuses_url: str
178
+ repository_url: str
179
+ transient_environment: NotRequired[bool]
180
+ production_environment: NotRequired[bool]
181
+ performed_via_github_app: NotRequired[NullableIntegration]
182
+
183
+
184
+ class DeploymentStatus(TypedDict):
185
+ """
186
+ The status of a deployment.
187
+ """
188
+
189
+ url: str
190
+ id: int
191
+ node_id: str
192
+ state: Literal["error", "failure", "inactive", "pending", "success", "queued", "in_progress"]
193
+ creator: NullableSimpleUser
194
+ description: str
195
+ environment: NotRequired[str]
196
+ target_url: str
197
+ created_at: str
198
+ updated_at: str
199
+ deployment_url: str
200
+ repository_url: str
201
+ environment_url: NotRequired[str]
202
+ log_url: NotRequired[str]
203
+ performed_via_github_app: NotRequired[NullableIntegration]
tracktolib/http_utils.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  import warnings
3
- from io import TextIOWrapper, BufferedWriter
3
+ from io import BufferedWriter, TextIOWrapper
4
4
  from typing import BinaryIO, Callable, TextIO
5
5
 
6
6
  warnings.warn(
tracktolib/logs.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import logging
2
2
  from dataclasses import dataclass
3
- from typing import Literal, overload, Any, TypeGuard
3
+ from typing import Any, Literal, TypeGuard, overload
4
4
 
5
5
  try:
6
6
  from pythonjsonlogger.json import JsonFormatter
@@ -0,0 +1,44 @@
1
+ from .blocks import (
2
+ ExportResult,
3
+ make_bulleted_list_block,
4
+ make_code_block,
5
+ make_divider_block,
6
+ make_heading_block,
7
+ make_numbered_list_block,
8
+ make_paragraph_block,
9
+ make_todo_block,
10
+ parse_rich_text,
11
+ )
12
+ from .cache import CachedDatabase, NotionCache
13
+ from .utils import (
14
+ PageComment,
15
+ ProgressCallback,
16
+ clear_page_blocks,
17
+ download_page_to_markdown,
18
+ export_markdown_to_page,
19
+ fetch_all_page_comments,
20
+ update_page_content,
21
+ )
22
+
23
+ __all__ = [
24
+ "CachedDatabase",
25
+ "NotionCache",
26
+ # Block utilities
27
+ "parse_rich_text",
28
+ "make_paragraph_block",
29
+ "make_heading_block",
30
+ "make_code_block",
31
+ "make_bulleted_list_block",
32
+ "make_numbered_list_block",
33
+ "make_todo_block",
34
+ "make_divider_block",
35
+ # Export/Import
36
+ "export_markdown_to_page",
37
+ "download_page_to_markdown",
38
+ "clear_page_blocks",
39
+ "update_page_content",
40
+ "fetch_all_page_comments",
41
+ "ProgressCallback",
42
+ "ExportResult",
43
+ "PageComment",
44
+ ]