Merge pull request #320018 from natsukium/bentoml/update

python311Packages.bentoml: 1.2.5 -> 1.2.18
This commit is contained in:
Yt 2024-06-15 11:59:17 +00:00 committed by GitHub
commit fde99b91c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,7 +1,10 @@
{ {
lib, lib,
stdenv,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
pythonOlder,
pythonRelaxDepsHook,
hatchling, hatchling,
hatch-vcs, hatch-vcs,
aiohttp, aiohttp,
@ -14,9 +17,11 @@
deepmerge, deepmerge,
fs, fs,
httpx, httpx,
httpx-ws,
inflection, inflection,
jinja2, jinja2,
numpy, numpy,
nvidia-ml-py,
opentelemetry-api, opentelemetry-api,
opentelemetry-instrumentation, opentelemetry-instrumentation,
opentelemetry-instrumentation-aiohttp-client, opentelemetry-instrumentation-aiohttp-client,
@ -30,16 +35,16 @@
pip-tools, pip-tools,
prometheus-client, prometheus-client,
psutil, psutil,
nvidia-ml-py,
python-dateutil, python-dateutil,
python-json-logger, python-json-logger,
python-multipart, python-multipart,
pyyaml, pyyaml,
requests,
rich, rich,
schema, schema,
simple-di, simple-di,
starlette, starlette,
tomli,
tomli-w,
uvicorn, uvicorn,
watchfiles, watchfiles,
fs-s3fs, fs-s3fs,
@ -49,7 +54,6 @@
protobuf, protobuf,
grpcio-channelz, grpcio-channelz,
grpcio-reflection, grpcio-reflection,
filetype,
pillow, pillow,
pydantic, pydantic,
pandas, pandas,
@ -62,6 +66,8 @@
tritonclient, tritonclient,
# native check inputs # native check inputs
pytestCheckHook, pytestCheckHook,
pytest-xdist,
google-api-python-client,
scikit-learn, scikit-learn,
lxml, lxml,
orjson, orjson,
@ -70,7 +76,7 @@
}: }:
let let
version = "1.2.5"; version = "1.2.18";
aws = [ fs-s3fs ]; aws = [ fs-s3fs ];
grpc = [ grpc = [
grpcio grpcio
@ -78,9 +84,7 @@ let
opentelemetry-instrumentation-grpc opentelemetry-instrumentation-grpc
protobuf protobuf
]; ];
io-file = [ filetype ]; io-image = [ pillow ];
io-image = io-file ++ [ pillow ];
io-json = [ pydantic ];
io-pandas = [ io-pandas = [
pandas pandas
pyarrow pyarrow
@ -91,16 +95,14 @@ let
# tracing-jaeger = [ opentelemetry-exporter-jaeger ]; # tracing-jaeger = [ opentelemetry-exporter-jaeger ];
tracing-otlp = [ opentelemetry-exporter-otlp ]; tracing-otlp = [ opentelemetry-exporter-otlp ];
# tracing-zipkin = [ opentelemetry-exporter-zipkin ]; # tracing-zipkin = [ opentelemetry-exporter-zipkin ];
io = io-json ++ io-image ++ io-pandas ++ io-file; io = io-image ++ io-pandas;
tracing = tracing-otlp; # ++ tracing-zipkin ++ tracing-jaeger tracing = tracing-otlp; # ++ tracing-zipkin ++ tracing-jaeger
optional-dependencies = { optional-dependencies = {
all = aws ++ io ++ grpc ++ grpc-reflection ++ grpc-channelz ++ tracing ++ monitor-otlp; all = aws ++ io ++ grpc ++ grpc-reflection ++ grpc-channelz ++ tracing ++ monitor-otlp;
inherit inherit
aws aws
grpc grpc
io-file
io-image io-image
io-json
io-pandas io-pandas
io io
grpc-reflection grpc-reflection
@ -109,37 +111,45 @@ let
tracing-otlp tracing-otlp
tracing tracing
; ;
triton = [ triton =
tritonclient [ tritonclient ]
] ++ tritonclient.optional-dependencies.http ++ tritonclient.optional-dependencies.grpc; ++ lib.optionals stdenv.hostPlatform.isLinux (
tritonclient.optional-dependencies.http ++ tritonclient.optional-dependencies.grpc
);
}; };
in in
buildPythonPackage { buildPythonPackage {
pname = "bentoml"; pname = "bentoml";
inherit version; inherit version;
format = "pyproject"; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bentoml"; owner = "bentoml";
repo = "BentoML"; repo = "BentoML";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-GBKxyjCs02mxYiMK4GhgFUATRCUSVf8mFbWjuPVD7SU="; hash = "sha256-giZteSikwS9YEcVMPCC9h2khbBgvUPRW1biAyixO13Y=";
}; };
# https://github.com/bentoml/BentoML/pull/4227 should fix this test nativeBuildInputs = [ pythonRelaxDepsHook ];
postPatch = ''
substituteInPlace tests/unit/_internal/utils/test_analytics.py \
--replace "requests" "httpx"
'';
pythonRelaxDeps = [ "opentelemetry-semantic-conventions" ]; pythonRelaxDeps = [
"cattrs"
"nvidia-ml-py"
"opentelemetry-api"
"opentelemetry-instrumentation-aiohttp-client"
"opentelemetry-instrumentation-asgi"
"opentelemetry-instrumentation"
"opentelemetry-sdk"
"opentelemetry-semantic-conventions"
"opentelemetry-util-http"
];
nativeBuildInputs = [ build-system = [
hatchling hatchling
hatch-vcs hatch-vcs
]; ];
propagatedBuildInputs = [ dependencies = [
aiohttp aiohttp
attrs attrs
cattrs cattrs
@ -150,9 +160,11 @@ buildPythonPackage {
deepmerge deepmerge
fs fs
httpx httpx
httpx-ws
inflection inflection
jinja2 jinja2
numpy numpy
nvidia-ml-py
opentelemetry-api opentelemetry-api
opentelemetry-instrumentation opentelemetry-instrumentation
opentelemetry-instrumentation-aiohttp-client opentelemetry-instrumentation-aiohttp-client
@ -166,21 +178,21 @@ buildPythonPackage {
pip-tools pip-tools
prometheus-client prometheus-client
psutil psutil
nvidia-ml-py pydantic
python-dateutil python-dateutil
python-json-logger python-json-logger
python-multipart python-multipart
pyyaml pyyaml
requests
rich rich
schema schema
simple-di simple-di
starlette starlette
tomli-w
uvicorn uvicorn
watchfiles watchfiles
]; ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
passthru.optional-dependencies = optional-dependencies; inherit optional-dependencies;
pythonImportsCheck = [ "bentoml" ]; pythonImportsCheck = [ "bentoml" ];
@ -201,16 +213,16 @@ buildPythonPackage {
]; ];
nativeCheckInputs = [ nativeCheckInputs = [
pytestCheckHook fastapi
pandas google-api-python-client
pydantic
scikit-learn
lxml lxml
orjson orjson
pytest-asyncio pandas
pillow pillow
fastapi pytest-asyncio
starlette pytest-xdist
pytestCheckHook
scikit-learn
] ++ optional-dependencies.grpc; ] ++ optional-dependencies.grpc;
meta = with lib; { meta = with lib; {
@ -222,7 +234,8 @@ buildPythonPackage {
happysalada happysalada
natsukium natsukium
]; ];
# https://github.com/bentoml/BentoML/issues/3885 # AttributeError: 'dict' object has no attribute 'schemas'
broken = versionAtLeast pydantic.version "2"; # https://github.com/bentoml/BentoML/issues/4290
broken = versionAtLeast cattrs.version "23.2";
}; };
} }