diff --git a/pkgs/development/python-modules/scholarly/default.nix b/pkgs/development/python-modules/scholarly/default.nix new file mode 100644 index 000000000000..39f24bbc2781 --- /dev/null +++ b/pkgs/development/python-modules/scholarly/default.nix @@ -0,0 +1,69 @@ +{ + lib, + arrow, + beautifulsoup4, + bibtexparser, + buildPythonPackage, + deprecated, + fake-useragent, + fetchFromGitHub, + free-proxy, + httpx, + python-dotenv, + requests, + selenium, + setuptools, + sphinx-rtd-theme, + stem, + typing-extensions, + wheel, +}: + +buildPythonPackage rec { + pname = "scholarly"; + version = "1.7.11"; + pyproject = true; + + src = fetchFromGitHub { + owner = "scholarly-python-package"; + repo = "scholarly"; + tag = "v${version}"; + hash = "sha256-yvew63tGwSjwseHK7wDqm26xiyCztUzxMqBpwwLD798="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + arrow + beautifulsoup4 + bibtexparser + deprecated + fake-useragent + free-proxy + httpx + python-dotenv + requests + selenium + sphinx-rtd-theme + typing-extensions + ]; + + optional-dependencies = { + tor = [ stem ]; + }; + + nativeCheckInputs = lib.flatten (lib.attrValues optional-dependencies); + + pythonImportsCheck = [ "scholarly" ]; + + meta = { + description = "Retrieve author and publication information from Google Scholar"; + homepage = "https://scholarly.readthedocs.io/"; + changelog = "https://github.com/scholarly-python-package/scholarly/releases/tag/${src.tag}"; + license = lib.licenses.unlicense; + maintainers = with lib.maintainers; [ getchoo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d6b1e24acb07..4de56619ca59 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14850,6 +14850,8 @@ self: super: with self; { schiene = callPackage ../development/python-modules/schiene { }; + scholarly = callPackage ../development/python-modules/scholarly { }; + schwifty = callPackage ../development/python-modules/schwifty { }; scienceplots = callPackage ../development/python-modules/scienceplots { };