20 , opentelemetry-instrumentation
21 , opentelemetry-instrumentation-aiohttp-client
22 , opentelemetry-instrumentation-asgi
24 , opentelemetry-semantic-conventions
25 , opentelemetry-util-http
28 , pip-requirements-parser
46 , grpcio-health-checking
47 , opentelemetry-instrumentation-grpc
56 , opentelemetry-exporter-otlp-proto-http
57 # https://pypi.org/project/opentelemetry-exporter-jaeger-proto-grpc/
58 # , opentelemetry-exporter-jaeger # support for this exporter ends in july 2023
59 , opentelemetry-exporter-otlp
60 # , opentelemetry-exporter-zipkin
76 grpcio-health-checking
77 opentelemetry-instrumentation-grpc
80 io-file = [ filetype ];
81 io-image = io-file ++ [ pillow ];
82 io-json = [ pydantic ];
83 io-pandas = [ pandas pyarrow ];
84 grpc-reflection = grpc ++ [ grpcio-reflection ];
85 grpc-channelz = grpc ++ [ grpcio-channelz ];
86 monitor-otlp = [ opentelemetry-exporter-otlp-proto-http ];
87 # tracing-jaeger = [ opentelemetry-exporter-jaeger ];
88 tracing-otlp = [ opentelemetry-exporter-otlp ];
89 # tracing-zipkin = [ opentelemetry-exporter-zipkin ];
90 io = io-json ++ io-image ++ io-pandas ++ io-file;
91 tracing = tracing-otlp; # ++ tracing-zipkin ++ tracing-jaeger
92 optional-dependencies = {
93 all = aws ++ io ++ grpc ++ grpc-reflection ++ grpc-channelz ++ tracing ++ monitor-otlp;
94 inherit aws grpc io-file io-image io-json io-pandas io grpc-reflection
95 grpc-channelz monitor-otlp tracing-otlp tracing;
96 triton = [ tritonclient ] ++ tritonclient.optional-dependencies.http ++ tritonclient.optional-dependencies.grpc;
102 format = "pyproject";
104 src = fetchFromGitHub {
107 rev = "refs/tags/v${version}";
108 hash = "sha256-+5enRlk05IGdsNY6KIzYgh7vGRua0duI57o/AIevcdM=";
111 # https://github.com/bentoml/BentoML/pull/4227 should fix this test
113 substituteInPlace tests/unit/_internal/utils/test_analytics.py \
114 --replace "requests" "httpx"
118 "opentelemetry-semantic-conventions"
121 nativeBuildInputs = [
126 propagatedBuildInputs = [
141 opentelemetry-instrumentation
142 opentelemetry-instrumentation-aiohttp-client
143 opentelemetry-instrumentation-asgi
145 opentelemetry-semantic-conventions
146 opentelemetry-util-http
149 pip-requirements-parser
167 passthru.optional-dependencies = optional-dependencies;
169 pythonImportsCheck = [ "bentoml" ];
172 # required for CI testing
173 # https://github.com/bentoml/BentoML/pull/4056/commits/66302b502a3f4df4e8e6643d2afefefca974073e
174 export GITHUB_ACTIONS=1
177 disabledTestPaths = [
187 nativeCheckInputs = [
198 ] ++ optional-dependencies.grpc;
202 description = "Build Production-Grade AI Applications";
203 homepage = "https://github.com/bentoml/BentoML";
204 changelog = "https://github.com/bentoml/BentoML/releases/tag/v${version}";
205 license = licenses.asl20;
206 maintainers = with maintainers; [ happysalada natsukium ];