xenfra 0.1.3__py3-none-any.whl → 0.1.5__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.
xenfra/dockerizer.py
CHANGED
|
@@ -63,25 +63,28 @@ def generate_deployment_assets(context):
|
|
|
63
63
|
# Modern pip can install from pyproject.toml directly
|
|
64
64
|
install_cmd = "RUN pip install ."
|
|
65
65
|
|
|
66
|
-
dockerfile_content = f"""# Generated by Xenfra
|
|
67
|
-
FROM python:3.
|
|
66
|
+
dockerfile_content = f"""# Generated by Xenfra (Robust v2)
|
|
67
|
+
FROM python:3.13-slim
|
|
68
68
|
|
|
69
69
|
WORKDIR /app
|
|
70
70
|
|
|
71
|
-
# Install
|
|
72
|
-
RUN
|
|
71
|
+
# Install uv via pip
|
|
72
|
+
RUN pip install uv
|
|
73
73
|
|
|
74
|
-
# Copy
|
|
75
|
-
COPY
|
|
76
|
-
COPY pyproject.toml* .
|
|
77
|
-
COPY uv.lock* .
|
|
74
|
+
# Copy only the dependency file first to leverage Docker layer caching
|
|
75
|
+
COPY pyproject.toml .
|
|
78
76
|
|
|
79
|
-
# Install
|
|
80
|
-
|
|
77
|
+
# Install dependencies from pyproject.toml
|
|
78
|
+
# This is more robust than `pip install .` as it doesn't build the local package
|
|
79
|
+
RUN uv pip install --system -r pyproject.toml
|
|
81
80
|
|
|
82
|
-
# Copy
|
|
81
|
+
# Copy the rest of the application code
|
|
83
82
|
COPY . .
|
|
84
83
|
|
|
84
|
+
# Add the 'src' directory to Python's path
|
|
85
|
+
# This allows imports to work correctly for projects with a src/ layout
|
|
86
|
+
ENV PYTHONPATH="${{PYTHONPATH}}:/app/src"
|
|
87
|
+
|
|
85
88
|
# Expose Port
|
|
86
89
|
EXPOSE {port}
|
|
87
90
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
xenfra/__init__.py,sha256=ja0-Vc9T61EXZnPeX84Fi-UOjoGAWu5r90_1t-0WjVw,46
|
|
2
2
|
xenfra/cli.py,sha256=3c6EFZuiq2ede3S5WKskrFgup769ECXYMLEMWfeaLo8,6105
|
|
3
|
-
xenfra/dockerizer.py,sha256=
|
|
3
|
+
xenfra/dockerizer.py,sha256=exmmzCHi55FR0PS5TzyK7xKd4FYreaYSPg1cwVkyJj0,4289
|
|
4
4
|
xenfra/engine.py,sha256=wIlVC9krILGY2xmp5CFBPyNsI2ugy1e4cR9YruYLNzI,10636
|
|
5
5
|
xenfra/recipes.py,sha256=rf6dqrbc9P-LPMDQMt2iL100kVMhbWJRgfGYKJ5gqBQ,3780
|
|
6
6
|
xenfra/utils.py,sha256=aGXjJm-pwVCHuCn5UBdrxRcYvM8aJwHQ1kihl7gcxiM,2387
|
|
7
|
-
xenfra-0.1.
|
|
8
|
-
xenfra-0.1.
|
|
9
|
-
xenfra-0.1.
|
|
10
|
-
xenfra-0.1.
|
|
7
|
+
xenfra-0.1.5.dist-info/WHEEL,sha256=ZyFSCYkV2BrxH6-HRVRg3R9Fo7MALzer9KiPYqNxSbo,79
|
|
8
|
+
xenfra-0.1.5.dist-info/entry_points.txt,sha256=pLGDlV0SH2hWunZJcEY7UkLLleMExFBaxgxRKYhU9mw,44
|
|
9
|
+
xenfra-0.1.5.dist-info/METADATA,sha256=edhz1XeQ4v25q7zoO0Xvx_bmY4AbHp1j7OhzYiFXZtI,4222
|
|
10
|
+
xenfra-0.1.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|