Oleh Kuznetsov commited on
Commit
7397d2d
·
1 Parent(s): 9e426fc

Basic setup of uv and gradio

Browse files
Files changed (9) hide show
  1. .dockerignore +1 -0
  2. .gitignore +2 -0
  3. .python-version +1 -0
  4. Dockerfile +26 -0
  5. README.md +4 -3
  6. app.py +15 -0
  7. pyproject.toml +9 -0
  8. requirements.txt +150 -0
  9. uv.lock +0 -0
.dockerignore ADDED
@@ -0,0 +1 @@
 
 
1
+ .venv
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ *__pycache__*
2
+ .venv
.python-version ADDED
@@ -0,0 +1 @@
 
 
1
+ 3.12
Dockerfile ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.12-slim-bookworm
2
+
3
+ # uv
4
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
5
+
6
+ RUN useradd -m -u 1000 user
7
+
8
+
9
+ # Setup environment
10
+ WORKDIR /code
11
+ ADD ./requirements.txt /code/requirements.txt
12
+ # RUN uv python install 3.12.8
13
+ RUN uv pip install --no-cache --system -r /code/requirements.txt
14
+
15
+ # Server configurations
16
+ EXPOSE 7860
17
+
18
+ USER user
19
+ ENV HOME=/home/user \
20
+ PATH=/home/user/.local/bin:$PATH
21
+
22
+ WORKDIR $HOME/app
23
+ ADD --chown=user ./app.py $HOME/app/app.py
24
+
25
+ # Run the application
26
+ CMD ["uv", "run", "app.py"]
README.md CHANGED
@@ -1,12 +1,13 @@
1
  ---
2
- title: Sdmrec Docker
3
  emoji: 🏢
4
  colorFrom: gray
5
  colorTo: red
6
  sdk: docker
 
7
  pinned: false
8
  license: mit
9
- short_description: Demo Docker Space
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: sadai-musicrec
3
  emoji: 🏢
4
  colorFrom: gray
5
  colorTo: red
6
  sdk: docker
7
+ app_port: 7860
8
  pinned: false
9
  license: mit
10
+ short_description: Demo Docker Space for Music Genre Recommendation System
11
  ---
12
 
13
+ Check out the configuration reference at <https://huggingface.co/docs/hub/spaces-config-reference>
app.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+
4
+ def greet(name, intensity):
5
+ return "Hello, " + name + "!" * int(intensity)
6
+
7
+
8
+ app = gr.Interface(
9
+ fn=greet,
10
+ inputs=["text", "slider"],
11
+ outputs=["text"],
12
+ )
13
+
14
+ if __name__ == "__main__":
15
+ app.launch(server_name="0.0.0.0", server_port=7860)
pyproject.toml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ [project]
2
+ name = "sdmrec-demo"
3
+ version = "0.1.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ requires-python = ">=3.12"
7
+ dependencies = [
8
+ "gradio>=5.29.0",
9
+ ]
requirements.txt ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ annotated-types==0.7.0
6
+ # via pydantic
7
+ anyio==4.9.0
8
+ # via
9
+ # gradio
10
+ # httpx
11
+ # starlette
12
+ certifi==2025.4.26
13
+ # via
14
+ # httpcore
15
+ # httpx
16
+ # requests
17
+ charset-normalizer==3.4.2
18
+ # via requests
19
+ click==8.1.8
20
+ # via
21
+ # typer
22
+ # uvicorn
23
+ fastapi==0.115.12
24
+ # via gradio
25
+ ffmpy==0.5.0
26
+ # via gradio
27
+ filelock==3.18.0
28
+ # via huggingface-hub
29
+ fsspec==2025.3.2
30
+ # via
31
+ # gradio-client
32
+ # huggingface-hub
33
+ gradio==5.29.0
34
+ # via sdmrec-demo (pyproject.toml)
35
+ gradio-client==1.10.0
36
+ # via gradio
37
+ groovy==0.1.2
38
+ # via gradio
39
+ h11==0.16.0
40
+ # via
41
+ # httpcore
42
+ # uvicorn
43
+ httpcore==1.0.9
44
+ # via httpx
45
+ httpx==0.28.1
46
+ # via
47
+ # gradio
48
+ # gradio-client
49
+ # safehttpx
50
+ huggingface-hub==0.30.2
51
+ # via
52
+ # gradio
53
+ # gradio-client
54
+ idna==3.10
55
+ # via
56
+ # anyio
57
+ # httpx
58
+ # requests
59
+ jinja2==3.1.6
60
+ # via gradio
61
+ markdown-it-py==3.0.0
62
+ # via rich
63
+ markupsafe==3.0.2
64
+ # via
65
+ # gradio
66
+ # jinja2
67
+ mdurl==0.1.2
68
+ # via markdown-it-py
69
+ numpy==2.2.5
70
+ # via
71
+ # gradio
72
+ # pandas
73
+ orjson==3.10.18
74
+ # via gradio
75
+ packaging==25.0
76
+ # via
77
+ # gradio
78
+ # gradio-client
79
+ # huggingface-hub
80
+ pandas==2.2.3
81
+ # via gradio
82
+ pillow==11.2.1
83
+ # via gradio
84
+ pydantic==2.11.4
85
+ # via
86
+ # fastapi
87
+ # gradio
88
+ pydantic-core==2.33.2
89
+ # via pydantic
90
+ pydub==0.25.1
91
+ # via gradio
92
+ pygments==2.19.1
93
+ # via rich
94
+ python-dateutil==2.9.0.post0
95
+ # via pandas
96
+ python-multipart==0.0.20
97
+ # via gradio
98
+ pytz==2025.2
99
+ # via pandas
100
+ pyyaml==6.0.2
101
+ # via
102
+ # gradio
103
+ # huggingface-hub
104
+ requests==2.32.3
105
+ # via huggingface-hub
106
+ rich==14.0.0
107
+ # via typer
108
+ ruff==0.11.8
109
+ # via gradio
110
+ safehttpx==0.1.6
111
+ # via gradio
112
+ semantic-version==2.10.0
113
+ # via gradio
114
+ shellingham==1.5.4
115
+ # via typer
116
+ six==1.17.0
117
+ # via python-dateutil
118
+ sniffio==1.3.1
119
+ # via anyio
120
+ starlette==0.46.2
121
+ # via
122
+ # fastapi
123
+ # gradio
124
+ tomlkit==0.13.2
125
+ # via gradio
126
+ tqdm==4.67.1
127
+ # via huggingface-hub
128
+ typer==0.15.3
129
+ # via gradio
130
+ typing-extensions==4.13.2
131
+ # via
132
+ # anyio
133
+ # fastapi
134
+ # gradio
135
+ # gradio-client
136
+ # huggingface-hub
137
+ # pydantic
138
+ # pydantic-core
139
+ # typer
140
+ # typing-inspection
141
+ typing-inspection==0.4.0
142
+ # via pydantic
143
+ tzdata==2025.2
144
+ # via pandas
145
+ urllib3==2.4.0
146
+ # via requests
147
+ uvicorn==0.34.2
148
+ # via gradio
149
+ websockets==15.0.1
150
+ # via gradio-client
uv.lock ADDED
The diff for this file is too large to render. See raw diff