Uploaded image for project: 'AI Platform Core Components'
  1. AI Platform Core Components
  2. AIPCC-91

deliver upstream build of Ray

      Goal:

      Build Ray https://pypi.org/project/ray/ from sources

      Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI libraries for simplifying ML compute

      Background:

      • PCC-ADR029 documents the decision to deliver the upstream wheel for ray

      Acceptance Criteria:

      • Configure the builder to treat ray as pre-built, and deliver the upstream wheel
      • All installation-time dependencies of Ray are built from source
         

      Open questions:

      Ray is a long list of extra features with additiona requirements. Which extras are needed?

      provides_extras: ['adag', 'air', 'all', 'all-cpp', 'client', 'cpp', 'data', 'default', 'observability', 'rllib', 'serve', 'serve-grpc', 'train', 'tune']
      

      The docs https://docs.ray.io/en/latest/ray-overview/installation.html recommend ray[data,train,tune,serve].

      $ python3.11 -m venv --clear --upgrade-deps raytest
      $ . raytest/bin/activate
      $ pip install ray[data,train,tune,serve]
      $ pip freeze
      aiohappyeyeballs==2.4.3
      aiohttp==3.11.2
      aiohttp-cors==0.7.0
      aiosignal==1.3.1
      annotated-types==0.7.0
      anyio==4.6.2.post1
      attrs==24.2.0
      cachetools==5.5.0
      certifi==2024.8.30
      charset-normalizer==3.4.0
      click==8.1.7
      colorful==0.5.6
      distlib==0.3.9
      fastapi==0.115.5
      filelock==3.16.1
      frozenlist==1.5.0
      fsspec==2024.10.0
      google-api-core==2.23.0
      google-auth==2.36.0
      googleapis-common-protos==1.66.0
      grpcio==1.68.0
      h11==0.14.0
      httptools==0.6.4
      idna==3.10
      Jinja2==3.1.4
      jsonschema==4.23.0
      jsonschema-specifications==2024.10.1
      linkify-it-py==2.0.3
      markdown-it-py==3.0.0
      MarkupSafe==3.0.2
      mdit-py-plugins==0.4.2
      mdurl==0.1.2
      memray==1.14.0
      msgpack==1.1.0
      multidict==6.1.0
      numpy==2.1.3
      opencensus==0.11.4
      opencensus-context==0.1.3
      packaging==24.2
      pandas==2.2.3
      platformdirs==4.3.6
      prometheus_client==0.21.0
      propcache==0.2.0
      proto-plus==1.25.0
      protobuf==5.28.3
      py-spy==0.4.0
      pyarrow==18.0.0
      pyasn1==0.6.1
      pyasn1_modules==0.4.1
      pydantic==2.9.2
      pydantic_core==2.23.4
      Pygments==2.18.0
      python-dateutil==2.9.0.post0
      python-dotenv==1.0.1
      pytz==2024.2
      PyYAML==6.0.2
      ray==2.39.0
      referencing==0.35.1
      requests==2.32.3
      rich==13.9.4
      rpds-py==0.21.0
      rsa==4.9
      six==1.16.0
      smart-open==7.0.5
      sniffio==1.3.1
      starlette==0.41.2
      tensorboardX==2.6.2.2
      textual==0.86.1
      typing_extensions==4.12.2
      tzdata==2024.2
      uc-micro-py==1.0.3
      urllib3==2.2.3
      uvicorn==0.32.0
      uvloop==0.21.0
      virtualenv==20.27.1
      watchfiles==0.24.0
      websockets==14.1
      wrapt==1.16.0
      yarl==1.17.2
      
      [
        "click >=7.0",
        "filelock",
        "jsonschema",
        "msgpack <2.0.0,>=1.0.0",
        "packaging",
        "protobuf !=3.19.5,>=3.15.3",
        "pyyaml",
        "aiosignal",
        "frozenlist",
        "requests",
        "cupy-cuda12x ; (sys_platform != \"darwin\") and extra == 'adag'",
        "opencensus ; extra == 'air'",
        "starlette ; extra == 'air'",
        "fastapi ; extra == 'air'",
        "colorful ; extra == 'air'",
        "numpy >=1.20 ; extra == 'air'",
        "prometheus-client >=0.7.1 ; extra == 'air'",
        "pandas ; extra == 'air'",
        "fsspec ; extra == 'air'",
        "tensorboardX >=1.9 ; extra == 'air'",
        "aiohttp >=3.7 ; extra == 'air'",
        "py-spy >=0.2.0 ; extra == 'air'",
        "pandas >=1.3 ; extra == 'air'",
        "virtualenv !=20.21.1,>=20.0.24 ; extra == 'air'",
        "uvicorn[standard] ; extra == 'air'",
        "aiohttp-cors ; extra == 'air'",
        "requests ; extra == 'air'",
        "pydantic !=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3 ; extra == 'air'",
        "pyarrow >=6.0.1 ; extra == 'air'",
        "smart-open ; extra == 'air'",
        "watchfiles ; extra == 'air'",
        "grpcio >=1.32.0 ; (python_version < \"3.10\") and extra == 'air'",
        "grpcio >=1.42.0 ; (python_version >= \"3.10\") and extra == 'air'",
        "memray ; (sys_platform != \"win32\") and extra == 'air'",
        "pyarrow <18 ; (sys_platform == \"darwin\" and platform_machine == \"x86_64\") and extra == 'air'",
        "opencensus ; extra == 'all'",
        "starlette ; extra == 'all'",
        "fastapi ; extra == 'all'",
        "gymnasium ==1.0.0 ; extra == 'all'",
        "colorful ; extra == 'all'",
        "scipy ; extra == 'all'",
        "numpy >=1.20 ; extra == 'all'",
        "prometheus-client >=0.7.1 ; extra == 'all'",
        "grpcio ; extra == 'all'",
        "pyyaml ; extra == 'all'",
        "pandas ; extra == 'all'",
        "dm-tree ; extra == 'all'",
        "fsspec ; extra == 'all'",
        "tensorboardX >=1.9 ; extra == 'all'",
        "scikit-image ; extra == 'all'",
        "aiohttp >=3.7 ; extra == 'all'",
        "py-spy >=0.2.0 ; extra == 'all'",
        "opentelemetry-sdk ; extra == 'all'",
        "opentelemetry-api ; extra == 'all'",
        "pandas >=1.3 ; extra == 'all'",
        "virtualenv !=20.21.1,>=20.0.24 ; extra == 'all'",
        "uvicorn[standard] ; extra == 'all'",
        "aiohttp-cors ; extra == 'all'",
        "requests ; extra == 'all'",
        "opentelemetry-exporter-otlp ; extra == 'all'",
        "pyOpenSSL ; extra == 'all'",
        "pydantic !=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3 ; extra == 'all'",
        "typer ; extra == 'all'",
        "lz4 ; extra == 'all'",
        "rich ; extra == 'all'",
        "pyarrow >=6.0.1 ; extra == 'all'",
        "smart-open ; extra == 'all'",
        "watchfiles ; extra == 'all'",
        "opencensus ; extra == 'all-cpp'",
        "starlette ; extra == 'all-cpp'",
        "fastapi ; extra == 'all-cpp'",
        "gymnasium ==1.0.0 ; extra == 'all-cpp'",
        "colorful ; extra == 'all-cpp'",
        "scipy ; extra == 'all-cpp'",
        "numpy >=1.20 ; extra == 'all-cpp'",
        "prometheus-client >=0.7.1 ; extra == 'all-cpp'",
        "grpcio ; extra == 'all-cpp'",
        "pyyaml ; extra == 'all-cpp'",
        "pandas ; extra == 'all-cpp'",
        "dm-tree ; extra == 'all-cpp'",
        "fsspec ; extra == 'all-cpp'",
        "tensorboardX >=1.9 ; extra == 'all-cpp'",
        "scikit-image ; extra == 'all-cpp'",
        "aiohttp >=3.7 ; extra == 'all-cpp'",
        "py-spy >=0.2.0 ; extra == 'all-cpp'",
        "opentelemetry-sdk ; extra == 'all-cpp'",
        "opentelemetry-api ; extra == 'all-cpp'",
        "pandas >=1.3 ; extra == 'all-cpp'",
        "virtualenv !=20.21.1,>=20.0.24 ; extra == 'all-cpp'",
        "uvicorn[standard] ; extra == 'all-cpp'",
        "aiohttp-cors ; extra == 'all-cpp'",
        "requests ; extra == 'all-cpp'",
        "opentelemetry-exporter-otlp ; extra == 'all-cpp'",
        "pyOpenSSL ; extra == 'all-cpp'",
        "ray-cpp ==2.39.0 ; extra == 'all-cpp'",
        "pydantic !=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3 ; extra == 'all-cpp'",
        "typer ; extra == 'all-cpp'",
        "lz4 ; extra == 'all-cpp'",
        "rich ; extra == 'all-cpp'",
        "pyarrow >=6.0.1 ; extra == 'all-cpp'",
        "smart-open ; extra == 'all-cpp'",
        "watchfiles ; extra == 'all-cpp'",
        "grpcio >=1.32.0 ; (python_version < \"3.10\") and extra == 'all-cpp'",
        "grpcio >=1.42.0 ; (python_version >= \"3.10\") and extra == 'all-cpp'",
        "cupy-cuda12x ; (sys_platform != \"darwin\") and extra == 'all-cpp'",
        "memray ; (sys_platform != \"win32\") and extra == 'all-cpp'",
        "pyarrow <18 ; (sys_platform == \"darwin\" and platform_machine == \"x86_64\") and extra == 'all-cpp'",
        "grpcio >=1.32.0 ; (python_version < \"3.10\") and extra == 'all'",
        "grpcio >=1.42.0 ; (python_version >= \"3.10\") and extra == 'all'",
        "cupy-cuda12x ; (sys_platform != \"darwin\") and extra == 'all'",
        "memray ; (sys_platform != \"win32\") and extra == 'all'",
        "pyarrow <18 ; (sys_platform == \"darwin\" and platform_machine == \"x86_64\") and extra == 'all'",
        "grpcio ; extra == 'client'",
        "ray-cpp ==2.39.0 ; extra == 'cpp'",
        "numpy >=1.20 ; extra == 'data'",
        "pandas >=1.3 ; extra == 'data'",
        "pyarrow >=6.0.1 ; extra == 'data'",
        "fsspec ; extra == 'data'",
        "pyarrow <18 ; (sys_platform == \"darwin\" and platform_machine == \"x86_64\") and extra == 'data'",
        "aiohttp >=3.7 ; extra == 'default'",
        "aiohttp-cors ; extra == 'default'",
        "colorful ; extra == 'default'",
        "py-spy >=0.2.0 ; extra == 'default'",
        "requests ; extra == 'default'",
        "opencensus ; extra == 'default'",
        "pydantic !=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3 ; extra == 'default'",
        "prometheus-client >=0.7.1 ; extra == 'default'",
        "smart-open ; extra == 'default'",
        "virtualenv !=20.21.1,>=20.0.24 ; extra == 'default'",
        "grpcio >=1.32.0 ; (python_version < \"3.10\") and extra == 'default'",
        "grpcio >=1.42.0 ; (python_version >= \"3.10\") and extra == 'default'",
        "memray ; (sys_platform != \"win32\") and extra == 'default'",
        "opentelemetry-api ; extra == 'observability'",
        "opentelemetry-sdk ; extra == 'observability'",
        "opentelemetry-exporter-otlp ; extra == 'observability'",
        "pandas ; extra == 'rllib'",
        "tensorboardX >=1.9 ; extra == 'rllib'",
        "requests ; extra == 'rllib'",
        "pyarrow >=6.0.1 ; extra == 'rllib'",
        "fsspec ; extra == 'rllib'",
        "dm-tree ; extra == 'rllib'",
        "gymnasium ==1.0.0 ; extra == 'rllib'",
        "lz4 ; extra == 'rllib'",
        "scikit-image ; extra == 'rllib'",
        "pyyaml ; extra == 'rllib'",
        "scipy ; extra == 'rllib'",
        "typer ; extra == 'rllib'",
        "rich ; extra == 'rllib'",
        "pyarrow <18 ; (sys_platform == \"darwin\" and platform_machine == \"x86_64\") and extra == 'rllib'",
        "py-spy >=0.2.0 ; extra == 'serve'",
        "pydantic !=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3 ; extra == 'serve'",
        "opencensus ; extra == 'serve'",
        "starlette ; extra == 'serve'",
        "fastapi ; extra == 'serve'",
        "colorful ; extra == 'serve'",
        "virtualenv !=20.21.1,>=20.0.24 ; extra == 'serve'",
        "smart-open ; extra == 'serve'",
        "uvicorn[standard] ; extra == 'serve'",
        "aiohttp-cors ; extra == 'serve'",
        "prometheus-client >=0.7.1 ; extra == 'serve'",
        "requests ; extra == 'serve'",
        "watchfiles ; extra == 'serve'",
        "aiohttp >=3.7 ; extra == 'serve'",
        "py-spy >=0.2.0 ; extra == 'serve-grpc'",
        "pydantic !=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3 ; extra == 'serve-grpc'",
        "opencensus ; extra == 'serve-grpc'",
        "starlette ; extra == 'serve-grpc'",
        "fastapi ; extra == 'serve-grpc'",
        "colorful ; extra == 'serve-grpc'",
        "virtualenv !=20.21.1,>=20.0.24 ; extra == 'serve-grpc'",
        "smart-open ; extra == 'serve-grpc'",
        "uvicorn[standard] ; extra == 'serve-grpc'",
        "aiohttp-cors ; extra == 'serve-grpc'",
        "prometheus-client >=0.7.1 ; extra == 'serve-grpc'",
        "requests ; extra == 'serve-grpc'",
        "pyOpenSSL ; extra == 'serve-grpc'",
        "watchfiles ; extra == 'serve-grpc'",
        "aiohttp >=3.7 ; extra == 'serve-grpc'",
        "grpcio >=1.32.0 ; (python_version < \"3.10\") and extra == 'serve-grpc'",
        "grpcio >=1.42.0 ; (python_version >= \"3.10\") and extra == 'serve-grpc'",
        "memray ; (sys_platform != \"win32\") and extra == 'serve-grpc'",
        "grpcio >=1.32.0 ; (python_version < \"3.10\") and extra == 'serve'",
        "grpcio >=1.42.0 ; (python_version >= \"3.10\") and extra == 'serve'",
        "memray ; (sys_platform != \"win32\") and extra == 'serve'",
        "pandas ; extra == 'train'",
        "tensorboardX >=1.9 ; extra == 'train'",
        "requests ; extra == 'train'",
        "pyarrow >=6.0.1 ; extra == 'train'",
        "fsspec ; extra == 'train'",
        "pyarrow <18 ; (sys_platform == \"darwin\" and platform_machine == \"x86_64\") and extra == 'train'",
        "pandas ; extra == 'tune'",
        "tensorboardX >=1.9 ; extra == 'tune'",
        "requests ; extra == 'tune'",
        "pyarrow >=6.0.1 ; extra == 'tune'",
        "fsspec ; extra == 'tune'",
        "pyarrow <18 ; (sys_platform == \"darwin\" and platform_machine == \"x86_64\") and extra == 'tune'"
      ]
      

              prarit@redhat.com Prarit Bhargava
              cheimes@redhat.com Christian Heimes
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: