diff --git a/pkgs/development/python-modules/whoosh-compat/default.nix b/pkgs/development/python-modules/whoosh-compat/default.nix new file mode 100644 index 000000000000..8f612898d8fe --- /dev/null +++ b/pkgs/development/python-modules/whoosh-compat/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hypothesis, + pytestCheckHook, + python-dateutil, + tantivy, + whoosh, +}: + +buildPythonPackage (finalAttrs: { + pname = "whoosh-compat"; + version = "0.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "stumpylog"; + repo = "whoosh-compat"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DmPrNoOGzgTDwHh1GqyTJ7PkXWu2rbWrvNj+8fnjcpE="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + python-dateutil + ]; + + optional-dependencies = { + tantivy = [ tantivy ]; + }; + + nativeCheckInputs = [ + hypothesis + pytestCheckHook + whoosh + ] + ++ finalAttrs.passthru.optional-dependencies.tantivy; + + pythonImportsCheck = [ "whoosh_compat" ]; + + meta = { + description = "Whoosh query-language parser emitting programmatic tantivy queries"; + homepage = "https://github.com/stumpylog/whoosh-compat/"; + changelog = "https://github.com/stumpylog/whoosh-compat/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ SuperSandro2000 ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 33447fd4ffaa..f292cc9afe5f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -22647,6 +22647,8 @@ self: super: with self; { whoosh = callPackage ../development/python-modules/whoosh { }; + whoosh-compat = callPackage ../development/python-modules/whoosh-compat { }; + whoosh-reloaded = callPackage ../development/python-modules/whoosh-reloaded { }; widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };