diff --git a/pkgs/by-name/do/docling-serve/package.nix b/pkgs/by-name/do/docling-serve/package.nix new file mode 100644 index 000000000000..79d8d642a03a --- /dev/null +++ b/pkgs/by-name/do/docling-serve/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.docling-serve diff --git a/pkgs/development/python-modules/docling-serve/default.nix b/pkgs/development/python-modules/docling-serve/default.nix new file mode 100644 index 000000000000..3d8d487cf8ff --- /dev/null +++ b/pkgs/development/python-modules/docling-serve/default.nix @@ -0,0 +1,63 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + setuptools-scm, + # python dependencies + docling, + fastapi, + httpx, + pydantic-settings, + python-multipart, + uvicorn, + websockets, +}: + +buildPythonPackage rec { + pname = "docling-serve"; + version = "0.7.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "docling-project"; + repo = "docling-serve"; + tag = "v${version}"; + hash = "sha256-QasHVoJITOuys4hASwC43eIy5854G12Yvu7Zncr9ia8="; + }; + + build-system = [ + hatchling + setuptools-scm + ]; + + pythonRelaxDeps = [ + "websockets" + ]; + + dependencies = [ + docling + fastapi + httpx + pydantic-settings + python-multipart + uvicorn + websockets + ]; + + pythonImportsCheck = [ + "docling_serve" + ]; + + # Require network + doCheck = false; + + meta = { + changelog = "https://github.com/docling-project/docling-serve/blob/${src.tag}/CHANGELOG.md"; + description = "Running Docling as an API service"; + homepage = "https://github.com/docling-project/docling-serve"; + license = lib.licenses.mit; + mainProgram = "docling-serve"; + maintainers = with lib.maintainers; [ drupol ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c30bcb888305..3b56c7d123f6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4005,6 +4005,8 @@ self: super: with self; { loguru-cpp = pkgs.loguru; }; + docling-serve = callPackage ../development/python-modules/docling-serve { }; + docloud = callPackage ../development/python-modules/docloud { }; docopt = callPackage ../development/python-modules/docopt { };