indygreg / python-build-standalone

Produce redistributable builds of Python
BSD 3-Clause "New" or "Revised" License
1.75k stars 109 forks source link

Request for release #115

Closed UebelAndre closed 2 years ago

UebelAndre commented 2 years ago

Hi, would it be possible to get a new release to include tar.gz archives (from https://github.com/indygreg/python-build-standalone/issues/79)? Additionally, since python3.7 is not yet EOL, could that be included in the next release?

indygreg commented 2 years ago

Yes. I tried to perform a release last weekend and ran into issues with the release script. I'm resuming work this weekend and am confident I'll get a release out the door today.

UebelAndre commented 2 years ago

@indygreg Thanks! Would it be possible to include python3.7 binaries in the next release?

indygreg commented 2 years ago

The release is in the process of uploading: https://github.com/indygreg/python-build-standalone/releases/tag/20220222

It is not possible to add Python 3.7 binaries. Support for Python 3.7 was dropped in December 2020 (c76ba72ad5484fcbccaa0cd1103a561fabffc008) because I deemed it too difficult to support. The transition from 3.7 to 3.8 was relatively smooth (as was 3.8 -> 3.9 and 3.9 -> 3.10) and I'd encourage anyone using 3.7 to upgrade.

UebelAndre commented 2 years ago

The release is in the process of uploading: https://github.com/indygreg/python-build-standalone/releases/tag/20220222

It is not possible to add Python 3.7 binaries. Support for Python 3.7 was dropped in December 2020 (c76ba72) because I deemed it too difficult to support. The transition from 3.7 to 3.8 was relatively smooth (as was 3.8 -> 3.9 and 3.9 -> 3.10) and I'd encourage anyone using 3.7 to upgrade.

Sounds reasonable. Final question, why are there only .tar.gz files of the install-only artifacts?

indygreg commented 2 years ago

I want to minimize the total size of published artifacts. I could probably publish .tar.zst of the installation only artifacts if someone said they'd use it.

UebelAndre commented 2 years ago

There's interest in using tar.gz artifacts in https://github.com/bazelbuild/rules_python/pull/618 as they're easy for Bazel to extract. If install-only artifacts contain everything needed in a python toolchain, then that seems fine, but as of now the pgo+lto artifacts are used. What do you think would be best for Bazel users?

indygreg commented 2 years ago

I'm definitely willing to accommodate Bazel! Please file issue requests for anything that would help out Bazel.

FWIW I've long thought about refactoring the build system of this project to use Bazel. I wanted to do it at the inception of this project but Bazel wasn't stable at the time.

UebelAndre commented 2 years ago

I'm definitely willing to accommodate Bazel! Please file issue requests for anything that would help out Bazel.

I think this release helps a lot already so thank you! The last question here is where can I read about what install-only artifacts are? I'm hoping that's all that'll be needed to get a working toolchain.

indygreg commented 2 years ago

The install-only artifacts are just the .tar.zst artifacts with python/install/* rewritten to python/*. See https://github.com/indygreg/python-build-standalone/blob/fc5a128fe3c6d2b517754a41400162a71b05bcba/pythonbuild/utils.py#L401.

UebelAndre commented 2 years ago

Thanks! As far as Bazel support goes, I think https://github.com/indygreg/python-build-standalone/issues/116 would provide all that's needed.