cycls 0.0.2.71__tar.gz → 0.0.2.72__tar.gz
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.
- {cycls-0.0.2.71 → cycls-0.0.2.72}/PKG-INFO +1 -1
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/runtime.py +11 -6
- {cycls-0.0.2.71 → cycls-0.0.2.72}/pyproject.toml +1 -1
- {cycls-0.0.2.71 → cycls-0.0.2.72}/README.md +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/__init__.py +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/auth.py +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/cli.py +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/default-theme/assets/index-B0ZKcm_V.css +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/default-theme/assets/index-D5EDcI4J.js +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/default-theme/index.html +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/dev-theme/index.html +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/sdk.py +0 -0
- {cycls-0.0.2.71 → cycls-0.0.2.72}/cycls/web.py +0 -0
|
@@ -178,9 +178,11 @@ class Runtime:
|
|
|
178
178
|
|
|
179
179
|
def _generate_dockerfile(self, port=None) -> str:
|
|
180
180
|
"""Generates a multi-stage Dockerfile string."""
|
|
181
|
-
|
|
181
|
+
using_base = self.base_image == BASE_IMAGE
|
|
182
|
+
|
|
183
|
+
# Only install extra packages not in base image (use uv if available in base)
|
|
182
184
|
run_pip_install = (
|
|
183
|
-
f"RUN pip install --no-cache
|
|
185
|
+
f"RUN uv pip install --system --no-cache {' '.join(self.pip_packages)}"
|
|
184
186
|
if self.pip_packages else ""
|
|
185
187
|
)
|
|
186
188
|
run_apt_install = (
|
|
@@ -191,16 +193,19 @@ class Runtime:
|
|
|
191
193
|
copy_lines = "\n".join([f"COPY context_files/{dst} {dst}" for dst in self.copy.values()])
|
|
192
194
|
expose_line = f"EXPOSE {port}" if port else ""
|
|
193
195
|
|
|
196
|
+
# Skip env/mkdir/workdir if using pre-built base (already configured)
|
|
197
|
+
env_lines = "" if using_base else f"""ENV PIP_ROOT_USER_ACTION=ignore \\
|
|
198
|
+
PYTHONUNBUFFERED=1
|
|
199
|
+
RUN mkdir -p {self.io_dir}
|
|
200
|
+
WORKDIR /app"""
|
|
201
|
+
|
|
194
202
|
return f"""
|
|
195
203
|
# STAGE 1: Base image with all dependencies
|
|
196
204
|
FROM {self.base_image} as base
|
|
197
|
-
|
|
198
|
-
ENV PYTHONUNBUFFERED=1
|
|
199
|
-
RUN mkdir -p {self.io_dir}
|
|
205
|
+
{env_lines}
|
|
200
206
|
{run_apt_install}
|
|
201
207
|
{run_pip_install}
|
|
202
208
|
{run_shell_commands}
|
|
203
|
-
WORKDIR /app
|
|
204
209
|
{copy_lines}
|
|
205
210
|
COPY {self.runner_filename} {self.runner_path}
|
|
206
211
|
ENTRYPOINT ["python", "{self.runner_path}", "{self.io_dir}"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|