diff --git a/pkgs/development/python-modules/bentoml/default.nix b/pkgs/development/python-modules/bentoml/default.nix index 12f5cf61a0c0..962a32b5f0d0 100644 --- a/pkgs/development/python-modules/bentoml/default.nix +++ b/pkgs/development/python-modules/bentoml/default.nix @@ -1,40 +1,42 @@ { lib, stdenv, - buildPythonPackage, - fetchFromGitHub, - pythonOlder, - hatchling, - hatch-vcs, + a2wsgi, aiohttp, aiosqlite, attrs, + buildPythonPackage, cattrs, circus, - click, click-option-group, + click, cloudpickle, deepmerge, - fs, + fetchFromGitHub, fs-s3fs, - grpcio, + fs, + fsspec, grpcio-channelz, grpcio-health-checking, grpcio-reflection, - httpx, + grpcio, + hatch-vcs, + hatchling, httpx-ws, + httpx, inflection, inquirerpy, jinja2, + kantoku, numpy, nvidia-ml-py, opentelemetry-api, - opentelemetry-exporter-otlp, opentelemetry-exporter-otlp-proto-http, - opentelemetry-instrumentation, + opentelemetry-exporter-otlp, opentelemetry-instrumentation-aiohttp-client, opentelemetry-instrumentation-asgi, opentelemetry-instrumentation-grpc, + opentelemetry-instrumentation, opentelemetry-sdk, opentelemetry-semantic-conventions, opentelemetry-util-http, @@ -51,13 +53,15 @@ python-dateutil, python-json-logger, python-multipart, + pythonOlder, pyyaml, + questionary, rich, schema, simple-di, starlette, - tomli, tomli-w, + tomli, tritonclient, uv, uvicorn, @@ -71,10 +75,11 @@ orjson, pytest-asyncio, fastapi, + writableTmpDirAsHomeHook, }: let - version = "1.4.19"; + version = "1.4.23"; aws = [ fs-s3fs ]; grpc = [ grpcio @@ -124,7 +129,7 @@ let owner = "bentoml"; repo = "BentoML"; tag = "v${version}"; - hash = "sha256-sRQfjB3K5F6lYeW92O7BV2slQ+DRCuMTVqRG8vT+9wc="; + hash = "sha256-p9d8TyN09jJ2VotaAvbC9jxJ5kNC2S7VhkatzrDJ1TY="; }; in buildPythonPackage { @@ -134,6 +139,7 @@ buildPythonPackage { pythonRelaxDeps = [ "cattrs" + "fsspec" "nvidia-ml-py" "opentelemetry-api" "opentelemetry-instrumentation-aiohttp-client" @@ -150,6 +156,7 @@ buildPythonPackage { ]; dependencies = [ + a2wsgi aiohttp aiosqlite attrs @@ -160,11 +167,13 @@ buildPythonPackage { cloudpickle deepmerge fs + fsspec httpx httpx-ws inflection inquirerpy jinja2 + kantoku numpy nvidia-ml-py opentelemetry-api @@ -184,6 +193,7 @@ buildPythonPackage { python-json-logger python-multipart pyyaml + questionary rich schema simple-di @@ -208,11 +218,15 @@ buildPythonPackage { disabledTestPaths = [ "tests/e2e" "tests/integration" + "tests/unit/grpc" + "tests/unit/_internal/" ]; disabledTests = [ # flaky test "test_store" + # + "test_log_collection" ]; nativeCheckInputs = [ @@ -226,6 +240,7 @@ buildPythonPackage { pytest-xdist pytestCheckHook scikit-learn + writableTmpDirAsHomeHook ] ++ optional-dependencies.grpc; @@ -238,8 +253,5 @@ buildPythonPackage { happysalada natsukium ]; - # AttributeError: 'dict' object has no attribute 'schemas' - # https://github.com/bentoml/BentoML/issues/4290 - broken = versionAtLeast cattrs.version "23.2"; }; } diff --git a/pkgs/development/python-modules/kantoku/default.nix b/pkgs/development/python-modules/kantoku/default.nix new file mode 100644 index 000000000000..08d5c6c0f626 --- /dev/null +++ b/pkgs/development/python-modules/kantoku/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + flit-core, + gevent, + mock, + psutil, + pytest-cov-stub, + pytestCheckHook, + pyyaml, + pyzmq, + tornado, +}: + +buildPythonPackage rec { + pname = "kantoku"; + version = "0.18.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "bentoml"; + repo = "kantoku"; + tag = version; + hash = "sha256-pI79B7TDZwL4Jz5e7PDPIf8iIGiwCOKFI2jReUt8UNg="; + }; + + build-system = [ flit-core ]; + + dependencies = [ + psutil + pyzmq + tornado + ]; + + nativeCheckInputs = [ + gevent + mock + pytest-cov-stub + pytestCheckHook + pyyaml + ]; + + pythonImportsCheck = [ "circus" ]; + + disabledTests = [ + # AssertionError + "test_streams" + ]; + + meta = { + description = "A Process & Socket Manager built with zmq"; + homepage = "https://github.com/bentoml/kantoku"; + changelog = "https://github.com/bentoml/kantoku/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9e7bfc8df7f1..70d1d8e7b74f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7723,6 +7723,8 @@ self: super: with self; { kanidm = callPackage ../development/python-modules/kanidm { }; + kantoku = callPackage ../development/python-modules/kantoku { }; + kaptan = callPackage ../development/python-modules/kaptan { }; karton-asciimagic = callPackage ../development/python-modules/karton-asciimagic { };