serverdaun commited on
Commit
f5bbd44
·
1 Parent(s): 15b5ac0

Add Docker support with Dockerfile and .dockerignore; update app.py to launch on all interfaces; add requirements.txt for dependencies; enhance README.md with project metadata.

Browse files
Files changed (5) hide show
  1. .dockerignore +25 -0
  2. Dockerfile +14 -0
  3. README.md +9 -0
  4. app.py +1 -1
  5. requirements.txt +336 -0
.dockerignore ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Docker-specific ignores
2
+ .dockerignore
3
+ Dockerfile
4
+ .git
5
+ .gitignore
6
+
7
+ # Python-generated files
8
+ __pycache__/
9
+ *.py[oc]
10
+ build/
11
+ dist/
12
+ wheels/
13
+ *.egg-info
14
+
15
+ # Virtual environments
16
+ .venv
17
+
18
+ # Environment variables
19
+ .env
20
+
21
+ # Output files
22
+ sandbox/
23
+
24
+ # Memory file
25
+ sidekick_memory.json
Dockerfile ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.12-slim-bookworm
2
+
3
+ WORKDIR /app
4
+
5
+ COPY requirements.txt /app/
6
+
7
+ RUN pip install --upgrade pip
8
+ RUN pip install -r requirements.txt --no-cache-dir
9
+
10
+ COPY . /app
11
+
12
+ EXPOSE 7860
13
+
14
+ CMD ["python", "-u", "app.py"]
README.md CHANGED
@@ -1,3 +1,12 @@
 
 
 
 
 
 
 
 
 
1
  # AI Sidekick
2
 
3
  ## Overview
 
1
+ ---
2
+ title: Ai Sidekick
3
+ emoji: 🌍
4
+ colorFrom: red
5
+ colorTo: yellow
6
+ sdk: docker
7
+ pinned: false
8
+ ---
9
+
10
  # AI Sidekick
11
 
12
  ## Overview
app.py CHANGED
@@ -103,4 +103,4 @@ with gr.Blocks(title="Sidekick", theme=gr.themes.Default(primary_hue="emerald"))
103
 
104
 
105
  if __name__ == "__main__":
106
- ui.launch()
 
103
 
104
 
105
  if __name__ == "__main__":
