Skip to content

Investigate slimming down the container image #7

Description

@jl-0

Context

The Containerfile currently clones emit-sds-l2b and installs heavy conda dependencies (gdal, pandas, scipy, matplotlib) via pixi to support the full L2B post-processing pipeline (aggregator.py, group_aggregator.py, output_conversion.py).

However, tetracorder-lite's core scope is:

  1. Run tetracorder (tetrapy run/setup/tetrun) — shells out to the compiled Fortran binaries
  2. Build convolved libraries (tetrapy convolve) — pure Python, only needs numpy + click

Neither of these depends on gdal, pandas, scipy, matplotlib, emit-utils, or the emit-sds-l2b repo.

Proposal

Investigate whether the L2B dependencies can be removed (or made optional) to reduce image size and build time. Options:

  • Remove entirely if full L2B processing doesn't belong in this container
  • Multi-stage or separate image if both use cases need to coexist
  • Optional pixi environment so the base image stays lean

Questions to resolve

  • Is there a use case for running aggregator.py inside this container, or does that happen elsewhere in the pipeline?
  • Does James's tetrapy patch command (which processes the expert file for L2B compatibility) need any of these deps?
  • Could emit-sds-l2b be a proper pip-installable package instead of a raw git clone?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions