Closed tiran closed 1 month ago
In downstream we also depend on Twine. I submitted and landed a change that makes it possible to install Twine without keyring and cryptography, https://github.com/pypa/twine/issues/1158 . The change has not been released, yet.
Fromager 0.30 depends on several Python packages with platform-specific extensions. Platlib wheels complicate bootstrapping of Fromager on a new platform or CPU architecture.
charset_normalizer
(dependency of `requests) has an optional extension modulecryptography
(dependency ofPyGitHub
) needs OpenSSL, Rust, cargocffi
(dependency of `cryptography) needs libffi, C compilerpsutil
needs C compilerpydantic-core
needs Rust and maturinPyNaCl
(dependency ofPyGitHub
) needs C compilerPyYAML
has an optional extension module that can be disabled withPYYAML_FORCE_LIBYAML=0
.wrapt
(dependency ofPyGitHub
) needs C compilerSome upstream projects (
cryptography
,PyNaCl
,psutil
,PyYAML
) do not provide wheels for CPU archs likeppc64le
ands390x
. Cryptography is not going to provide them until upstream project has access to hardware for fast CI/CD.We should try to reduce our dependency on platlib wheels to make bootstrapping easier.
PyGitHub
is a low hanging fruit. Fromager uses it to fetch a list of tags and tarball links from GH API. The feature can be re-implemented in a few lines of code.