summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/spacy-alignments
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/spacy-alignments')
-rw-r--r--pkgs/development/python-modules/spacy-alignments/default.nix60
1 files changed, 60 insertions, 0 deletions
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 000000000000..0ac1edfd5034
--- /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 ];
+ };
+}