173 lines
2.7 KiB
Nix
173 lines
2.7 KiB
Nix
{ aiohttp
|
|
, aiohttp-cors
|
|
, aiorwlock
|
|
, aiosignal
|
|
, attrs
|
|
, autoPatchelfHook
|
|
, buildBazelPackage
|
|
, buildPythonPackage
|
|
, fetchPypi
|
|
, click
|
|
, cloudpickle
|
|
, colorama
|
|
, colorful
|
|
, cython
|
|
, dm-tree
|
|
, fastapi
|
|
, filelock
|
|
, frozenlist
|
|
, fsspec
|
|
, gpustat
|
|
, grpc
|
|
, grpcio
|
|
, gym
|
|
, jsonschema
|
|
, lib
|
|
, lz4
|
|
, matplotlib
|
|
, msgpack
|
|
, numpy
|
|
, opencensus
|
|
, packaging
|
|
, pandas
|
|
, py-spy
|
|
, prometheus-client
|
|
, protobuf3_20
|
|
, psutil
|
|
, pyarrow
|
|
, pydantic
|
|
, python
|
|
, pythonAtLeast
|
|
, pythonOlder
|
|
, pythonRelaxDepsHook
|
|
, pyyaml
|
|
, redis
|
|
, requests
|
|
, scikit-image
|
|
, scipy
|
|
, setproctitle
|
|
, smart-open
|
|
, starlette
|
|
, stdenv
|
|
, tabulate
|
|
, tensorboardx
|
|
, uvicorn
|
|
, virtualenv
|
|
}:
|
|
|
|
let
|
|
pname = "ray";
|
|
version = "2.4.0";
|
|
in
|
|
buildPythonPackage rec {
|
|
inherit pname version;
|
|
format = "wheel";
|
|
|
|
disabled = pythonOlder "3.9" || pythonAtLeast "3.12";
|
|
|
|
src =
|
|
let
|
|
pyShortVersion = "cp${builtins.replaceStrings ["."] [""] python.pythonVersion}";
|
|
binary-hash = (import ./binary-hashes.nix)."${pyShortVersion}" or {};
|
|
in
|
|
fetchPypi ({
|
|
inherit pname version format;
|
|
dist = pyShortVersion;
|
|
python = pyShortVersion;
|
|
abi = pyShortVersion;
|
|
platform = "manylinux2014_x86_64";
|
|
} // binary-hash);
|
|
|
|
passthru.optional-dependencies = rec {
|
|
data-deps = [
|
|
pandas
|
|
pyarrow
|
|
fsspec
|
|
];
|
|
|
|
serve-deps = [
|
|
aiorwlock
|
|
fastapi
|
|
pandas
|
|
starlette
|
|
uvicorn
|
|
];
|
|
|
|
tune-deps = [
|
|
tabulate
|
|
tensorboardx
|
|
];
|
|
|
|
rllib-deps = tune-deps ++ [
|
|
dm-tree
|
|
gym
|
|
lz4
|
|
matplotlib
|
|
scikit-image
|
|
pyyaml
|
|
scipy
|
|
];
|
|
|
|
air-deps = data-deps ++ serve-deps ++ tune-deps ++ rllib-deps;
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
autoPatchelfHook
|
|
pythonRelaxDepsHook
|
|
];
|
|
|
|
pythonRelaxDeps = [
|
|
"click"
|
|
"grpcio"
|
|
"protobuf"
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
attrs
|
|
aiohttp
|
|
aiohttp-cors
|
|
aiosignal
|
|
click
|
|
cloudpickle
|
|
colorama
|
|
colorful
|
|
cython
|
|
filelock
|
|
frozenlist
|
|
gpustat
|
|
grpcio
|
|
jsonschema
|
|
msgpack
|
|
numpy
|
|
opencensus
|
|
packaging
|
|
py-spy
|
|
prometheus-client
|
|
protobuf3_20
|
|
psutil
|
|
pydantic
|
|
pyyaml
|
|
requests
|
|
setproctitle
|
|
smart-open
|
|
virtualenv
|
|
];
|
|
|
|
postInstall = ''
|
|
chmod +x $out/${python.sitePackages}/ray/core/src/ray/{gcs/gcs_server,raylet/raylet}
|
|
'';
|
|
|
|
pythonImportsCheck = [
|
|
"ray"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "A unified framework for scaling AI and Python applications";
|
|
homepage = "https://github.com/ray-project/ray";
|
|
changelog = "https://github.com/ray-project/ray/releases/tag/ray-${version}";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ billhuang ];
|
|
platforms = [ "x86_64-linux" ];
|
|
};
|
|
}
|