106
+ ui.launch(server_name="0.0.0.0", server_port=7860)
requirements.txt ADDED
@@ -0,0 +1,336 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file was autogenerated by uv via the following command:
2
+ # uv pip compile pyproject.toml -o requirements.txt
3
+ aiofiles==24.1.0
4
+ # via gradio
5
+ aiohappyeyeballs==2.6.1
6
+ # via aiohttp
7
+ aiohttp==3.12.13
8
+ # via langchain-community
9
+ aiosignal==1.3.2
10
+ # via aiohttp
11
+ annotated-types==0.7.0
12
+ # via pydantic
13
+ anyio==4.9.0
14
+ # via
15
+ # gradio
16
+ # httpx
17
+ # openai
18
+ # starlette
19
+ arxiv==2.2.0
20
+ # via ai-sidekick (pyproject.toml)
21
+ attrs==25.3.0
22
+ # via aiohttp
23
+ beautifulsoup4==4.13.4
24
+ # via
25
+ # ai-sidekick (pyproject.toml)
26
+ # wikipedia
27
+ black==25.1.0
28
+ # via ai-sidekick (pyproject.toml)
29
+ certifi==2025.6.15
30
+ # via
31
+ # httpcore
32
+ # httpx
33
+ # requests
34
+ charset-normalizer==3.4.2
35
+ # via requests
36
+ click==8.2.1
37
+ # via
38
+ # black
39
+ # typer
40
+ # uvicorn
41
+ dataclasses-json==0.6.7
42
+ # via langchain-community
43
+ distro==1.9.0
44
+ # via openai
45
+ fastapi==0.115.13
46
+ # via gradio
47
+ feedparser==6.0.11
48
+ # via arxiv
49
+ ffmpy==0.6.0
50
+ # via gradio
51
+ filelock==3.18.0
52
+ # via huggingface-hub
53
+ frozenlist==1.7.0
54
+ # via
55
+ # aiohttp
56
+ # aiosignal
57
+ fsspec==2025.5.1
58
+ # via
59
+ # gradio-client
60
+ # huggingface-hub
61
+ gradio==5.34.2
62
+ # via ai-sidekick (pyproject.toml)
63
+ gradio-client==1.10.3
64
+ # via gradio
65
+ greenlet==3.2.3
66
+ # via playwright
67
+ groovy==0.1.2
68
+ # via gradio
69
+ h11==0.16.0
70
+ # via
71
+ # httpcore
72
+ # uvicorn
73
+ hf-xet==1.1.5
74
+ # via huggingface-hub
75
+ httpcore==1.0.9
76
+ # via httpx
77
+ httpx==0.28.1
78
+ # via
79
+ # gradio
80
+ # gradio-client
81
+ # langgraph-sdk
82
+ # langsmith
83
+ # openai
84
+ # safehttpx
85
+ httpx-sse==0.4.1
86
+ # via langchain-community
87
+ huggingface-hub==0.33.1
88
+ # via
89
+ # gradio
90
+ # gradio-client
91
+ idna==3.10
92
+ # via
93
+ # anyio
94
+ # httpx
95
+ # requests
96
+ # yarl
97
+ isort==6.0.1
98
+ # via ai-sidekick (pyproject.toml)
99
+ jinja2==3.1.6
100
+ # via gradio
101
+ jiter==0.10.0
102
+ # via openai
103
+ jsonpatch==1.33
104
+ # via langchain-core
105
+ jsonpointer==3.0.0
106
+ # via jsonpatch
107
+ langchain==0.3.26
108
+ # via
109
+ # ai-sidekick (pyproject.toml)
110
+ # langchain-community
111
+ langchain-community==0.3.26
112
+ # via
113
+ # ai-sidekick (pyproject.toml)
114
+ # langchain-experimental
115
+ langchain-core==0.3.66
116
+ # via
117
+ # langchain
118
+ # langchain-community
119
+ # langchain-experimental
120
+ # langchain-openai
121
+ # langchain-text-splitters
122
+ # langgraph
123
+ # langgraph-checkpoint
124
+ # langgraph-prebuilt
125
+ langchain-experimental==0.3.4
126
+ # via ai-sidekick (pyproject.toml)
127
+ langchain-openai==0.3.25
128
+ # via ai-sidekick (pyproject.toml)
129
+ langchain-text-splitters==0.3.8
130
+ # via langchain
131
+ langgraph==0.4.9
132
+ # via ai-sidekick (pyproject.toml)
133
+ langgraph-checkpoint==2.1.0
134
+ # via
135
+ # langgraph
136
+ # langgraph-prebuilt
137
+ langgraph-prebuilt==0.2.2
138
+ # via langgraph
139
+ langgraph-sdk==0.1.70
140
+ # via langgraph
141
+ langsmith==0.4.2
142
+ # via
143
+ # langchain
144
+ # langchain-community
145
+ # langchain-core
146
+ markdown-it-py==3.0.0
147
+ # via rich
148
+ markupsafe==3.0.2
149
+ # via
150
+ # gradio
151
+ # jinja2
152
+ marshmallow==3.26.1
153
+ # via dataclasses-json
154
+ mdurl==0.1.2
155
+ # via markdown-it-py
156
+ mpmath==1.3.0
157
+ # via sympy
158
+ multidict==6.5.1
159
+ # via
160
+ # aiohttp
161
+ # yarl
162
+ mypy-extensions==1.1.0
163
+ # via
164
+ # black
165
+ # typing-inspect
166
+ numpy==2.3.1
167
+ # via
168
+ # gradio
169
+ # langchain-community
170
+ # pandas
171
+ openai==1.91.0
172
+ # via langchain-openai
173
+ orjson==3.10.18
174
+ # via
175
+ # gradio
176
+ # langgraph-sdk
177
+ # langsmith
178
+ ormsgpack==1.10.0
179
+ # via langgraph-checkpoint
180
+ packaging==24.2
181
+ # via
182
+ # black
183
+ # gradio
184
+ # gradio-client
185
+ # huggingface-hub
186
+ # langchain-core
187
+ # langsmith
188
+ # marshmallow
189
+ pandas==2.3.0
190
+ # via gradio
191
+ pathspec==0.12.1
192
+ # via black
193
+ pillow==11.2.1
194
+ # via gradio
195
+ platformdirs==4.3.8
196
+ # via black
197
+ playwright==1.52.0
198
+ # via ai-sidekick (pyproject.toml)
199
+ propcache==0.3.2
200
+ # via
201
+ # aiohttp
202
+ # yarl
203
+ pydantic==2.11.7
204
+ # via
205
+ # fastapi
206
+ # gradio
207
+ # langchain
208
+ # langchain-core
209
+ # langgraph
210
+ # langsmith
211
+ # openai
212
+ # pydantic-settings
213
+ pydantic-core==2.33.2
214
+ # via pydantic
215
+ pydantic-settings==2.10.1
216
+ # via langchain-community
217
+ pydub==0.25.1
218
+ # via gradio
219
+ pyee==13.0.0
220
+ # via playwright
221
+ pygments==2.19.2
222
+ # via rich
223
+ python-dateutil==2.9.0.post0
224
+ # via pandas
225
+ python-dotenv==1.1.1
226
+ # via
227
+ # ai-sidekick (pyproject.toml)
228
+ # pydantic-settings
229
+ python-multipart==0.0.20
230
+ # via gradio
231
+ pytz==2025.2
232
+ # via pandas
233
+ pyyaml==6.0.2
234
+ # via
235
+ # gradio
236
+ # huggingface-hub
237
+ # langchain
238
+ # langchain-community
239
+ # langchain-core
240
+ regex==2024.11.6
241
+ # via tiktoken
242
+ requests==2.32.4
243
+ # via
244
+ # arxiv
245
+ # huggingface-hub
246
+ # langchain
247
+ # langchain-community
248
+ # langsmith
249
+ # requests-toolbelt
250
+ # tiktoken
251
+ # wikipedia
252
+ requests-toolbelt==1.0.0
253
+ # via langsmith
254
+ rich==14.0.0
255
+ # via typer
256
+ ruff==0.12.0
257
+ # via gradio
258
+ safehttpx==0.1.6
259
+ # via gradio
260
+ semantic-version==2.10.0
261
+ # via gradio
262
+ sgmllib3k==1.0.0
263
+ # via feedparser
264
+ shellingham==1.5.4
265
+ # via typer
266
+ six==1.17.0
267
+ # via python-dateutil
268
+ sniffio==1.3.1
269
+ # via
270
+ # anyio
271
+ # openai
272
+ soupsieve==2.7
273
+ # via beautifulsoup4
274
+ sqlalchemy==2.0.41
275
+ # via
276
+ # langchain
277
+ # langchain-community
278
+ starlette==0.46.2
279
+ # via
280
+ # fastapi
281
+ # gradio
282
+ sympy==1.14.0
283
+ # via ai-sidekick (pyproject.toml)
284
+ tenacity==9.1.2
285
+ # via
286
+ # langchain-community
287
+ # langchain-core
288
+ tiktoken==0.9.0
289
+ # via langchain-openai
290
+ tomlkit==0.13.3
291
+ # via gradio
292
+ tqdm==4.67.1
293
+ # via
294
+ # huggingface-hub
295
+ # openai
296
+ typer==0.16.0
297
+ # via gradio
298
+ typing-extensions==4.14.0
299
+ # via
300
+ # anyio
301
+ # beautifulsoup4
302
+ # fastapi
303
+ # gradio
304
+ # gradio-client
305
+ # huggingface-hub
306
+ # langchain-core
307
+ # openai
308
+ # pydantic
309
+ # pydantic-core
310
+ # pyee
311
+ # sqlalchemy
312
+ # typer
313
+ # typing-inspect
314
+ # typing-inspection
315
+ typing-inspect==0.9.0
316
+ # via dataclasses-json
317
+ typing-inspection==0.4.1
318
+ # via
319
+ # pydantic
320
+ # pydantic-settings
321
+ tzdata==2025.2
322
+ # via pandas
323
+ urllib3==2.5.0
324
+ # via requests
325
+ uvicorn==0.34.3
326
+ # via gradio
327
+ websockets==15.0.1
328
+ # via gradio-client
329
+ wikipedia==1.4.0
330
+ # via ai-sidekick (pyproject.toml)
331
+ xxhash==3.5.0
332
+ # via langgraph
333
+ yarl==1.20.1
334
+ # via aiohttp
335
+ zstandard==0.23.0
336
+ # via langsmith