ASI-Engineer commited on
Commit
2e8b500
·
verified ·
1 Parent(s): 3698022

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. requirements_prod.txt +123 -0
  2. src/Dockerfile +7 -12
requirements_prod.txt ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ aiofiles==24.1.0 ; python_version >= "3.12" and python_version < "4.0"
2
+ alembic==1.17.2 ; python_version >= "3.12" and python_version < "4.0"
3
+ annotated-doc==0.0.4 ; python_version >= "3.12" and python_version < "4.0"
4
+ annotated-types==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
5
+ anyio==4.12.0 ; python_version >= "3.12" and python_version < "4.0"
6
+ audioop-lts==0.2.2 ; python_version >= "3.13" and python_version < "4.0"
7
+ blinker==1.9.0 ; python_version >= "3.12" and python_version < "4.0"
8
+ brotli==1.2.0 ; python_version >= "3.12" and python_version < "4.0"
9
+ cachetools==6.2.4 ; python_version >= "3.12" and python_version < "4.0"
10
+ certifi==2025.11.12 ; python_version >= "3.12" and python_version < "4.0"
11
+ cffi==2.0.0 ; python_version >= "3.12" and python_version < "4.0" and platform_python_implementation != "PyPy"
12
+ charset-normalizer==3.4.4 ; python_version >= "3.12" and python_version < "4.0"
13
+ click==8.3.1 ; python_version >= "3.12" and python_version < "4.0"
14
+ cloudpickle==3.1.2 ; python_version >= "3.12" and python_version < "4.0"
15
+ colorama==0.4.6 ; python_version >= "3.12" and python_version < "4.0" and (platform_system == "Windows" or sys_platform == "win32")
16
+ contourpy==1.3.3 ; python_version >= "3.12" and python_version < "4.0"
17
+ cryptography==46.0.3 ; python_version >= "3.12" and python_version < "4.0"
18
+ cycler==0.12.1 ; python_version >= "3.12" and python_version < "4.0"
19
+ databricks-sdk==0.76.0 ; python_version >= "3.12" and python_version < "4.0"
20
+ deprecated==1.3.1 ; python_version >= "3.12" and python_version < "4.0"
21
+ docker==7.1.0 ; python_version >= "3.12" and python_version < "4.0"
22
+ fastapi==0.127.1 ; python_version >= "3.12" and python_version < "4.0"
23
+ ffmpy==1.0.0 ; python_version >= "3.12" and python_version < "4.0"
24
+ filelock==3.20.1 ; python_version >= "3.12" and python_version < "4.0"
25
+ flask-cors==6.0.2 ; python_version >= "3.12" and python_version < "4.0"
26
+ flask==3.1.2 ; python_version >= "3.12" and python_version < "4.0"
27
+ fonttools==4.61.1 ; python_version >= "3.12" and python_version < "4.0"
28
+ fsspec==2025.12.0 ; python_version >= "3.12" and python_version < "4.0"
29
+ gitdb==4.0.12 ; python_version >= "3.12" and python_version < "4.0"
30
+ gitpython==3.1.45 ; python_version >= "3.12" and python_version < "4.0"
31
+ google-auth==2.45.0 ; python_version >= "3.12" and python_version < "4.0"
32
+ gradio-client==2.0.2 ; python_version >= "3.12" and python_version < "4.0"
33
+ gradio==6.2.0 ; python_version >= "3.12" and python_version < "4.0"
34
+ graphene==3.4.3 ; python_version >= "3.12" and python_version < "4.0"
35
+ graphql-core==3.2.7 ; python_version >= "3.12" and python_version < "4.0"
36
+ graphql-relay==3.2.0 ; python_version >= "3.12" and python_version < "4.0"
37
+ greenlet==3.3.0 ; python_version >= "3.12" and python_version < "4.0" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32")
38
+ groovy==0.1.2 ; python_version >= "3.12" and python_version < "4.0"
39
+ gunicorn==23.0.0 ; python_version >= "3.12" and python_version < "4.0" and platform_system != "Windows"
40
+ h11==0.16.0 ; python_version >= "3.12" and python_version < "4.0"
41
+ hf-xet==1.2.0 ; python_version >= "3.12" and python_version < "4.0" and (platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "arm64" or platform_machine == "aarch64")
42
+ httpcore==1.0.9 ; python_version >= "3.12" and python_version < "4.0"
43
+ httptools==0.7.1 ; python_version >= "3.12" and python_version < "4.0"
44
+ httpx==0.28.1 ; python_version >= "3.12" and python_version < "4.0"
45
+ huey==2.5.5 ; python_version >= "3.12" and python_version < "4.0"
46
+ huggingface-hub==1.2.3 ; python_version >= "3.12" and python_version < "4.0"
47
+ idna==3.11 ; python_version >= "3.12" and python_version < "4.0"
48
+ imbalanced-learn==0.13.0 ; python_version >= "3.12" and python_version < "4.0"
49
+ importlib-metadata==8.7.1 ; python_version >= "3.12" and python_version < "4.0"
50
+ itsdangerous==2.2.0 ; python_version >= "3.12" and python_version < "4.0"
51
+ jinja2==3.1.6 ; python_version >= "3.12" and python_version < "4.0"
52
+ joblib==1.5.3 ; python_version >= "3.12" and python_version < "4.0"
53
+ kiwisolver==1.4.9 ; python_version >= "3.12" and python_version < "4.0"
54
+ limits==5.6.0 ; python_version >= "3.12" and python_version < "4.0"
55
+ mako==1.3.10 ; python_version >= "3.12" and python_version < "4.0"
56
+ markdown-it-py==4.0.0 ; python_version >= "3.12" and python_version < "4.0"
57
+ markupsafe==3.0.3 ; python_version >= "3.12" and python_version < "4.0"
58
+ matplotlib==3.10.8 ; python_version >= "3.12" and python_version < "4.0"
59
+ mdurl==0.1.2 ; python_version >= "3.12" and python_version < "4.0"
60
+ mlflow-skinny==3.8.1 ; python_version >= "3.12" and python_version < "4.0"
61
+ mlflow-tracing==3.8.1 ; python_version >= "3.12" and python_version < "4.0"
62
+ mlflow==3.8.1 ; python_version >= "3.12" and python_version < "4.0"
63
+ numpy==2.4.0 ; python_version >= "3.12" and python_version < "4.0"
64
+ nvidia-nccl-cu12==2.28.9 ; python_version >= "3.12" and python_version < "4.0" and platform_system == "Linux" and platform_machine != "aarch64"
65
+ opentelemetry-api==1.39.1 ; python_version >= "3.12" and python_version < "4.0"
66
+ opentelemetry-proto==1.39.1 ; python_version >= "3.12" and python_version < "4.0"
67
+ opentelemetry-sdk==1.39.1 ; python_version >= "3.12" and python_version < "4.0"
68
+ opentelemetry-semantic-conventions==0.60b1 ; python_version >= "3.12" and python_version < "4.0"
69
+ orjson==3.11.5 ; python_version >= "3.12" and python_version < "4.0"
70
+ packaging==25.0 ; python_version >= "3.12" and python_version < "4.0"
71
+ pandas==2.3.3 ; python_version >= "3.12" and python_version < "4.0"
72
+ pillow==12.0.0 ; python_version >= "3.12" and python_version < "4.0"
73
+ protobuf==6.33.2 ; python_version >= "3.12" and python_version < "4.0"
74
+ psycopg2-binary==2.9.9 ; python_version >= "3.12" and python_version < "4.0"
75
+ pyarrow==22.0.0 ; python_version >= "3.12" and python_version < "4.0"
76
+ pyasn1-modules==0.4.2 ; python_version >= "3.12" and python_version < "4.0"
77
+ pyasn1==0.6.1 ; python_version >= "3.12" and python_version < "4.0"
78
+ pycparser==2.23 ; python_version >= "3.12" and python_version < "4.0" and platform_python_implementation != "PyPy" and implementation_name != "PyPy"
79
+ pydantic-core==2.41.5 ; python_version >= "3.12" and python_version < "4.0"
80
+ pydantic==2.12.5 ; python_version >= "3.12" and python_version < "4.0"
81
+ pydub==0.25.1 ; python_version >= "3.12" and python_version < "4.0"
82
+ pygments==2.19.2 ; python_version >= "3.12" and python_version < "4.0"
83
+ pyparsing==3.3.1 ; python_version >= "3.12" and python_version < "4.0"
84
+ python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4.0"
85
+ python-dotenv==1.0.0 ; python_version >= "3.12" and python_version < "4.0"
86
+ python-json-logger==4.0.0 ; python_version >= "3.12" and python_version < "4.0"
87
+ python-multipart==0.0.21 ; python_version >= "3.12" and python_version < "4.0"
88
+ pytz==2025.2 ; python_version >= "3.12" and python_version < "4.0"
89
+ pywin32==311 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32"
90
+ pyyaml==6.0.3 ; python_version >= "3.12" and python_version < "4.0"
91
+ requests==2.32.5 ; python_version >= "3.12" and python_version < "4.0"
92
+ rich==14.2.0 ; python_version >= "3.12" and python_version < "4.0"
93
+ rsa==4.9.1 ; python_version >= "3.12" and python_version < "4.0"
94
+ safehttpx==0.1.7 ; python_version >= "3.12" and python_version < "4.0"
95
+ scikit-learn==1.6.1 ; python_version >= "3.12" and python_version < "4.0"
96
+ scipy==1.16.3 ; python_version >= "3.12" and python_version < "4.0"
97
+ semantic-version==2.10.0 ; python_version >= "3.12" and python_version < "4.0"
98
+ shellingham==1.5.4 ; python_version >= "3.12" and python_version < "4.0"
99
+ six==1.17.0 ; python_version >= "3.12" and python_version < "4.0"
100
+ sklearn-compat==0.1.5 ; python_version >= "3.12" and python_version < "4.0"
101
+ slowapi==0.1.9 ; python_version >= "3.12" and python_version < "4.0"
102
+ smmap==5.0.2 ; python_version >= "3.12" and python_version < "4.0"
103
+ sqlalchemy==2.0.23 ; python_version >= "3.12" and python_version < "4.0"
104
+ sqlparse==0.5.5 ; python_version >= "3.12" and python_version < "4.0"
105
+ starlette==0.50.0 ; python_version >= "3.12" and python_version < "4.0"
106
+ threadpoolctl==3.6.0 ; python_version >= "3.12" and python_version < "4.0"
107
+ tomlkit==0.13.3 ; python_version >= "3.12" and python_version < "4.0"
108
+ tqdm==4.67.1 ; python_version >= "3.12" and python_version < "4.0"
109
+ typer-slim==0.21.0 ; python_version >= "3.12" and python_version < "4.0"
110
+ typer==0.21.0 ; python_version >= "3.12" and python_version < "4.0"
111
+ typing-extensions==4.15.0 ; python_version >= "3.12" and python_version < "4.0"
112
+ typing-inspection==0.4.2 ; python_version >= "3.12" and python_version < "4.0"
113
+ tzdata==2025.3 ; python_version >= "3.12" and python_version < "4.0"
114
+ urllib3==2.6.2 ; python_version >= "3.12" and python_version < "4.0"
115
+ uvicorn==0.32.1 ; python_version >= "3.12" and python_version < "4.0"
116
+ uvloop==0.22.1 ; python_version >= "3.12" and python_version < "4.0" and sys_platform != "win32" and sys_platform != "cygwin" and platform_python_implementation != "PyPy"
117
+ waitress==3.0.2 ; python_version >= "3.12" and python_version < "4.0" and platform_system == "Windows"
118
+ watchfiles==1.1.1 ; python_version >= "3.12" and python_version < "4.0"
119
+ websockets==15.0.1 ; python_version >= "3.12" and python_version < "4.0"
120
+ werkzeug==3.1.4 ; python_version >= "3.12" and python_version < "4.0"
121
+ wrapt==2.0.1 ; python_version >= "3.12" and python_version < "4.0"
122
+ xgboost==2.1.4 ; python_version >= "3.12" and python_version < "4.0"
123
+ zipp==3.23.0 ; python_version >= "3.12" and python_version < "4.0"
src/Dockerfile CHANGED
@@ -2,25 +2,20 @@ FROM python:3.12-slim
2
 
