Spaces:
Runtime error
Runtime error
Commit ·
a02fd42
1
Parent(s): c5d3c0b
build: convert to uv
Browse files- Dockerfile +19 -35
- pyproject.toml +35 -37
- requirements.txt +24 -0
Dockerfile
CHANGED
|
@@ -1,47 +1,31 @@
|
|
| 1 |
-
# Use Python 3.11 slim image
|
| 2 |
-
FROM python:3.11-slim
|
| 3 |
|
| 4 |
-
#
|
| 5 |
-
|
| 6 |
-
curl \
|
| 7 |
-
build-essential \
|
| 8 |
-
&& rm -rf /var/lib/apt/lists/*
|
| 9 |
|
| 10 |
-
#
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
# Create app directory with correct permissions
|
| 14 |
-
RUN mkdir /app && chown -R 1000:1000 /app
|
| 15 |
-
|
| 16 |
-
# Create non-root user
|
| 17 |
RUN useradd -m -u 1000 user
|
| 18 |
-
|
| 19 |
-
# Switch to non-root user
|
| 20 |
USER user
|
| 21 |
-
WORKDIR /app
|
| 22 |
|
| 23 |
-
# Set
|
| 24 |
-
ENV
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
ENV
|
| 28 |
|
| 29 |
-
# Configure Poetry
|
| 30 |
-
RUN poetry config virtualenvs.create true \
|
| 31 |
-
&& poetry config virtualenvs.in-project true
|
| 32 |
|
| 33 |
-
#
|
| 34 |
-
|
| 35 |
-
COPY --chown=user chainlit.yaml ./
|
| 36 |
|
| 37 |
-
#
|
| 38 |
-
|
| 39 |
|
| 40 |
-
#
|
| 41 |
-
|
|
|
|
| 42 |
|
| 43 |
-
# Expose the port
|
| 44 |
EXPOSE 7860
|
| 45 |
|
| 46 |
-
#
|
| 47 |
-
CMD ["
|
|
|
|
|
|
|
|
|
|
| 1 |
|
| 2 |
+
# Get a distribution that has uv already installed
|
| 3 |
+
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
+
# Add user - this is the user that will run the app
|
| 6 |
+
# If you do not set user, the app will run as root (undesirable)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
RUN useradd -m -u 1000 user
|
|
|
|
|
|
|
| 8 |
USER user
|
|
|
|
| 9 |
|
| 10 |
+
# Set the home directory and path
|
| 11 |
+
ENV HOME=/home/user \
|
| 12 |
+
PATH=/home/user/.local/bin:$PATH
|
| 13 |
+
|
| 14 |
+
ENV UVICORN_WS_PROTOCOL=websockets
|
| 15 |
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
+
# Set the working directory
|
| 18 |
+
WORKDIR $HOME/app
|
|
|
|
| 19 |
|
| 20 |
+
# Copy the app to the container
|
| 21 |
+
COPY --chown=user . $HOME/app
|
| 22 |
|
| 23 |
+
# Install the dependencies
|
| 24 |
+
# RUN uv sync --frozen
|
| 25 |
+
RUN uv sync
|
| 26 |
|
| 27 |
+
# Expose the port
|
| 28 |
EXPOSE 7860
|
| 29 |
|
| 30 |
+
# Run the app
|
| 31 |
+
CMD ["uv", "run", "chainlit", "run", "app.py", "--host", "0.0.0.0", "--port", "7860"]
|
pyproject.toml
CHANGED
|
@@ -1,40 +1,42 @@
|
|
| 1 |
-
[
|
| 2 |
name = "imagineui"
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "An AI-powered CSS style generator using CSS Zen Garden designs"
|
| 5 |
-
authors = [
|
|
|
|
|
|
|
| 6 |
readme = "README.md"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
-
[
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
[tool.poetry.dependencies]
|
| 13 |
-
python = ">=3.9,<4.0"
|
| 14 |
-
jupyter = "*"
|
| 15 |
-
notebook = "*"
|
| 16 |
-
ipykernel = ">=6.29.0"
|
| 17 |
-
beautifulsoup4 = ">=4.12.0"
|
| 18 |
-
scrapy = ">=2.11.0"
|
| 19 |
-
playwright = ">=1.42.0"
|
| 20 |
-
pandas = ">=2.2.0"
|
| 21 |
-
numpy = ">=1.26.0"
|
| 22 |
-
langchain = ">=0.1.0"
|
| 23 |
-
langgraph = ">=0.0.19"
|
| 24 |
-
chainlit = ">=0.7.700"
|
| 25 |
-
transformers = ">=4.37.0"
|
| 26 |
-
datasets = ">=2.17.0"
|
| 27 |
-
torch = "2.1.2"
|
| 28 |
-
sentence-transformers = ">=2.5.0"
|
| 29 |
-
python-dotenv = ">=1.0.0"
|
| 30 |
-
requests = ">=2.28.1"
|
| 31 |
-
openai = ">=1.63.2,<2.0.0"
|
| 32 |
-
langchain-openai = ">=0.3.6,<0.4.0"
|
| 33 |
-
langchain-community = ">=0.3.18,<0.4.0"
|
| 34 |
-
faiss-cpu = "^1.7.4"
|
| 35 |
-
jq = "^1.8.0"
|
| 36 |
-
ragas = "^0.2.13"
|
| 37 |
-
rapidfuzz = "^3.12.1"
|
| 38 |
|
| 39 |
[tool.black]
|
| 40 |
line-length = 88
|
|
@@ -62,8 +64,4 @@ testpaths = ["tests"]
|
|
| 62 |
python_version = "3.11"
|
| 63 |
warn_return_any = true
|
| 64 |
warn_unused_configs = true
|
| 65 |
-
check_untyped_defs = true
|
| 66 |
-
|
| 67 |
-
[build-system]
|
| 68 |
-
requires = ["poetry-core"]
|
| 69 |
-
build-backend = "poetry.core.masonry.api"
|
|
|
|
| 1 |
+
[project]
|
| 2 |
name = "imagineui"
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "An AI-powered CSS style generator using CSS Zen Garden designs"
|
| 5 |
+
authors = [
|
| 6 |
+
{name = "Anthony Chapman", email = "adc@thewebdev.us"}
|
| 7 |
+
]
|
| 8 |
readme = "README.md"
|
| 9 |
+
requires-python = ">=3.9,<4.0"
|
| 10 |
+
dependencies = [
|
| 11 |
+
"jupyter",
|
| 12 |
+
"notebook",
|
| 13 |
+
"ipykernel>=6.29.0",
|
| 14 |
+
"beautifulsoup4>=4.12.0",
|
| 15 |
+
"scrapy>=2.11.0",
|
| 16 |
+
"playwright>=1.42.0",
|
| 17 |
+
"pandas>=2.2.0",
|
| 18 |
+
"numpy>=1.26.0",
|
| 19 |
+
"langchain>=0.1.0",
|
| 20 |
+
"langgraph>=0.0.19",
|
| 21 |
+
"chainlit>=0.7.700",
|
| 22 |
+
"transformers>=4.37.0",
|
| 23 |
+
"datasets>=2.17.0",
|
| 24 |
+
"torch==2.1.2",
|
| 25 |
+
"sentence-transformers>=2.5.0",
|
| 26 |
+
"python-dotenv>=1.0.0",
|
| 27 |
+
"requests>=2.28.1",
|
| 28 |
+
"openai>=1.63.2,<2.0.0",
|
| 29 |
+
"langchain-openai>=0.3.6,<0.4.0",
|
| 30 |
+
"langchain-community>=0.3.18,<0.4.0",
|
| 31 |
+
"faiss-cpu>=1.7.4",
|
| 32 |
+
"jq>=1.8.0",
|
| 33 |
+
"ragas>=0.2.13",
|
| 34 |
+
"rapidfuzz>=3.12.1"
|
| 35 |
+
]
|
| 36 |
|
| 37 |
+
[build-system]
|
| 38 |
+
requires = ["hatchling"]
|
| 39 |
+
build-backend = "hatchling.build"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
[tool.black]
|
| 42 |
line-length = 88
|
|
|
|
| 64 |
python_version = "3.11"
|
| 65 |
warn_return_any = true
|
| 66 |
warn_unused_configs = true
|
| 67 |
+
check_untyped_defs = true
|
|
|
|
|
|
|
|
|
|
|
|
requirements.txt
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
jupyter
|
| 2 |
+
notebook
|
| 3 |
+
ipykernel>=6.29.0
|
| 4 |
+
beautifulsoup4>=4.12.0
|
| 5 |
+
scrapy>=2.11.0
|
| 6 |
+
playwright>=1.42.0
|
| 7 |
+
pandas>=2.2.0
|
| 8 |
+
numpy>=1.26.0
|
| 9 |
+
langchain>=0.1.0
|
| 10 |
+
langgraph>=0.0.19
|
| 11 |
+
chainlit>=0.7.700
|
| 12 |
+
transformers>=4.37.0
|
| 13 |
+
datasets>=2.17.0
|
| 14 |
+
torch==2.1.2
|
| 15 |
+
sentence-transformers>=2.5.0
|
| 16 |
+
python-dotenv>=1.0.0
|
| 17 |
+
requests>=2.28.1
|
| 18 |
+
openai>=1.63.2,<2.0.0
|
| 19 |
+
langchain-openai>=0.3.6,<0.4.0
|
| 20 |
+
langchain-community>=0.3.18,<0.4.0
|
| 21 |
+
faiss-cpu>=1.7.4
|
| 22 |
+
jq>=1.8.0
|
| 23 |
+
ragas>=0.2.13
|
| 24 |
+
rapidfuzz>=3.12.1
|