diff --git a/pkgs/development/python-modules/smg-grpc-proto/default.nix b/pkgs/development/python-modules/smg-grpc-proto/default.nix new file mode 100644 index 000000000000..5f25a0871d70 --- /dev/null +++ b/pkgs/development/python-modules/smg-grpc-proto/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + grpcio-tools, + setuptools, +}: +buildPythonPackage (finalAttrs: { + pname = "smg-grpc-proto"; + version = "0.4.8"; + pyproject = true; + __structuredAttrs = true; + + # No tags on GitHub + src = fetchPypi { + format = "setuptools"; + pname = "smg_grpc_proto"; + inherit (finalAttrs) version; + hash = "sha256-BK2sEbhHsa5/+yej9SB5A06SHB+9oCuuMmwENHJPyHY="; + }; + + build-system = [ + grpcio-tools + setuptools + ]; + + postInstall = '' + find $out -name __pycache__ -type d | xargs rm -rv + ''; + + env.PYTHONDONTWRITEBYTECODE = 1; + + pythonImportsCheck = [ "smg_grpc_proto" ]; + + # no tests + doCheck = false; + + meta = { + description = "SMG gRPC proto definitions for SGLang, vLLM, TRT-LLM, and MLX"; + homepage = "https://github.com/lightseekorg/smg/tree/main/crates/grpc_client/python"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ prince213 ]; + }; +}) diff --git a/pkgs/development/python-modules/smg-grpc-servicer/default.nix b/pkgs/development/python-modules/smg-grpc-servicer/default.nix new file mode 100644 index 000000000000..701466ef7a54 --- /dev/null +++ b/pkgs/development/python-modules/smg-grpc-servicer/default.nix @@ -0,0 +1,57 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + grpcio, + grpcio-health-checking, + grpcio-reflection, + smg-grpc-proto, +}: +buildPythonPackage (finalAttrs: { + pname = "smg-grpc-servicer"; + version = "0.5.3"; + pyproject = true; + __structuredAttrs = true; + + # No tags on GitHub + src = fetchPypi { + format = "setuptools"; + pname = "smg_grpc_servicer"; + inherit (finalAttrs) version; + hash = "sha256-/stjZWK+5XSTmD9iIRWq+dqthd5kRhty6F7Ffvbfr74="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + grpcio + grpcio-health-checking + grpcio-reflection + smg-grpc-proto + ]; + + postInstall = '' + find $out -name __pycache__ -type d | xargs rm -rv + ''; + + env.PYTHONDONTWRITEBYTECODE = 1; + + pythonImportsCheck = [ "smg_grpc_servicer" ]; + + # no tests + doCheck = false; + + meta = { + description = "SMG gRPC servicer implementations for LLM inference engines (vLLM, SGLang, MLX)"; + homepage = "https://github.com/lightseekorg/smg/tree/main/grpc_servicer"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ prince213 ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 135ff46d3ec3..99e3fab63d9b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18222,6 +18222,10 @@ self: super: with self; { smdebug-rulesconfig = callPackage ../development/python-modules/smdebug-rulesconfig { }; + smg-grpc-proto = callPackage ../development/python-modules/smg-grpc-proto { }; + + smg-grpc-servicer = callPackage ../development/python-modules/smg-grpc-servicer { }; + smhi-pkg = callPackage ../development/python-modules/smhi-pkg { }; smllib = callPackage ../development/python-modules/smllib { };