diff --git a/pkgs/development/python-modules/attacut/default.nix b/pkgs/development/python-modules/attacut/default.nix new file mode 100644 index 000000000000..70e8a98ccfd4 --- /dev/null +++ b/pkgs/development/python-modules/attacut/default.nix @@ -0,0 +1,73 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchpatch, + + setuptools, + + pytestCheckHook, + + docopt, + fire, + numpy, + python-crfsuite, + pyyaml, + six, + ssg, + torch, +}: + +buildPythonPackage rec { + pname = "attacut"; + version = "1.1.0-dev"; + pyproject = true; + + src = fetchFromGitHub { + owner = "PyThaiNLP"; + repo = "attacut"; + rev = "refs/tags/v${version}"; + hash = "sha256-x3JJC1Xd+tsOAHJEHGzIrhIrNGSvLSanAFc7+uXb2Kk="; + }; + + # no more need, see patch... + postPatch = '' + sed -i "/nptyping>=/d" setup.py + ''; + + patches = [ + (fetchpatch { + name = "fix-nptyping-deprecated-array.patch"; + url = "https://github.com/PyThaiNLP/attacut/commit/a707297b3f08a015d32d8ac241aa8cb11128cbd4.patch"; + includes = [ "attacut/evaluation.py" ]; + hash = "sha256-k2DJPwiH1Fyf5u6+zavx0bankCXsJVZrw1MGcf8ZL+M="; + }) + ]; + + build-system = [ setuptools ]; + + dependencies = [ + docopt + fire + numpy + python-crfsuite + pyyaml + six + ssg + torch + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pytestFlagsArray = [ "tests/*" ]; + + pythonImportsCheck = [ "attacut" ]; + + meta = with lib; { + description = "A Fast and Accurate Neural Thai Word Segmenter"; + homepage = "https://github.com/PyThaiNLP/attacut"; + license = licenses.mit; + maintainers = with maintainers; [ vizid ]; + mainProgram = "attacut-cli"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 632a66425b20..8bc827c26504 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -925,6 +925,8 @@ self: super: with self; { atsim-potentials = callPackage ../development/python-modules/atsim-potentials { }; + attacut = callPackage ../development/python-modules/attacut { }; + attrdict = callPackage ../development/python-modules/attrdict { }; attrs = callPackage ../development/python-modules/attrs { };