3
  WORKDIR /app
4
 
5
- # Installer Poetry
6
- RUN pip install poetry
7
-
8
  # Installer les dépendances système
9
  RUN apt-get update && apt-get install -y \
10
  curl \
11
  && rm -rf /var/lib/apt/lists/*
12
 
13
- # Copier les fichiers de dépendances Poetry
14
- COPY pyproject.toml poetry.lock ./
15
-
16
- # Configurer Poetry pour ne pas créer d'environnement virtuel
17
- RUN poetry config virtualenvs.create false
18
 
19
- # Installer les dépendances Python via Poetry
20
- RUN poetry install --no-dev --no-interaction --no-ansi
 
21
 
22
  # Vérifier que les dépendances critiques sont bien installées
23
- RUN python -c "import slowapi; import fastapi; import gradio; print('All critical dependencies installed')"
24
 
25
  # Copier le code de l'application
26
  COPY app.py .
@@ -44,5 +39,5 @@ ENV PYTHONUNBUFFERED=1
44
  HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \
45
  CMD curl -f http://localhost:7860/ || exit 1
46
 
47
- # Commande de démarrage - Lancer l'app Gradio directement
48
  CMD ["python", "app.py"]
 
2
 
3
  WORKDIR /app
4
 
 
 
 
5
  # Installer les dépendances système
6
  RUN apt-get update && apt-get install -y \
7
  curl \
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
+ # Copier le fichier de dépendances (généré via poetry export)
11
+ COPY requirements_prod.txt .
 
 
 
12
 
13
+ # Installer les dépendances Python directement via pip
14
+ # Cette approche est plus robuste que poetry install sur HF Spaces
15
+ RUN pip install --no-cache-dir -r requirements_prod.txt
16
 
17
  # Vérifier que les dépendances critiques sont bien installées
18
+ RUN python -c "import slowapi; import fastapi; import gradio; print('All critical dependencies installed')"
19
 
20
  # Copier le code de l'application
21
  COPY app.py .
 
39
  HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \
40
  CMD curl -f http://localhost:7860/ || exit 1
41
 
42
+ # Commande de démarrage
43
  CMD ["python", "app.py"]