claude-sdk-tutor 0.1.7__py3-none-any.whl → 0.1.8__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.
- app.py +111 -1
- {claude_sdk_tutor-0.1.7.dist-info → claude_sdk_tutor-0.1.8.dist-info}/METADATA +1 -1
- {claude_sdk_tutor-0.1.7.dist-info → claude_sdk_tutor-0.1.8.dist-info}/RECORD +6 -6
- {claude_sdk_tutor-0.1.7.dist-info → claude_sdk_tutor-0.1.8.dist-info}/WHEEL +0 -0
- {claude_sdk_tutor-0.1.7.dist-info → claude_sdk_tutor-0.1.8.dist-info}/entry_points.txt +0 -0
- {claude_sdk_tutor-0.1.7.dist-info → claude_sdk_tutor-0.1.8.dist-info}/licenses/LICENSE +0 -0
app.py
CHANGED
|
@@ -35,7 +35,117 @@ HEADER_TEXT = "Claude SDK Tutor"
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
class MyApp(App):
|
|
38
|
-
|
|
38
|
+
CSS = """
|
|
39
|
+
/* Color Variables */
|
|
40
|
+
$bg-primary: #1a1a1a;
|
|
41
|
+
$bg-secondary: #242424;
|
|
42
|
+
$bg-elevated: #2a2a2a;
|
|
43
|
+
$text-primary: #e0e0e0;
|
|
44
|
+
$text-muted: #888888;
|
|
45
|
+
$accent: #5c9fd4;
|
|
46
|
+
$accent-dim: #4a7fa8;
|
|
47
|
+
$border: #333333;
|
|
48
|
+
$border-focus: #555555;
|
|
49
|
+
|
|
50
|
+
Screen {
|
|
51
|
+
background: $bg-primary;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#main {
|
|
55
|
+
height: 100%;
|
|
56
|
+
background: $bg-primary;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
#header {
|
|
60
|
+
content-align: center middle;
|
|
61
|
+
width: 100%;
|
|
62
|
+
padding: 1 0;
|
|
63
|
+
height: auto;
|
|
64
|
+
color: $text-primary;
|
|
65
|
+
text-style: bold;
|
|
66
|
+
background: $bg-primary;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
#status-bar {
|
|
70
|
+
content-align: center middle;
|
|
71
|
+
width: 100%;
|
|
72
|
+
height: auto;
|
|
73
|
+
padding-bottom: 1;
|
|
74
|
+
color: $text-muted;
|
|
75
|
+
background: $bg-primary;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
RichLog {
|
|
79
|
+
background: $bg-secondary;
|
|
80
|
+
margin-left: 2;
|
|
81
|
+
margin-right: 2;
|
|
82
|
+
height: 1fr;
|
|
83
|
+
border: round $border;
|
|
84
|
+
scrollbar-color: $border;
|
|
85
|
+
scrollbar-color-hover: $border-focus;
|
|
86
|
+
scrollbar-color-active: $accent;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
#spinner {
|
|
90
|
+
height: auto;
|
|
91
|
+
margin-left: 2;
|
|
92
|
+
margin-right: 2;
|
|
93
|
+
color: $text-muted;
|
|
94
|
+
background: $bg-primary;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
HistoryInput {
|
|
98
|
+
height: auto;
|
|
99
|
+
margin-top: 1;
|
|
100
|
+
margin-left: 2;
|
|
101
|
+
margin-right: 2;
|
|
102
|
+
margin-bottom: 1;
|
|
103
|
+
background: $bg-elevated;
|
|
104
|
+
color: $text-primary;
|
|
105
|
+
border: round $border;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
HistoryInput:focus {
|
|
109
|
+
border: round $accent-dim;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
HistoryInput > .input--cursor {
|
|
113
|
+
color: $bg-primary;
|
|
114
|
+
background: $accent;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
HistoryInput > .input--placeholder {
|
|
118
|
+
color: $text-muted;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
Footer {
|
|
122
|
+
background: $bg-secondary;
|
|
123
|
+
color: $text-muted;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
Footer > .footer--key {
|
|
127
|
+
background: $bg-elevated;
|
|
128
|
+
color: $text-primary;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
Footer > .footer--description {
|
|
132
|
+
color: $text-muted;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
FooterKey {
|
|
136
|
+
background: $bg-elevated;
|
|
137
|
+
color: $text-primary;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
FooterKey:hover {
|
|
141
|
+
background: $accent-dim;
|
|
142
|
+
color: $bg-primary;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
LoadingIndicator {
|
|
146
|
+
display: none;
|
|
147
|
+
}
|
|
148
|
+
"""
|
|
39
149
|
|
|
40
150
|
def __init__(self):
|
|
41
151
|
super().__init__()
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
app.py,sha256=
|
|
1
|
+
app.py,sha256=6leZfQIKY-qh-V-smxpdFfBOGNfnJxH6dzg5fmR68xM,16386
|
|
2
2
|
claude/__init__.py,sha256=rGXaYQtfDG3XywfxU_vHUR5afA_ArxLxzprR04pSnZM,128
|
|
3
3
|
claude/claude_agent.py,sha256=L-Q1qE1f50UvQ-bckpimHySF5Wek2F1kK9ZfCdwuXdg,1546
|
|
4
4
|
claude/history.py,sha256=-JpVhha552jZkyxuaLbbL2GluQXvFzGmhS6mtB63940,2273
|
|
5
5
|
claude/mcp_commands.py,sha256=O3jKPCkk5l2JuB8aBoZbxE5w1yOX6cHECAVAGX7tKK8,9051
|
|
6
6
|
claude/mcp_config.py,sha256=Ot-S8YweTog80C2MBDjtOdpfwjneaqQmLoTINVdOaxY,4637
|
|
7
7
|
claude/widgets.py,sha256=fIpoV0UMtIcR5W315wxe2Cz6KLxJovWJQQn1acnRXoU,2960
|
|
8
|
-
claude_sdk_tutor-0.1.
|
|
9
|
-
claude_sdk_tutor-0.1.
|
|
10
|
-
claude_sdk_tutor-0.1.
|
|
11
|
-
claude_sdk_tutor-0.1.
|
|
12
|
-
claude_sdk_tutor-0.1.
|
|
8
|
+
claude_sdk_tutor-0.1.8.dist-info/METADATA,sha256=rZUQrBLUERaP-0cK-IDvpTTaPFqEa1eB4YK5xPbx3f0,4519
|
|
9
|
+
claude_sdk_tutor-0.1.8.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
10
|
+
claude_sdk_tutor-0.1.8.dist-info/entry_points.txt,sha256=vI78kiiqb59KzHEa8UsnkvCbmCs0IMLXOuO2qiho4U4,46
|
|
11
|
+
claude_sdk_tutor-0.1.8.dist-info/licenses/LICENSE,sha256=KzxybQVVAEGBifrjNj5OGwQ_rsbzCIGPm0xrTL6-VZs,1067
|
|
12
|
+
claude_sdk_tutor-0.1.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|