diff --git a/pkgs/development/python-modules/textnets/default.nix b/pkgs/development/python-modules/textnets/default.nix new file mode 100644 index 000000000000..da3da57d35d9 --- /dev/null +++ b/pkgs/development/python-modules/textnets/default.nix @@ -0,0 +1,75 @@ +{ lib +, buildPythonPackage +, cairocffi +, cython +, fetchFromGitHub +, igraph +, leidenalg +, pandas +, poetry-core +, pytestCheckHook +, pythonOlder +, scipy +, setuptools +, spacy +, en_core_web_sm +, toolz +, tqdm +, wasabi +}: + +buildPythonPackage rec { + pname = "textnets"; + version = "0.8.7"; + format = "pyproject"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "jboynyc"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-BBndY+3leJBxiImuyRL7gMD5eocE4i96+97I9hDEwec="; + }; + + nativeBuildInputs = [ + cython + poetry-core + setuptools + ]; + + propagatedBuildInputs = [ + cairocffi + igraph + leidenalg + pandas + scipy + spacy + toolz + tqdm + wasabi + ]; + + # Deselect test of experimental feature that fails due to having an + # additional dependency. + disabledTests = [ + "test_context" + ]; + + nativeCheckInputs = [ + pytestCheckHook + en_core_web_sm + ]; + + pythonImportsCheck = [ + "textnets" + ]; + + meta = with lib; { + description = "Text analysis with networks"; + homepage = "https://textnets.readthedocs.io"; + changelog = "https://github.com/jboynyc/textnets/blob/v${version}/HISTORY.rst"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ jboy ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 70250fc1a0a6..7fac26acf4c3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11496,6 +11496,10 @@ self: super: with self; { textacy = callPackage ../development/python-modules/textacy { }; + textnets = callPackage ../development/python-modules/textnets { + en_core_web_sm = spacy_models.en_core_web_sm; + }; + texttable = callPackage ../development/python-modules/texttable { }; text-unidecode = callPackage ../development/python-modules/text-unidecode { };