diff --git a/pkgs/development/python-modules/dedupe-pylbfgs/default.nix b/pkgs/development/python-modules/dedupe-pylbfgs/default.nix new file mode 100644 index 000000000000..83b031473cd9 --- /dev/null +++ b/pkgs/development/python-modules/dedupe-pylbfgs/default.nix @@ -0,0 +1,59 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + cython, + numpy, + setuptools, + + # tests + pytest-cov-stub, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "dedupe-pylbfgs"; + version = "0.2.0.16"; + pyproject = true; + + # NOTE: This is a fork of larsmans/pylbfgs maintained by dedupeio + src = fetchFromGitHub { + owner = "dedupeio"; + repo = "pylbfgs"; + tag = "${version}"; + hash = "sha256-H416dgZQxyqsnhmlK5keW8cJWY6gea4mebVuP0IEVOU="; + }; + + build-system = [ + cython + numpy + setuptools + ]; + + dependencies = [ + numpy + ]; + + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; + + # Prevent importing from source during test collection (only $out has compiled extensions) + preCheck = '' + rm -rf lbfgs + ''; + + pythonImportsCheck = [ + "lbfgs" + ]; + + meta = { + description = "Python wrapper for L-BFGS and OWL-QN optimization algorithms"; + homepage = "https://github.com/dedupeio/pylbfgs"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ daniel-fahey ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f568dda5a799..b50cb59036bd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3538,6 +3538,8 @@ self: super: with self; { dedupe-levenshtein-search = callPackage ../development/python-modules/dedupe-levenshtein-search { }; + dedupe-pylbfgs = callPackage ../development/python-modules/dedupe-pylbfgs { }; + deebot-client = callPackage ../development/python-modules/deebot-client { }; deemix = callPackage ../development/python-modules/deemix { };