From a3405dfa2624ba5800ffb914922649b590cc2ba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sun, 16 May 2021 09:17:55 +0200 Subject: [PATCH] python3Packages.spacy-alignments: init at 0.8.3 Package to align tokenizations for spaCy + transformers. --- .../spacy-alignments/default.nix | 60 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 62 insertions(+) create mode 100644 pkgs/development/python-modules/spacy-alignments/default.nix diff --git a/pkgs/development/python-modules/spacy-alignments/default.nix b/pkgs/development/python-modules/spacy-alignments/default.nix new file mode 100644 index 00000000000..0ac1edfd503 --- /dev/null +++ b/pkgs/development/python-modules/spacy-alignments/default.nix @@ -0,0 +1,60 @@ +{ lib +, stdenv +, fetchPypi +, fetchpatch +, buildPythonPackage +, isPy3k +, rustPlatform +, setuptools-rust +, libiconv +}: + +buildPythonPackage rec { + pname = "spacy-alignments"; + version = "0.8.3"; + + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + hash = "sha256-zrqBjaIjtF6bJMbmw7Zo+BeApN6sxxfLkrzsDjdvC78="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit patches src; + name = "${pname}-${version}"; + hash = "sha256-YRyG2yflEXKklNqXiDD9oK3J1lq4o704+Eeu2hyY3xI="; + }; + + patches = [ + # Add Cargo.lock, from upstream PR: + # https://github.com/explosion/spacy-alignments/pull/3 + (fetchpatch { + url = "https://github.com/explosion/spacy-alignments/commit/7b0ba13ff0d245bfbbe344a36fb7bbd311dd4906.diff"; + sha256 = "sha256-jx97SSC+3z+ByInNs8Uq58H50eCo4fDCwEi6VKxRs2k="; + excludes = [ ".gitignore" ]; + }) + ]; + + nativeBuildInputs = [ + setuptools-rust + ] ++ (with rustPlatform; [ + cargoSetupHook + rust.cargo + rust.rustc + ]); + + buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; + + # Fails because spacy_alignments module cannot be loaded correctly. + doCheck = false; + + pythonImportsCheck = [ "spacy_alignments" ]; + + meta = with lib; { + description = "Align tokenizations for spaCy and transformers"; + homepage = "https://github.com/explosion/spacy-alignments"; + license = licenses.mit; + maintainers = with maintainers; [ danieldk ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7c63f819028..514ce9626e6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7716,6 +7716,8 @@ in { spacy = callPackage ../development/python-modules/spacy { }; + spacy-alignments = callPackage ../development/python-modules/spacy-alignments { }; + spacy-legacy = callPackage ../development/python-modules/spacy/legacy.nix { }; spacy_models = callPackage ../development/python-modules/spacy/models.nix { };