ray icon indicating copy to clipboard operation
ray copied to clipboard

[Feature] Core: Python 3.12 wheel

Open austinnichols101 opened this issue 2 years ago • 15 comments

Description

Add support for Ray with python 3.12

Python 3.12.0 final released on Monday, 2023-10-02.

Use case

  • The asyncio package has had a number of performance improvements, with some benchmarks showing a 75% speed up.

  • Replace the builtin hashlib implementations of SHA1, SHA3, SHA2-384, SHA2-512, and MD5 with formally verified code from the HACL* project. These builtin implementations remain as fallbacks that are only used when OpenSSL does not provide them.

  • CPython support for the Linux perf profiler

  • Stack overflow protection on supported platforms

https://docs.python.org/3.12/whatsnew/3.12.html

austinnichols101 avatar Oct 09 '23 15:10 austinnichols101

I would find Python 3.12 support including wheels also very welcome!

EwoutH avatar Oct 15 '23 08:10 EwoutH

how is this going? it's the only thing that is pinning us to 3.11.x rebuilding our amazon ami linux based container and seeing this:

#0 2.371 ERROR: Could not find a version that satisfies the requirement ray[default] (from versions: none)

dss010101 avatar Nov 18 '23 00:11 dss010101

same here, ray is last library that is holding us on 3.11

Zmrzka avatar Nov 22 '23 15:11 Zmrzka

are we still pinned < 3.12? feel this should be higher priority as you're asking devs to choose between the language or your library.

dss010101 avatar Dec 14 '23 19:12 dss010101

Can any devs speak to a rough timeframe for 3.12 support?

virtualluke avatar Dec 21 '23 15:12 virtualluke

any updates on this, when can we expect Python3.12 support?

MehulBatra avatar Jan 07 '24 20:01 MehulBatra

@can-anyscale Given Python 3.12's substantial performance improvements in asyncio and several other modules, can we please understand what are the blockers to migrating to Py3.12?

Is Python 3.12 compatibility related to #41373 or are there unrelated todos?

cclauss avatar Jan 13 '24 08:01 cclauss

Hi @cclauss and folks, it's exciting to see the community enthusiasm for Python 3.12. We are still behind on this. At this point, we are focusing on supporting ray-ml for python 3.11 (as you might know, ray supports the release of 3 artifacts ray, ray docker and ray-ml docker, and we are way too overdue for the ray-ml community), which is planned for 2.11 the latest (https://github.com/ray-project/ray/issues/42343). The plan is to look into Python 3.12 after that. CC: @richardliaw

can-anyscale avatar Jan 16 '24 17:01 can-anyscale

any further updates?

dss010101 avatar Mar 15 '24 23:03 dss010101

+1, I wish to move to ray rllib for its efficiency in RL training. But my project needs Python>=3.12.

MARMOTatZJU avatar Mar 18 '24 00:03 MARMOTatZJU

Please follow https://github.com/ray-project/ray/issues/42343 first for the support of ml/rllib for python 3.11. Note that python 3.11 is already supported for ray-core. We'll work on supoprting python 3.12 after that.

can-anyscale avatar Mar 18 '24 02:03 can-anyscale

With https://github.com/ray-project/ray/issues/42343 closed, what is left to get Ray for Python 3.12 out?

abitrolly avatar Apr 28 '24 02:04 abitrolly

unfortunately, we went back to python multi-processing. ray is feeling a bit neglected and that's concerning for a production system. A shame cause i did see the benefits of it and sold it to the team....problem now is given the project is in prod...its hard sell to go back .

dss010101 avatar Apr 28 '24 02:04 dss010101

Hi folks, thank you for your continuous interest. We take it seriously that Ray continues to be your top choices for building ML applications. We're actively discussing this internally, and I hope to provide you all with a more concrete timeline for the upgrade this week or next.

can-anyscale avatar Apr 29 '24 22:04 can-anyscale

@dss010101 could we follow up on Ray Slack; would love to learn more about your go to production plans and how we could help.

My handle is "anyscalesam"

anyscalesam avatar Apr 30 '24 01:04 anyscalesam

@can-anyscale

Any update ?

alkment avatar May 09 '24 15:05 alkment

hi yes, @aslonnie will oversee the overall upgrading effort going forward; CC: @jjyao for python 3.12 upgrade in particular, my understanding is somewhere between June 1st-15th

can-anyscale avatar May 09 '24 16:05 can-anyscale

Given that Python 3.13 beta is now released, can the automated tests also be started on that?

  • https://www.python.org/downloads/release/python-3130b1/

cclauss avatar May 10 '24 06:05 cclauss

#45477

tonal avatar May 22 '24 04:05 tonal

JFYI to community - we (Anyscale) are actively working on enabling this.

anyscalesam avatar May 28 '24 22:05 anyscalesam

FYI, we're releasing the Ray wheel for Python 3.12 in phases:

  • First Phase: The nightly wheel version is now available. You can find the download and installation instructions here. Consider this an alpha release—your feedback and bug reports during this phase will be greatly appreciated.

  • Second Phase: The general availability (GA) release version of the wheel will be made available on PyPI. This is not yet available. This version will undergo rigorous testing to ensure all core and library features are fully functional. We'll provide more updates after further assessment.

Thanks!

can-anyscale avatar Jun 04 '24 21:06 can-anyscale

Hi @can-anyscale @anyscalesam, any updates on this? The Ray project is very much being held back without Python 3.12 support.

mstfbl avatar Jun 21 '24 04:06 mstfbl

@mstfbl and everyone, thank you for your feedback. We hear you, and delivering on this is our top priority. However, we have many significant obstacles to address. We aim to keep the community updated more regularly on this matter.

  • The experimental version of Python 3.12 is now available: https://github.com/ray-project/ray/issues/45904.
  • My current work to integrate Python 3.12 into the entire Ray ecosystem can be found here: https://github.com/ray-project/ray/pull/45726. This task is highly complex since Ray supports numerous ecosystems and dependencies, many of which do not yet support Python 3.12 (e.g., Horovod, Gymnasium, Sklearn, MosaicML, among others). We are making strategic decisions to allow the community to benefit from parts of Ray, rather than delaying an entire Ray release. Stay tuned for updates.

Please provide your feedback at https://github.com/ray-project/ray/issues/45904. We will maintain more regular communication on this topic there. Thank you.

can-anyscale avatar Jun 21 '24 17:06 can-anyscale