Does anyone know of any prior art/discussions on n...
# development
g
Does anyone know of any prior art/discussions on native wheels built with Pants? Trying to delineate the responsibilities of
python_distribution
,
environments
, and whatever targets I need on the Rust side to support building a matrix of platforms, architectures, and Python versions.
This sort of ties into how it works for local/pex too... In order to build the extension the cargo build has to see the right interpreter/constraints, but there's no current way as far as I can tell. So definitely needs a few hooks in general which is some "specific" form of build-package for native extension with the metadata about version(s), platform(s), and architecture(s). I think maybe
python_distribution
seems to only talk about a single wheel. Maybe there should be a
python_distribution*s*
? A lot of wheel specific work can definitely be done with macros to generate the right set of native libs, tie them to a dist-variant, etc. But that still leaves native.
Right now I've hooked myself onto codegen just to make the .so get included, but that doesn't actually give me information on what should be done, or even what resolve (??) it relates to which is a bit awkward.
I think probably all of this should be on environment except interpreter constraints, maybe... if
python_distribution
was environment-aware it seems like it'd work.