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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cycls
3
- Version: 0.0.2.71
3
+ Version: 0.0.2.72
4
4
  Summary: Distribute Intelligence
5
5
  Author: Mohammed J. AlRujayi
6
6
  Author-email: mj@cycls.com
@@ -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
- # Only install extra packages not in base image
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-dir {' '.join(self.pip_packages)}"
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
- ENV PIP_ROOT_USER_ACTION=ignore
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}"]
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cycls"
3
- version = "0.0.2.71"
3
+ version = "0.0.2.72"
4
4
 
5
5
  packages = [{ include = "cycls" }]
6
6
  include = ["cycls/theme/**/*"]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes