diff --git a/pkgs/development/python-modules/wiktextract/default.nix b/pkgs/development/python-modules/wiktextract/default.nix new file mode 100644 index 000000000000..a1e5f04d75f0 --- /dev/null +++ b/pkgs/development/python-modules/wiktextract/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + levenshtein, + nltk, + pydantic, + wikitextprocessor, + unstableGitUpdater, +}: + +buildPythonPackage { + pname = "wiktextract"; + version = "1.99.7-unstable-2026-03-26"; + pyproject = true; + + src = fetchFromGitHub { + owner = "tatuylonen"; + repo = "wiktextract"; + rev = "f47b8fc87a0e17f4dcca68f534e73f4c6fa8e8e7"; + hash = "sha256-U9Xm3vRAvONN/DwyhEEM54eiBnv7JKAEXPolK9HfJU8="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + levenshtein + nltk + pydantic + wikitextprocessor + ]; + + # It requires Internet + doCheck = false; + + pythonImportsCheck = [ "wiktextract" ]; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + description = "Wiktionary dump file parser and multilingual data extractor"; + homepage = "https://github.com/tatuylonen/wiktextract"; + license = with lib.licenses; [ + mit + cc-by-sa-40 # Needed for certain test files under Wiktionary licence + ]; + maintainers = with lib.maintainers; [ theobori ]; + mainProgram = "wiktwords"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a1045bce1702..ca1951e4faff 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -21067,6 +21067,8 @@ self: super: with self; { wikitextprocessor = callPackage ../development/python-modules/wikitextprocessor { }; + wiktextract = callPackage ../development/python-modules/wiktextract { }; + willow = callPackage ../development/python-modules/willow { }; winacl = callPackage ../development/python-modules/winacl { };