serpent-os / tools

The home of moss (system state manager) and boulder (moss format build tool)
https://serpentos.com
132 stars 12 forks source link

boulder: Add support for automatic python dependencies #337

Closed joebonrichie closed 1 week ago

joebonrichie commented 1 month ago

Compiles get-py-deps.py into the binary then executes at runtime using python3 -c

get-py-deps.py uses importlib.metadata from the python std to get a list of dependencies from either .egg-info or .dist-info paths. Then uses APIs from packaging to sanitize those dependencies.

By default "extra" dependencies are ignored and it is up to the packager's discrection to optionally include them. Dependencies that depend on environmental markers e.g. Windows, python3 > $version will be correctly evaluated and included if necessary.

Depends on https://github.com/serpent-os/recipes/pull/359

joebonrichie commented 1 month ago

I guess we should try this then see where the shortcomings are, then we'll find out if we need a way to break autodeps or not.

ikeycode commented 1 week ago

waiting for 359 to complete then will deploy